The app is agent-accessible over the Model Context Protocol: a Streamable HTTP server at /api/mcp, built with mcp-handler in src/app/api/[transport]/route.ts. Claude, Cursor, or any MCP-capable agent can discover and call your tools instead of scraping the UI — the "agent-friendly" promise, applied to the running product and not just the codebase.
Connecting a client
Point any MCP client at the endpoint — no auth needed for the shipped tools:
{
"golemkit": { "url": "https://<your-domain>/api/mcp" }
}What ships enabled
Three public catalog tools, each a thin wrapper over module data:
list_credit_packs— the purchasable credit packs with USD prices.list_chat_models— the chat's available models, as gateway ids.get_blog_post— blog metadata by slug, or all posts when no slug is given.
Adding tools
Register a tool with server.registerTool(name, config, handler) — the inputSchema is plain zod fields, and the handler should call into src/modules/ like every route does. Keeping tool logic in modules means the same function serves your UI, your public API, and your agents.
Exposing user data
The shipped tools are deliberately public catalog data only. Before exposing anything user-specific, add token verification first — mcp-handler ships an authorization guide at node_modules/mcp-handler/docs/AUTHORIZATION.md. The same rule as the REST routes applies: authenticate, then call the module.