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
- /openapi.json — OpenAPI 3.1 spec of the REST surface.
- /llms.txt — llms.txt index: what pabloMCP is, when to use it, and how to connect.
- /llms-full.txt — the full tool catalogue with names, classes, and descriptions.
- /.well-known/pablomcp.json — agent manifest: auth model, vault semantics, onboarding tools.
- /.well-known/mcp.json — standard MCP server descriptor (remotes, transport).
- /sitemap.xml — sitemap of every public page.
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.