What's NewPlatform & API

August 19, 2026

Attach remote MCP servers to an Omniagent, use ready-made connectors for Gmail, Google Calendar and other services, and approve tool calls before they run

Your agent can use remote MCP servers

Point an Omniagent at a server that speaks the Model Context Protocol and it can call that server's tools mid-conversation. You write no tool definitions and handle no tool calls — the provider connects to the server, discovers what it offers, and runs the calls itself.

Register the server once:

curl -X POST https://companion-api.napster.com/public/mcp-servers \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "inventory",
    "url": "https://mcp.acme.com/sse",
    "headers": {
      "Authorization": "Bearer sk_live_abc123"
    },
    "allowedTools": ["check_stock", "get_price"],
    "requireApproval": "never"
  }'

Then attach it to an agent with the new mcp field:

curl -X PATCH https://companion-api.napster.com/public/agents/agent_abc123 \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mcp": {
      "servers": ["inventory"]
    }
  }'

mcp is available on agents, channel configurations, and connections, and the servers attached to a session are reported back on the session record.

See MCP — Servers.

Servers that act as the signed-in user

When the data belongs to individual people rather than to your application, register the server with authorizationRequired: true and pass that user's OAuth token when you open the session:

curl -X POST https://companion-api.napster.com/public/agents/agent_abc123/connections \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channelType": "webrtc",
    "mcp": {
      "authorizations": [
        {
          "mcpServerId": "crm",
          "token": "ya29.a0AfH6..."
        }
      ]
    }
  }'

The token is used for that session only and is never stored. See Per-user authorization.

Ready-made connectors for common services

Connectors are MCP servers the platform already maintains, so there is nothing to register — attach them with mcp.connectors and supply the user's token:

curl -X PATCH https://companion-api.napster.com/public/agents/agent_abc123 \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mcp": {
      "servers": ["inventory"],
      "connectors": ["googlecalendar"]
    }
  }'

Available today: Dropbox, Gmail, Google Calendar, Google Drive, Microsoft Teams, Outlook Calendar, Outlook Email and SharePoint.

Connectors require the OpenAI provider and are not available on Azure OpenAI. If your Omniagent runs on Azure OpenAI, register the service's own MCP server instead — see Connectors.

Approve tool calls before they run

Register a server with requireApproval: "always" and every call pauses for a decision from your client. You receive an mcp_approval_request event over the session's data channel naming the server, the tool and its arguments, and answer with the new send_mcp_approval command — passing the request's item_id and approve: true or false.

You have 15 seconds to answer before the request is rejected automatically. Two further message types report what the agent is doing: mcp_tools lists each server's tools at session start, and mcp_call tracks each invocation.

See Server events — MCP tool lifecycle and Client commands — send_mcp_approval.

On this page