MCP
Intercal exposes MCP over Streamable HTTP at:
https://intercal.jami.studio/api/mcpThe MCP server is stateless on the Vercel route. Each request builds a fresh server/transport over the shared query layer, so there is no per-session state to pin to a serverless instance.
Tools
The V1 tool list is owned by packages/shared/src/index.ts and uses generated JSON Schemas for inputs:
get_deltaget_entitysearch_evidenceverify_claimget_sourcesget_freshness
Every tool maps to the same query semantics as its REST counterpart. Structured failures use the same error taxonomy as REST in the MCP tool result.
Authentication
MCP uses an OAuth 2.1 resource-server posture when MCP_OAUTH_ISSUER is configured. When no Authorization Server is configured, the current public-read posture allows anonymous reads. Invalid tokens never fail open when auth is enabled.
Protected Resource Metadata is served from the well-known routes only when MCP OAuth is configured:
/.well-known/oauth-protected-resource/.well-known/oauth-protected-resource/api/mcp
Local smoke
node scripts/dev/verify-mcp.mjs https://intercal.jami.studio/api/mcpRun this against a deployed or local endpoint. It proves transport availability; it does not replace live corpus quality gates.