#2 Roche

API & MCP

API docs & MCP

Everything an agent or script needs to work with Seamus Roche's site. The machine-readable spec is openapi.json; the MCP server card is /mcp/server-card.

Quickstart

Authentication

MCP tools

REST endpoints

Every operation in the OpenAPI spec has an operationId, a description, typed parameters and typed response schemas, so it can be loaded directly as function-calling tools.

Errors

All errors are RFC 9457 problem documents with Content-Type: application/problem+json: { "type", "title", "status", "code", "detail" }. code is stable and machine-readable (for example upload_link_not_valid, endpoint_not_found); detail says how to recover. Unknown /api/* paths return a 404 problem, never an HTML page. MCP tool failures come back as JSON-RPC results with isError: true and a plain-language message.

Rate limits

Every API response carries RateLimit-Policy and RateLimit headers (draft-ietf-httpapi-ratelimit-headers). Defaults: 120 requests per minute per client; request_access 20 per hour. A 429 response includes Retry-After. Reuse tokens instead of requesting new ones.

Versioning and deprecation

Paths are versioned under /api/v1/; unversioned /api/ paths are aliases of v1. Every response carries the API-Version: 1 header and info.version in openapi.json matches. Additive changes (new optional fields, new tools) do not change the version. A breaking change ships as /api/v2/...; the previous version keeps working for at least 90 days and its responses carry Deprecation and Sunset headers with the retirement date. Changes are listed on this page.

Changelog

SDK documentation

There is no SDK or CLI to install; the surface is small enough to call directly, and any MCP client can connect. There is no sandbox: use a pending token to exercise the flow without publishing anything, since nothing goes live before an admin approves it.