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.
Create an API key
Section titled “Create an API key”- Open the OutboundSync dashboard → Platform access → API keys.
- Create a key with at least
readscope (addwriteonly if agents may mutate after explicit confirmation). - 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.
export OUTBOUNDSYNC_API_KEY=osapi_...Cursor
Section titled “Cursor”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.
Claude Code
Section titled “Claude Code”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:
export OUTBOUNDSYNC_API_KEY=osapi_...
codex mcp add outboundsync \ --url https://mcp.outboundsync.com/mcp \ --bearer-token-env-var OUTBOUNDSYNC_API_KEYOr 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.
Other MCP clients
Section titled “Other MCP clients”Any client that supports Streamable HTTP MCP can connect with:
| Setting | Value |
|---|---|
| URL | https://mcp.outboundsync.com/mcp |
| Auth | Authorization: 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.
Smoke test
Section titled “Smoke test”After connecting, call get_me, then get_account_status.
Recommended call order
Section titled “Recommended call order”get_me— confirms the key, scope, and accessible connections.get_account_status— blockers, warnings, per-connection readiness.list_sources— inbound Sources paste URLs when wiring sequencers.- 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.
Security
Section titled “Security”- Treat API keys like secrets —
readaccess 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.comand does not log it.
Repo and tool list: github.com/outboundsync/mcp.