Skip to content

Remote MCP

The remote MCP lets you use SIPPulse AI from inside an MCP client: Claude, Cursor, VS Code, ChatGPT or any client that speaks Streamable HTTP with OAuth discovery. You authorize in the browser, choose the organization and the project, and the client gets the platform tools.

Every connection uses the same URL:

https://api.sippulse.ai/mcp

This is the SIPPulse AI MCP server itself. To connect your agents to third-party MCP servers, see MCP Servers and MCP Connections.

How the connection works

The MCP client discovers the OAuth configuration by itself, from the MCP URL:

  1. The client reaches the URL and receives the authorization server location.
  2. The browser opens the SIPPulse AI consent screen.
  3. The screen shows the application asking for access, the organization, the project and the permissions involved.
  4. You approve or deny. When you approve, the client receives a token and can call the tools.
  5. The token refreshes automatically while the access stays valid.
  6. If the token expires or is revoked, the client asks for authorization again.

Every consent is bound to one organization and to a project you can access. The access combines your current role in the organization with the granted permissions. You cannot widen the access later: to grant more permissions, the authorization has to be repeated.

Configure your client

Claude Code

bash
claude mcp add --transport http sippulse https://api.sippulse.ai/mcp

Cursor and VS Code

In the client's mcp.json file:

json
{
  "servers": {
    "sippulse": {
      "type": "http",
      "url": "https://api.sippulse.ai/mcp"
    }
  }
}

Claude.ai (custom connector)

In Claude.ai, add a custom MCP connector and paste https://api.sippulse.ai/mcp as the server address. Other clients that accept a custom connector, such as ChatGPT, use the same URL and the same browser authorization flow.

API key for automation

For automations that do not go through interactive consent, use an API key in the Authorization header:

Authorization: Bearer <your_api_key>

An API key bound to a project fixes that project and does not prompt in the browser. It grants the full MCP tool catalog, so store it like any other credential. The key must have the same permissions the tool needs: the platform checks the key's RBAC, and an API key does not bypass permissions.

Permissions (scopes)

ScopeWhat it allows
spai:agents:readRead agents and the internal tools catalog
spai:agents:writeCreate, edit, validate and delete agents
spai:agents:executeRun a real turn in a thread
spai:secrets:readSee secret names only
spai:channels:readRead SIP, WhatsApp and Telegram deployments
spai:channels:writeCreate, edit, activate, deactivate and delete deployments
spai:threads:readRead thread metadata and a bounded history slice
spai:threads:writeCreate, close and delete threads
spai:models:readRead the organization model catalog

Reading, writing and executing are different permissions: reading never changes anything, writing creates and modifies, and executing actually runs a turn. A read-only authorization changes nothing, not even for owners and admins.

Available tools

Every tool is exposed by the MCP itself. The Cost column says whether the call consumes credits from your organization.

Agents

ToolWhat it doesScopeCost
agents_listLists the agents in the effective projectspai:agents:readNo
agents_getReturns one sanitized agentspai:agents:readNo
agents_validateValidates the model configuration without writing the agentspai:agents:writeNo
agents_createCreates an agent without accepting secret materialspai:agents:writeNo
agents_updateUpdates an agent without accepting secret materialspai:agents:writeNo
agents_deleteDeletes an agent after explicit confirmationspai:agents:writeNo
internal_tools_listLists the catalog of internal agent toolsspai:agents:readNo

Models

ToolWhat it doesScopeCost
models_listLists the organization models and their capabilitiesspai:models:readNo
models_getReturns a model and its agent parameter schemaspai:models:readNo

Secrets

ToolWhat it doesScopeCost
secrets_listLists secret names only; values and metadata are never returnedspai:secrets:readNo

SIP

ToolWhat it doesScopeCost
sip_deployments_listLists SIP deploymentsspai:channels:readNo
sip_deployments_getReturns one SIP deploymentspai:channels:readNo
sip_deployments_applyApplies a SIP deployment using project secret referencesspai:channels:writeNo

WhatsApp

ToolWhat it doesScopeCost
whatsapp_deployments_listLists WhatsApp deploymentsspai:channels:readNo
whatsapp_deployments_getReturns one WhatsApp deploymentspai:channels:readNo
whatsapp_deployments_createCreates a WhatsApp deploymentspai:channels:writeNo
whatsapp_deployments_updateUpdates a WhatsApp deploymentspai:channels:writeNo
whatsapp_deployments_activateActivates a WhatsApp deploymentspai:channels:writeNo
whatsapp_deployments_deactivateDeactivates a WhatsApp deploymentspai:channels:writeNo
whatsapp_deployments_deleteDeletes a WhatsApp deployment after explicit confirmationspai:channels:writeNo

Telegram

ToolWhat it doesScopeCost
telegram_deployments_listLists Telegram deploymentsspai:channels:readNo
telegram_deployments_getReturns one Telegram deploymentspai:channels:readNo
telegram_deployments_createCreates a Telegram deployment using secret namesspai:channels:writeNo
telegram_deployments_updateUpdates a Telegram deploymentspai:channels:writeNo
telegram_deployments_activateActivates a Telegram deploymentspai:channels:writeNo
telegram_deployments_deactivateDeactivates a Telegram deploymentspai:channels:writeNo
telegram_deployments_deleteDeletes a Telegram deployment after explicit confirmationspai:channels:writeNo

Threads

ToolWhat it doesScopeCost
threads_listLists thread metadata without historyspai:threads:readNo
threads_getReturns a bounded sanitized threadspai:threads:readNo
threads_createCreates a thread for an agentspai:threads:writeNo
threads_runRuns one turn in a threadspai:agents:executeYes
threads_closeCloses a threadspai:threads:writeNo
threads_deleteDeletes a thread after explicit confirmationspai:threads:writeNo

threads_run is the only tool that runs a real turn and is billed as a normal agent execution. agents_validate only checks the configuration, with no paid inference.

What the remote MCP never does

  • It never returns secret values. secrets_list returns names only.
  • It never deletes without confirmation: agents_delete and threads_delete require confirm: true in the request.
  • threads_list never carries history, only metadata. threads_get returns a bounded, sanitized slice of the conversation.
  • It does not expose audio transcription (STT).
  • It has no streaming tool: every call is a JSON request.

Common errors

ErrorWhat it means
401The session expired or was revoked. Authorize the client again.
403 insufficient_scopeThe authorization lacks the requested permission. Authorize again including that permission.

Never share access tokens or API keys. Whoever holds the token uses the MCP with your permissions. If a token leaks, revoke the access immediately.

Revoking access

You revoke any authorization at any time in Settings > OAuth access. See OAuth access. Revocation is immediate: from the next request on, the client has to authorize again.

Protocol note

The remote MCP uses the MCP 2026-07-28 protocol in stateless mode, with no session affinity between requests.