
Speko AI
ai.speko由 speko.ai 發布官方發布者v1.0.12更新於 Oct 24, 2026
Manage Speko voice-AI agents, sessions, calls, phone numbers, knowledge bases, evals, and docs.
概覽
Speko 語音 AI 平台的遠端 MCP 端點,讓助理檢視代理、通話、轉錄、電話號碼、知識庫與文件。
- 可以做什麼
- 讀取帳戶資訊、點數餘額、點數流水與用量摘要
- 列出並檢視語音代理及其版本、工具與監控結果
- 檢視工作階段與通話,包含轉錄與錄音,並可轉錄音訊
- 查詢電話號碼、搜尋可用號碼並讀取合規診斷資訊
- 瀏覽知識庫及其文件、評測結果,並搜尋官方文件
- 在部分主機上可撥打單次外撥電話或結束工作階段
- 適用情境
- 適合在使用 Speko 語音代理時,讓助理在對話中檢視通話轉錄、核對用量與點數、查詢電話號碼或檢索 Speko 文件。可用工具取決於所連線的主機。
- 執行需求
- 遠端 MCP 端點,使用 streamable HTTP,不需本機套件。必須驗證:透過用戶端 OAuth,或以 Authorization 標頭攜帶 Speko 平台 API 金鑰。工具集依主機名稱固定,需選擇與用戶端相符的主機。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Speko AI,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/ai.speko%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"speko-ai": {
"type": "http",
"url": "https://mcp.speko.ai/mcp"
}
}
}README
spekoai-mcp
FastMCP v4 server for SpekoAI. The hosted endpoint is:
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:
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):
Or configure an OAuth-capable client directly. For example, Codex reads:
For automation, export a Platform API key and add the bearer setting:
Tool surfaces
Hosted tool surfaces are bound to hostnames; a profile query parameter is
ignored. The primary endpoint exposes operational tools using domain/action
names:
- account:
organization.get,credits.balance.get,credits.ledger.list,usage.summary.get; - agents:
agents.list,agents.preview_stacks,agents.create,agents.get,agents.update,agents.delete, deployment/version/tool and monitor operations; - sessions and calls: create, list, inspect, transcript, recording, and test call operations;
- phone numbers, including bringing your own carrier:
phone_numbers.sip_connections.createconnects a customer SIP trunk andphone_numbers.importattaches a number that rides it, with no SIP gateway or support ticket; - custom voices:
voice_clones.createclones a voice from a recording link onto ElevenLabs, Cartesia, MiniMax or CSM, and its provider voice id works withaudio.synthesize;voice_clones.list,.provisionand.delete; - knowledge bases, evals, migration helpers, audio helpers, and
docs.search.
Builder profile
App builders use the curated host at:
It contains docs search, catalogs, agent reads, stack preview, integration code
snippets, the test-call review path, and the limited agents.create and
agents.test_call writes. Generated applications use Speko SDKs at runtime;
they do not call MCP tools.
Replit profile
Replit uses its own host:
It serves 28 tools in build-time order — code_snippets.get, the voice and
model catalogs, docs search and stack preview come first, then agent, number
and transcript reads, then the writes. It adds the two paths the builder
profile omits: knowledge bases, so a voice FAQ has somewhere to keep the FAQ,
and phone numbers, which is the next ask after a working in-app assistant.
Gateway operations, evals, monitors, scenarios, billing, API keys, migrations
and every destructive delete stay out.
Assistant directory hosts
Assistant directories are published on their own hosts, each shaped by that directory's policy. The surface is a property of the host: there is no query parameter, header, or account setting that widens it.
Anthropic MCP Directory
Reads across the account, speech-to-text, outbound calling, and read-only phone compliance diagnostics:
- account:
organization.get,credits.balance.get,credits.ledger.list,usage.summary.get; - agents:
agents.list,agents.get,agents.preview_stacks,agents.versions.list,agents.tools.list,agents.tools.get,agents.calls.list,agents.test_call.get; - sessions and calls:
sessions.list,sessions.get,sessions.transcript.get,sessions.recording.get,calls.get,calls.recording.get; - phone numbers:
phone_numbers.list,phone_numbers.get,phone_numbers.available.search; - knowledge bases:
knowledge_bases.list,knowledge_bases.get,knowledge_bases.documents.list,knowledge_bases.documents.get; - evals and monitoring:
evals.get,agents.monitoring.results.list; - audio:
audio.transcribe; - calling:
sessions.phone.create— one outbound call per tool call, with AI disclosure injected server side. ChatGPT and connector calls default to a hard five-minute limit; setbody.maxDurationSecondsexplicitly for a different limit (30–3600 seconds for S2S, up to 14400 for cascade); - hang-up:
sessions.end— immediately request hang-up usingsession_id. It is safe to repeat. Anendingresponse confirms the request; usesessions.getto confirm the session ended; - compliance:
phone_numbers.kyb.get— OAuth connector consent and declaration submission happen automatically in the backend; - migration helpers:
migration.workspace.inspect,migration.external_config.parse,migration.session_config.build,migration.briefing.render; - other:
docs.search.
Deliberately not on this host, because each one either produces synthetic speech on demand or arms something that will:
Configuring an agent is equivalent to arming it: a deployed agent speaks on
inbound traffic with no further tool call. Agent create, update, deploy and
rollback are therefore withheld alongside the generation tool itself.
audio.transcribe stays because speech-to-text produces no audio and returns
only text.
sessions.phone.create is on this host on purpose. It places one call, to one
number, per explicit tool call, using an agent the customer deployed elsewhere
— there is no bulk, scheduled or unattended path to it, and the caller cannot
configure the agent that speaks. Every call created on a directory host has AI
disclosure injected server side: the first thing said is that the caller is an
AI, and the agent cannot be prompted out of admitting it. A surface that can
read the transcript of a call it cannot place is a viewer, not a connector.
sessions.create (a browser session token, useless in a chat client) and
agents.test_call (two synthesized agents talking to each other) stay out.
The last row is cut for a different reason. Deleting removes capability rather
than arming anything, so those tools are not covered by the rule above — but a
published surface has to be describable in one honest clause, and three
irreversible deletes plus a creator of public pages meant this one could not be
called a read surface. phone_numbers.delete also releases a billed number.
Reads of all four resources stay. Calling a withheld tool on this host returns
Unknown tool: '<name>', identical to a name that was never registered.
OpenAI Plugin Directory
21 tools. A separate list, not a reuse of the Anthropic one, because the
two directories forbid different things: OpenAI has no restriction on generated
audio, so audio.synthesize and outbound calling stay, while its rules on
selling digital goods remove phone-number provisioning and the credits and
usage reads. Three of the reads are there to keep agents.test_call from being
a dead end: reviewing a test call needs agents.test_call.get for the run's
session id, agents.calls.list to recover that id if the run's result is
overwritten, and calls.recording.get for the audio.
Authentication and downstream calls
OAuth clients discover Better Auth from the MCP protected-resource metadata. Better Auth issues JWT access tokens bound to the exact MCP resource URL. The MCP server verifies their signature, issuer, audience, expiry, and scopes on every request without retaining OAuth or protocol state.
Product-wide Platform API keys are independently verified with
GET /v1/auth/api-key-context on every request. Speko API tools forward API
keys unchanged. For OAuth callers, the MCP service mints a separate 60-second
JWT bound to the Platform API; it never forwards the client-presented MCP token.
Configuration:
SPEKOAI_API_URL— Platform API origin, defaulthttps://api.speko.dev;SPEKOAI_ROUTER_URL— Speko Router origin, defaulthttps://router.speko.dev.audio.transcribeandaudio.synthesizeprefer the Router and fall back to the Platform endpoint when the Router cannot serve the request. Both fall back for a session with no Speko API key, because the Router authenticates those and not the OAuth delegation token.audio.transcribealso falls back for any container but WAV/PCM, which the Router does not decode.audio.synthesizefalls back when the body names something the Router's speech body cannot say:speed,instructions,spokenForm, a baremodel, anintent.region, or more than one allowed provider;SPEKOAI_OAUTH_ISSUER— Better Auth issuer, for examplehttps://platform.speko.ai/api/auth;SPEKOAI_MCP_BASE_URL— public MCP origin used to derive the exact resource audience;SPEKOAI_MCP_DELEGATION_SECRET— 32+ character secret shared only with Platform for stateless API delegation;SPEKOAI_MCP_DEFAULT_PROFILE— deployment-only tool surface served at bare/mcp(builder|connector|chatgpt|customer). Hosted services set it explicitly; public query parameters never select or override it. Unset preserves the legacy full surface for local and self-hosted use.
See docs/fastmcp-v4.md for deployment order, smoke tests, and failure diagnosis.
來源:README.md,提交 88f3712
工具
0版本歷史
1- v1.0.12最新Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分