Skip to content

MCP client configuration

The Postern MCP server runs two ways: stdio for local hosts (the host spawns the process) and hosted HTTP (you connect to a running deployment). Pick the snippet for your host.

Requires Node ≥ 18.18.

Terminal window
npm install -g @postern/mcp # or run on demand via npx
Terminal window
# stdio — for local hosts
postern-mcp
# hosted — MCP Streamable HTTP at POST /mcp (default :8787)
postern-mcp --http --port 8787

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

claude_desktop_config.json
{
"mcpServers": {
"postern": {
"command": "npx",
"args": ["-y", "@postern/mcp"],
"env": {
"POSTERN_API_BASE_URL": "https://api.agents.mszazu.com",
"POSTERN_API_KEY": "pk_agent_…"
}
}
}
}

Running from a local checkout instead of npm:

claude_desktop_config.json (local checkout)
{
"mcpServers": {
"postern": {
"command": "node",
"args": ["/absolute/path/to/postern/mcp/dist/bin.js"],
"env": { "POSTERN_API_KEY": "pk_agent_…" }
}
}
}

Add the server with one command (stdio):

Terminal window
claude mcp add postern \
--env POSTERN_API_BASE_URL=https://api.agents.mszazu.com \
--env POSTERN_API_KEY=pk_agent_… \
-- npx -y @postern/mcp

Or connect to a hosted deployment over HTTP (pass your scoped key as a bearer header):

Terminal window
claude mcp add --transport http postern https://api.agents.mszazu.com/mcp \
--header "Authorization: Bearer pk_agent_…"

~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

.cursor/mcp.json
{
"mcpServers": {
"postern": {
"command": "npx",
"args": ["-y", "@postern/mcp"],
"env": {
"POSTERN_API_BASE_URL": "https://api.agents.mszazu.com",
"POSTERN_API_KEY": "pk_agent_…"
}
}
}
}

Use a scoped agent key (pk_agent_…) or an enrollment key (pk_enroll_…) — never an org-wide credential. With an enrollment key, the host’s first move is redeem_enrollment, which mints the agent key it then uses. See Authentication & keys.