
Speko AI
Connects your MCP client to Speko's hosted voice AI routing platform for STT, TTS, and voice-to-voice provider failover. The package is primarily an installer wizard that configures Claude Code, Codex, OpenCode, and Cursor to talk directly to Speko's remote MCP endpoint at mcp.speko.ai. If your client can't handle remote MCP and needs a local stdio command, the bridge mode proxies stdio to HTTP but doesn't contain any tool logic itself. Auth is OAuth by default or API key via SPEKO_API_KEY for headless setups. Reach for this when you're building voice applications and want intelligent provider switching without managing fallback chains yourself.
- tools
- 44
- auth
- Secret needed
- transport
- HTTP
- last updated
- Jun 15, 2026
Tools
44 toolsPublic tool metadata for what this MCP can expose to an agent.
organization.get
No parameter schema in public metadata yet.
credits.balance.get
No parameter schema in public metadata yet.
credits.ledger.list
No parameter schema in public metadata yet.
usage.summary.get
No parameter schema in public metadata yet.
agents.list
No parameter schema in public metadata yet.
agents.preview_stacks
No parameter schema in public metadata yet.
agents.create
No parameter schema in public metadata yet.
agents.get
No parameter schema in public metadata yet.
agents.update
No parameter schema in public metadata yet.
agents.delete
No parameter schema in public metadata yet.
phone_numbers.sip_connections.createConnects a customer SIP trunk.
Connects a customer SIP trunk.
No parameter schema in public metadata yet.
phone_numbers.importAttaches a number that rides the connected SIP trunk, with no SIP gateway or support ticket.
Attaches a number that rides the connected SIP trunk, with no SIP gateway or support ticket.
No parameter schema in public metadata yet.
voice_clones.createClones a voice from a recording link onto ElevenLabs, Cartesia, MiniMax or CSM; its provider voice id works with audio.synthesize.
Clones a voice from a recording link onto ElevenLabs, Cartesia, MiniMax or CSM; its provider voice id works with audio.synthesize.
No parameter schema in public metadata yet.
voice_clones.list
No parameter schema in public metadata yet.
code_snippets.get
No parameter schema in public metadata yet.
docs.search
No parameter schema in public metadata yet.
knowledge_bases.list
No parameter schema in public metadata yet.
knowledge_bases.get
No parameter schema in public metadata yet.
knowledge_bases.documents.list
No parameter schema in public metadata yet.
knowledge_bases.documents.get
No parameter schema in public metadata yet.
agents.versions.list
No parameter schema in public metadata yet.
agents.tools.list
No parameter schema in public metadata yet.
agents.tools.get
No parameter schema in public metadata yet.
agents.calls.list
No parameter schema in public metadata yet.
agents.test_call.get
No parameter schema in public metadata yet.
sessions.list
No parameter schema in public metadata yet.
sessions.get
No parameter schema in public metadata yet.
sessions.transcript.get
No parameter schema in public metadata yet.
sessions.recording.get
No parameter schema in public metadata yet.
calls.get
No parameter schema in public metadata yet.
calls.recording.get
No parameter schema in public metadata yet.
phone_numbers.list
No parameter schema in public metadata yet.
phone_numbers.get
No parameter schema in public metadata yet.
phone_numbers.available.search
No parameter schema in public metadata yet.
agents.monitoring.results.list
No parameter schema in public metadata yet.
evals.get
No parameter schema in public metadata yet.
audio.transcribeSpeech-to-text that produces only text.
Speech-to-text that produces only text.
No parameter schema in public metadata yet.
sessions.phone.createPlaces one outbound call per explicit tool call, with AI disclosure injected server side.
Places one outbound call per explicit tool call, with AI disclosure injected server side.
No parameter schema in public metadata yet.
sessions.endImmediately requests hang-up for a session; safe to repeat.
Immediately requests hang-up for a session; safe to repeat.
No parameter schema in public metadata yet.
phone_numbers.kyb.getRead-only phone compliance diagnostic.
Read-only phone compliance diagnostic.
No parameter schema in public metadata yet.
migration.workspace.inspect
No parameter schema in public metadata yet.
migration.external_config.parse
No parameter schema in public metadata yet.
migration.session_config.build
No parameter schema in public metadata yet.
migration.briefing.render
No parameter schema in public metadata yet.
Sponsors
Readme
spekoai-mcp
FastMCP v4 server for SpekoAI. The hosted endpoint is:
https://mcp.speko.ai/mcp
It accepts authenticated POST requests using either OAuth or a Speko
Platform API key. Configure the URL and let the client negotiate the protocol;
do not add protocol headers by hand:
Authorization: Bearer <OAuth access token or sk_live_xxx>
Content-Type: application/json
The transport is stateless and JSON-only. Modern clients use MCP 2026-07-28
directly; handshake-era clients such as Cursor negotiate MCP 2025-11-25
through initialize. Both paths remain sessionless: there is no
Mcp-Session-Id, SSE response, local OAuth transaction store, or stdio
transport. Better Auth owns authorization, consent, refresh tokens, and client
registration; the MCP service only validates signed access tokens per request.
Client setup
Use the direct-HTTP installer and select OAuth (the default interactive choice):
npx @spekoai/mcp@latest init
Or configure an OAuth-capable client directly. For example, Codex reads:
[mcp_servers.speko]
url = "https://mcp.speko.ai/mcp"
Details
- Repository
- github.com/spekoai/mcp
- Website
- speko.ai
- Category
- Documents & Knowledge
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active