MCP

Connect a Client

Claude Code, Claude Desktop, Cursor and OAuth connectors.

1. Get a credential

API key (any client). In the dashboard open Settings → Developers → API keys and mint a key for the agent.

  • Read-only agent: preset:read_only (includes cap:view_reports).
  • Agent that acts: add only the module presets it needs, e.g. preset:inventory. Avoid preset:full — an agent with it is as powerful as the owner.

OAuth (clients that support it). Give the client just the URL. It registers itself, opens a Panoptes sign-in window, and you approve each scope one box at a time. An OAuth bearer is accepted on /api/v1/mcp only.

2. Configure the client

Claude Code

claude mcp add --transport http panoptes https://api.panoptesos.com/api/v1/mcp \
  --header "X-Api-Key: pnp_live_xxxxxxxx.YOUR_SECRET"

Claude Desktop, Cursor and other JSON configs

{
  "mcpServers": {
    "panoptes": {
      "type": "http",
      "url": "https://api.panoptesos.com/api/v1/mcp",
      "headers": { "X-Api-Key": "pnp_live_xxxxxxxx.YOUR_SECRET" }
    }
  }
}

Claude.ai / ChatGPT connectors

Add a custom connector with the URL https://api.panoptesos.com/api/v1/mcp and sign in when prompted (OAuth).

3. Check it works

Ask the agent: "What is my business context?" — it should call get_business_context and report your branch, currency and business date.

Troubleshooting

ResponseCause
401 with WWW-AuthenticateMissing, malformed or revoked key; or the tenant is suspended
403The credential lacks cap:view_reports, or the plan does not include the API
429The key's rate limit or quota — see Retry-After
Tool refused inside a callThat tool's capability is not in the credential's scopes or the owner's role