Overview
Polpo exposes a remote Model Context Protocol server athttps://api.polpo.sh/v1/mcp. It’s OAuth 2.0 protected and lets any MCP client — Claude Desktop, Cursor, MCP Inspector, custom agents — list projects, run tasks, manage agents, and call chat completions against your Polpo workspace. The unscoped URL targets Development for environment projects. Use https://api.polpo.sh/environments/production/v1/mcp when the client must be fixed to Production.
Transport
Streamable HTTP. A single endpoint handles both directions:POST /v1/mcp— client → server JSON-RPC requestsGET /v1/mcp— server → client SSE stream for progress and notificationsGET|POST /environments/{development|production}/v1/mcp— fixed environment endpoint
Authentication
OAuth 2.0 with Dynamic Client Registration (RFC 7591). Clients auto-register on first connect — there is nothing to pre-provision.Standard MCP clients (Claude Desktop, Cursor, Inspector) discover both endpoints automatically. You’ll see a browser window pop up once to authorize; the client stores the token locally and refreshes it silently.
Client setup
- Claude Desktop
- Cursor
- MCP Inspector
Edit your Claude Desktop config:Restart Claude Desktop. A browser window opens for OAuth — approve, and
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
polpo_* tools appear in the tool picker.Available tools
Databases
The following tools manage Databases through the same Data API as the dashboard and SDK. They are also available to the in-product builder. Every call takesprojectId (UUID) and optional environment (development, the
default, or production). resource is the logical database UUID or name. The project must have
Data enabled.
MCP uses the authenticated Polpo account. Existing OAuth read/write scopes apply:
read-only clients can discover and call the read-only tools, including SQL query;
mutations require write access. Account membership and roles still apply. Members
can read/write records, while owner/admin accounts manage schemas, migration
history, backend state and agent grants.
For example, call
polpo_databases_query with:
mutate for SQL record writes and migrate for schema changes. Retain the same
idempotency key or migration ID and exact input when retrying an uncertain result.
These tools use account permissions; the runtime agents’ database_* tools and
custom tools’ ctx.data continue to use independent agent grants.
Resources
Polpo exposes resource URIs for deep context without tool calls:Prompts
Reusable prompt templates are exposed under theprompts/ namespace:
polpo_setup_project({ goal })— guides the creation of a new Polpo project end-to-end. Takes a free-form goal (e.g. “customer support agent with Zendesk access”) and walks through project creation, agent definition, tool selection, and deploy.
Troubleshooting
401 Unauthorized — OAuth token expired. Re-authorize from your client (Claude Desktop: toggle the server off/on; Cursor: re-open the MCP config).
403 Forbidden — Token is valid but missing scope for the resource. Check the org/project you’re targeting matches the authorized session (
polpo_whoami, polpo_orgs_current).Project 404 — The project ID doesn’t exist in the current org. Call
polpo_projects_list first to get a valid ID.Tool call timeout —
polpo_tasks_run and polpo_missions_run start asynchronous work. Poll polpo_tasks_get until a task is done or failed, or polpo_missions_get for mission status.