Skip to content

MCP setup

When to use this guide: You have an OutboundSync API key and want to wire a coding agent to https://mcp.outboundsync.com/mcp.

  1. Open the OutboundSync dashboard → Platform access → API keys.
  2. Create a key with at least read scope (add write only if agents may mutate after explicit confirmation).
  3. Prefer a connection-scoped key when the agent only needs one CRM connection.

Full steps: Creating API keys.

Store the key in an environment variable — never commit it to git or paste it into public configs.

Terminal window
export OUTBOUNDSYNC_API_KEY=osapi_...

Add to ~/.cursor/mcp.json (or project .cursor/mcp.json):

{
"mcpServers": {
"outboundsync": {
"url": "https://mcp.outboundsync.com/mcp",
"headers": {
"Authorization": "Bearer ${env:OUTBOUNDSYNC_API_KEY}"
}
}
}
}

Cursor GUI sessions do not inherit shell .env files. Export the key into the GUI environment (for example macOS launchctl setenv OUTBOUNDSYNC_API_KEY … or a login LaunchAgent) so ${env:OUTBOUNDSYNC_API_KEY} resolves.

A Cursor plugin marketplace listing is in progress; manual mcp.json works today.

Terminal window
export OUTBOUNDSYNC_API_KEY=osapi_...
claude mcp add --transport http outboundsync https://mcp.outboundsync.com/mcp \
--header "Authorization: Bearer ${OUTBOUNDSYNC_API_KEY}"

Use env interpolation — inline keys land in shell history. Same pattern as examples/claude-code.sh in the MCP repo.

Codex reads MCP servers from ~/.codex/config.toml (or a trusted project .codex/config.toml). OutboundSync uses Bearer API key auth — not Codex OAuth login.

CLI:

Terminal window
export OUTBOUNDSYNC_API_KEY=osapi_...
codex mcp add outboundsync \
--url https://mcp.outboundsync.com/mcp \
--bearer-token-env-var OUTBOUNDSYNC_API_KEY

Or edit config.toml (same as examples/codex.toml):

[mcp_servers.outboundsync]
url = "https://mcp.outboundsync.com/mcp"
bearer_token_env_var = "OUTBOUNDSYNC_API_KEY"

Verify with codex mcp list or /mcp in a Codex session. See OpenAI Codex MCP docs for other client options.

Any client that supports Streamable HTTP MCP can connect with:

SettingValue
URLhttps://mcp.outboundsync.com/mcp
AuthAuthorization: Bearer osapi_... (same dashboard key as REST)

Use your client’s MCP settings UI or config file to register the URL and Bearer header. See the Model Context Protocol site for client-specific steps.

Not supported yet: claude.ai and Claude Desktop remote Connectors (OAuth). Use Claude Code or Cursor with a Bearer key instead.

After connecting, call get_me, then get_account_status.

  1. get_me — confirms the key, scope, and accessible connections.
  2. get_account_status — blockers, warnings, per-connection readiness.
  3. list_sources — inbound Sources paste URLs when wiring sequencers.
  4. Pick observability or repair tools by job — see API v1 reference.

For the full launch-readiness gauge (same output with or without MCP), install the Preflight Agent Skill or ask your agent to follow it — the skill prefers MCP tools when connected and falls back to REST.

  • Treat API keys like secrets — read access can return Sources paste URLs.
  • Confirm with the user before write tools (retry_sync, replays, blocklist pause/resync, webhook mutations).
  • The MCP server forwards your Bearer token to app.outboundsync.com and does not log it.

Repo and tool list: github.com/outboundsync/mcp.