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.

已验证Streamable HTTP可网页运行知识与记忆沟通与协作AI 与机器学习

概览

AI 生成的概览

Speko 语音 AI 平台的远程 MCP 端点,让助手查看智能体、通话、转写、电话号码、知识库与文档。

可以做什么
  • 读取账户信息、积分余额、积分流水与用量汇总
  • 列出并查看语音智能体及其版本、工具和监控结果
  • 查看会话与通话,包括转写和录音,并可转写音频
  • 查询电话号码、搜索可用号码并读取合规诊断信息
  • 浏览知识库及其文档、评测结果,并搜索官方文档
  • 在部分主机上可发起单次外呼或结束会话
适用场景
适合在使用 Speko 语音智能体时,让助手在对话中查看通话转写、核对用量与积分、查询电话号码或检索 Speko 文档。可用工具取决于所连接的主机。
运行要求
远程 MCP 端点,使用 streamable HTTP,无需本地安装包。必须认证:通过客户端 OAuth,或以 Authorization 请求头携带 Speko 平台 API 密钥。工具集按主机名固定,需选择与客户端匹配的主机。
安装前请注意
该端点可发起外呼电话和结束进行中的会话,可能产生费用;目录主机上的通话会由服务端注入 AI 身份披露。部分主机还允许配置智能体、写入知识库以及不可逆的删除操作。API 密钥会被转发至 Speko 平台 API,通话录音与转写内容会暴露给助手。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Speko AI,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

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:

text
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:

text
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):

bash
npx @spekoai/mcp@latest init

Or configure an OAuth-capable client directly. For example, Codex reads:

toml
[mcp_servers.speko]url = "https://mcp.speko.ai/mcp"

For automation, export a Platform API key and add the bearer setting:

toml
[mcp_servers.speko]url = "https://mcp.speko.ai/mcp"bearer_token_env_var = "SPEKO_API_KEY"

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.create connects a customer SIP trunk and phone_numbers.import attaches a number that rides it, with no SIP gateway or support ticket;
  • custom voices: voice_clones.create clones a voice from a recording link onto ElevenLabs, Cartesia, MiniMax or CSM, and its provider voice id works with audio.synthesize; voice_clones.list, .provision and .delete;
  • knowledge bases, evals, migration helpers, audio helpers, and docs.search.

Builder profile

App builders use the curated host at:

text
https://builder-mcp.speko.ai/mcp

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:

text
https://replit.speko.ai/mcp

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
text
https://anthropic.speko.ai/mcp

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; set body.maxDurationSeconds explicitly for a different limit (30–3600 seconds for S2S, up to 14400 for cascade);
  • hang-up: sessions.end — immediately request hang-up using session_id. It is safe to repeat. An ending response confirms the request; use sessions.get to 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:

groupabsent
audio generationaudio.synthesize
live session / call creationsessions.create, agents.test_call
agent configuration and deploymentagents.create, agents.update, agents.deploy, agents.rollback, agents.tools.create, agents.tools.update, agents.tools.delete
knowledge-base writesknowledge_bases.create, knowledge_bases.documents.create, knowledge_bases.documents.delete, knowledge_bases.documents.finalize
phone number provisioningphone_numbers.create, phone_numbers.update
bulk or scheduled evaluationagents.evals.*, agents.monitors.*
irreversible and outward-facing writesagents.delete, phone_numbers.delete, knowledge_bases.delete, share_cards.create

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
text
https://chatgpt.speko.ai/mcp

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, default https://api.speko.dev;
  • SPEKOAI_ROUTER_URL — Speko Router origin, default https://router.speko.dev. audio.transcribe and audio.synthesize prefer 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.transcribe also falls back for any container but WAV/PCM, which the Router does not decode. audio.synthesize falls back when the body names something the Router's speech body cannot say: speed, instructions, spokenForm, a bare model, an intent.region, or more than one allowed provider;
  • SPEKOAI_OAUTH_ISSUER — Better Auth issuer, for example https://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
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

1
  1. v1.0.12最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分