PostStreamDocs
Open app
Docs menu
← All docs

Connect an agent

Pick your app below. Every path is: create a token, tell the app about PostStream, restart it. About 5 minutes.

Before you start

  • An MCP-capable app — Claude Desktop, Cursor, or any client that accepts a remote MCP server URL. (Claude in a browser and the mobile apps don't support this yet.)
  • A PostStream account with an active paid plan — or a beta-whitelisted email (ask your PostStream contact).
  • Node.js 20+ if you're using the npx config (Claude Desktop / Cursor). Not needed for the URL-only method.

Step 1 — create a token

  1. 1

    Open Settings → AI agents

    In the PostStream dashboard, open Settings → AI agents. If you see an “upgrade” box, your plan isn't active yet.
  2. 2

    Click “New token” and pick permissions

    Give it a name (e.g. “Claude Desktop”) and choose scopes. posts:read, posts:write and accounts:read are on by default and cover scheduling. Leave the rest off unless you need them.
  3. 3

    Copy the token

    It looks like psk_live_XXXXXXXX… and is shown once. Treat it like a password — anyone with it can act on your account within those permissions.
Prefer not to paste a secret at all? Use the one-click Connect flow instead — see Any other client.

Claude Desktop

  1. 1

    Open the config file

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows: %APPDATA%\Claude\claude_desktop_config.json

    If it doesn't exist, create it. In Claude Desktop you can also open it from Settings → Developer → Edit Config.

  2. 2

    Add the PostStream server

    Paste this, replacing psk_live_xxxxxxxx with your token. If the file already has anmcpServers block, add the "poststream" entry inside it.
    claude_desktop_config.json
    {
      "mcpServers": {
        "poststream": {
          "command": "npx",
          "args": ["-y", "@poststreamai/mcp"],
          "env": { "POSTSTREAM_TOKEN": "psk_live_xxxxxxxx" }
        }
      }
    }
  3. 3

    Restart Claude Desktop

    Fully quit and reopen it — a window reload isn't enough.
  4. 4

    Verify

    Ask Claude: “list my connected PostStream accounts”. You should see your accounts. Try “what's in my PostStream queue?” next.

Cursor

Same idea, in .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

.cursor/mcp.json
{
  "mcpServers": {
    "poststream": {
      "command": "npx",
      "args": ["-y", "@poststreamai/mcp"],
      "env": { "POSTSTREAM_TOKEN": "psk_live_xxxxxxxx" }
    }
  }
}

Reload Cursor, then ask it to list your PostStream accounts to confirm.

Any other client — remote URL or one-click Connect

The same server also runs as a hosted endpoint at https://mcp.poststreamai.com/mcp. If your MCP client lets you add a server by URL, you have two options:

  • Pasted token — add the URL and set an Authorization: Bearer psk_live_… header, using a token from Step 1.
  • One-click Connect (OAuth) — add the URL with no token. The client discovers PostStream's sign-in, opens a browser to a consent screen where you pick permissions and click Allow, and connects itself. No secret to copy or store.

Agents connected this way show up under Connected agents in Settings → AI agents, where Disconnect revokes them immediately.

Troubleshooting

SymptomFix
The agent doesn't see the PostStream toolsFully restart the app (not a reload). Check the JSON is valid — a trailing comma breaks it.
"needs an active subscription" when creating a tokenYour plan isn't active. Subscribe, or ask an admin to whitelist your email for beta access.
"token is invalid, revoked, or the subscription has lapsed" (401)Re-copy the token, check it isn't revoked in Settings → AI agents, and confirm your plan is active.
"command not found: npx"Install Node.js 20+ (nodejs.org). Restart the app afterwards.
Corporate network / proxynpx needs to reach the npm registry once to download the package. Use the URL-only method if that's blocked.

More error codes and their meanings are on the Reference page.