Copia AICopia AI

MCP

Copia MCP server

Copia speaks the Model Context Protocol over streamable HTTP. Point any MCP-compatible client at a single URL with a Bearer token — the client sees every capability your organization has connected, plus durable memory, as native tools.

Remote MCPStreamable HTTPBearer auth

Endpoint

POSThttps://copia-ai.com/api/mcp

Stateless JSON-RPC over HTTP. The server implements initialize, tools/list, and tools/call. Every tool call creates a Copia runtime session and returns the same run/execution metadata you would get from the Runtime API — so work done via MCP is fully auditable in the Copia dashboard.

Required headers
  • Authorizationheaderrequired
    Bearer token from Settings → API. The equivalent x-api-key header is also accepted.
  • Content-Typeheaderoptional
    application/json on every POST, set automatically by every MCP client.

Client configurations

Pick your client, copy the snippet, paste in your API key. Every config uses the same URL — differences are just in where the config file lives and how secrets are interpolated.

Claude Code ships native HTTP MCP support. The one-liner below registers Copia at local scope for your current project.

Register with the CLI

bash

claude mcp add --transport http copia https://copia-ai.com/api/mcp \
  --header "Authorization: Bearer $COPIA_API_KEY"

Or commit a project-scoped .mcp.json

json

{
  "mcpServers": {
    "copia": {
      "type": "http",
      "url": "https://copia-ai.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${COPIA_API_KEY}"
      }
    }
  }
}

Run `claude mcp list` to confirm Copia shows up, then `/mcp` inside Claude Code to inspect the tools it exposes.

What the agent sees

Once Copia is registered, tools appear under their capability names — for example memory_search, linkedin_search_people, or gmail_send_email. Each tool carries Copia-specific hints so the agent knows what is safe to retry.

  • annotations.readOnlyHintbooleanoptional
    True when the capability does not mutate external state.
  • annotations.idempotentHintbooleanoptional
    True when repeating the call with the same input is safe.
  • _meta.copia/kindenumoptional
    integration or memory — matches the kind field on the Runtime API.
  • _meta.copia/accountsarrayoptional
    Connected accounts that expose the capability. When there is more than one, the tool input schema gains a required connectedAccountId enum.

Tool results

Every tools/call returns both a human-readable summary and a structured content block. The structured block carries the run and execution ids so you can jump to the full trace inside the Copia dashboard.

Example tool result

json

{
  "content": [
    {
      "type": "text",
      "text": "1 hits\n\ncapability: memory_search\nrunId: run_123\nexecutionId: exec_123\n\n{\n  \"hits\": [{\"path\": \"/topics/icp.md\", \"score\": 10}]\n}"
    }
  ],
  "structuredContent": {
    "summary": "1 hits",
    "runId": "run_123",
    "executionId": "exec_123",
    "capability": "memory_search",
    "result": { "hits": [{ "path": "/topics/icp.md", "score": 10 }] }
  }
}

Prefer raw HTTP?

Everything MCP does is also reachable over the Runtime API. The two surfaces share a runtime, so keys, scopes, and sessions work identically.

Rotate compromised keys immediately

Treat the MCP URL + Bearer token as you would any production credential. Anyone with the token can invoke every capability your organization has connected.

Cookie preferences

We use necessary cookies to keep the site secure and working. Optional analytics and marketing cookies load only if you allow them.

Optional analytics includes product usage analytics and session recordings inside the app. You can reject optional cookies, allow them, or choose by category. You can change this later from the footer, account menu, or in our privacy policy / Datenschutzerklaerung.