Model Context Protocol server exposing Speko docs, scaffolds, and balance tools to Claude, Cursor, and other MCP clients.
spekoai-mcp is a FastMCP v3 server that makes Speko’s SDKs, skill sheets, and balance queries available to any MCP-aware agent. The knowledge surface (bundled docs, scaffold prompts, recommendation tool) is public; action tools like get_balance forward the caller’s OAuth access token to the Speko API, so there is no shared server-wide credential.A hosted instance lives at https://mcp.speko.ai. You can also run it locally.
Bundled product docs, readable at spekoai://docs/{slug}. Start with spekoai://docs/index for a slug listing.Skill sheets (*-skills) are dense, LLM-oriented references with API surfaces, minimal snippets, and common gotchas. READMEs (*-readme) are the longer prose walkthroughs.
Only public, user-facing packages are bundled. Internal packages (@spekoai/core, @spekoai/providers), the monorepo-level CLAUDE.md, and per-package ROADMAP.md files are excluded on purpose — they cover internal architecture or forward-looking direction.
Copy-paste client snippets exposed over MCP with text/plain mime so clients don’t mangle them during re-emission.
spekoai://components/react/voice-session — <SpekoVoiceSession> React component wrapping @spekoai/client. Marked 'use client' for Next.js App Router; dynamic-imports the SDK so it stays out of the SSR bundle.
The server holds no long-lived Speko credential. Action tools forward the caller’s OAuth access token — minted by the Speko platform’s Better Auth OAuth provider — straight to the Speko API, which validates the JWT and scopes the call to that user and org.With OAuth configured, an MCP client mints an access token, FastMCP’s OAuthProxy verifies it, and tools like get_balance relay the same JWT to api.speko.ai via Authorization: Bearer <token>.With OAuth unconfigured the server still boots — the knowledge surface stays public — but get_balance raises a ToolError instructing the caller to set the four required env vars.