MCP

Hosted MCP

Connect MCP clients to the hosted Formlism endpoint.

Formlism exposes a hosted Streamable HTTP MCP endpoint backed by the same form domain as the app. It uses OAuth 2.1 with PKCE through Formlism's Supabase authorization server. Developer API keys are not accepted by the MCP endpoint.

Authorization boundary

Add the endpoint URL to an MCP client that supports OAuth. The client discovers the authorization server automatically, opens Formlism for sign-in and consent, and receives a token bound to this MCP resource and client. Form reading is the minimum permission. Writing, publishing, deletion, and response access are separate optional capabilities selected on the consent screen.

Endpoints

EnvironmentEndpoint
Productionhttps://mcp.formlism.com/mcp
UAThttps://uat-mcp.formlism.com/mcp

Transport

The MCP service uses the MCP SDK Web Standard Streamable HTTP server transport. The current server creates a request-scoped transport with JSON responses enabled and no generated session ID.

Authentication and rate limits

The OAuth client sends its access token in the standard Bearer header. Formlism validates the Supabase signature, issuer, MCP audience, client ID, and approved capabilities before a tool is exposed. The service applies an abuse throttle of100 requests per 1 minute per signed-in Formlism user and Cloudflare location. This is approximate abuse control, not an accounting quota; the internal Form Service hop is not counted again. A looser per-network and per-location budget runs before OAuth verification so rotating invalid tokens cannot create unbounded authorization work.

Each POST carries one JSON-RPC message and is limited to256 KiB. Tool execution stops after15 seconds; short-lived per-user and per-worker-instance concurrency limits prevent slow calls from accumulating on one runtime instance.

Allowed origins

The MCP service validates the request origin for DNS rebinding protection. Formlism origins and local development origins are allowed by the worker.