Documentation

pabloMCP developer docs

Everything pabloMCP exposes to developers and agents — endpoints, auth, and machine-readable files — at predictable URLs.

Endpoints

MCP     https://pablomcp.com/mcp
REST    https://pablomcp.com/tools
Health  https://pablomcp.com/healthz

The MCP endpoint speaks the official Streamable HTTP transport — POST JSON-RPC, and tools/list is readable without auth. The REST surface mirrors the same registry: GET https://pablomcp.com/tools lists every tool with its risk class, and POST https://pablomcp.com/tools/:name invokes one with a bearer key.

OpenAPI specification

The full REST surface is described at /openapi.json (OpenAPI 3.1, generated from the live tool registry). Every tool is one POST operation with a unique operationId, typed request schema, response schemas, and its risk class as x-tool-class — directly usable for LLM function calling.

CLI

The official CLI is published on npm as pablomcp:

npm install -g pablomcp
pablomcp pair you@example.com   # one-time: email + TOTP on your phone
pablomcp tools                  # list every tool
pablomcp call vault_list        # call one

Zero dependencies, Node 20+. COMMIT/DANGEROUS tools preview unless --confirm is passed.

Machine-readable files

Authentication

OAuth 2.1 — pabloMCP is a full authorization server with PKCE and dynamic client registration, so adding https://pablomcp.com/mcp in an MCP connector UI (Claude, ChatGPT) just works: the client discovers /.well-known/oauth-authorization-server, registers itself, and you approve on a consent page after the usual email + TOTP login. The issued token is a normal revocable workspace key, visible in the dashboard.

Agent-first pairing — for agents without an OAuth UI. Free and fully self-serve — no signup form, no sales call. The agent calls auth_pairing_startwith the human's email; the human confirms via an emailed one-time link plus a TOTP code; then auth_pairing_complete returns a named, revocable bearer key (pmcp_*). Sessions slide for 60 minutes. Discovery (GET /tools, MCP initialize and tools/list) needs no authentication at all. The full walkthrough lives on the agent onboarding page.

Tool risk classes

Every tool declares READ, DRAFT, COMMIT, or DANGEROUS. COMMIT and DANGEROUS calls return a preview by default and execute only with confirm: true; workspaces can additionally require per-call human approval. Every write is audit-logged to the workspace.

Rate limits

240 requests per minute per caller (per bearer key; per IP when unauthenticated). Every API response carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers (plus the legacy X-RateLimit-* trio) so agents can pace themselves; exceeding the limit returns HTTP 429 with Retry-After and a structured RATE_LIMITED error.

Versioning & deprecation

The API is additive-stable: new tools and optional fields may appear at any time, but existing operations, request fields, and error codes are never changed or removed in place. A breaking change would ship under a /v2/ path prefix with the current surface kept for at least 90 days, and deprecated operations are marked deprecated: true in /openapi.json at least 90 days before removal.

Content negotiation

Public pages on this site honour Accept: text/markdown and return a markdown representation with Vary: Accept. Unknown paths return a real HTTP 404 with recovery links in the body.