An MCP client that skips initialize and tools/list will guess the wrong surface. Swarme's catalog has 1940 tools. The MCP server does not expose 1940 MCP tools. It exposes a small, named set that searches, describes, quotes, and runs capabilities through the same contract as REST.
This walkthrough uses a live initialize against POST https://swarme.io/mcp. Protocol version was 2025-03-26. Server title was Swarme Capability MCP Alpha. Server version was 2026.07.15-wallet-alpha. tools/list then returned 22 tools.
Initialize before you list
Connect a streamable HTTP client 到 https://swarme.io/mcp. Send initialize with protocolVersion 2025-03-26, then notifications/initialized, then tools/list. Docs at https://swarme.io/developers say 到 begin with tools/list and not assume a cached list. That instruction is literal. The observed server version string is dated 2026.07.15-wallet-alpha. Cache across that date at your own risk.
Authenticate with Authorization: Bearer. 创建 the key at https://swarme.io/dashboard?tab=developers. /dashboard/developers returns 404. An unauthenticated session is not an MCP listing problem; HTTP 419 and the toast Your secure 表单 token expired. Please go back and try again. are web-form failures, not tools/list results.
A client config that matches the docs uses streamable HTTP against https://swarme.io/mcp and a Bearer 页眉. After initialize, record serverInfo.name (swarme), title (Swarme Capability MCP Alpha), and version (2026.07.15-wallet-alpha). If the version string changes, list again before you call quote or run.
The 22 tools actually listed
Observed names, in list order:
- swarme_ai_models
- swarme_ai_run
- swarme_ai_status
- swarme_experiment_创建
- swarme_experiment_status
- swarme_experiment_select_winner
- swarme_capabilities_搜索
- swarme_capability_describe
- swarme_account_balance
- swarme_vault_summary
- swarme_vault_文档
- swarme_vault_字段_write
- swarme_vault_fill_quote
- swarme_vault_fill
- swarme_工具_quote
- swarme_工具_run
- swarme_工具_status
- swarme_工具_cancel
- swarme_工具_artifacts
- swarme_上传_session_创建
- swarme_discover_搜索
- swarme_discover_read
That is the MCP surface. It is not the 1940-tool directory. 搜索 still returns capability slugs. Quote and run still target one slug. MCP does not flatten every catalog entry into its own 工具. Category filters on 搜索 still use API slugs such as web-seo, security-network, and ai-tools, not homepage labels.
Do not instruct an agent that "Swarme MCP can run any of the 1940 tools." It can 搜索 1940 slugs and then hit the same describe_only wall as REST: 1491 tools block quote/run. 439 are supported. 10 are requires_worker.
开发者 docs currently print a shorter example set (swarme_capabilities_搜索 through swarme_上传_session_创建). The initialize-then-list path is the source of truth. Use the 22 names above, not a remembered subset.
Capability flow on MCP is still describe then quote then run
For a catalog 工具, the machine path is:
- swarme_capabilities_搜索 — keyword and optional category.
- swarme_capability_describe — schema and machine_run_status for one slug.
- swarme_工具_quote — price/access lock, including $0.00 included.
- swarme_工具_run — requires quote_id on the same contract as REST.
- swarme_工具_status / swarme_工具_cancel / swarme_工具_artifacts — poll, cancel, list outputs.
- swarme_上传_session_创建 — only when the describe schema needs a 文件.
Inspect machine_run_status after describe. Quote and run only supported, requires_worker, or 套餐_only. Refuse describe_only, missing, and unknown values. 1491 of 1940 catalog tools are describe_only and block quote/run. MCP does not lift that gate.
A completed REST run of uuid-generator returned UUID 4cd3c7b6-0495-447a-8efd-9a1374f7599c at $0.00 included after a 900-second quote lock, with idempotency_required_for_client true. The MCP tools swarme_工具_quote and swarme_工具_run are the same steps with different names. The public 页面 remains https://swarme.io/工具/uuid-generator.
Adjacent tools are not a second catalog
The remaining names are account, vault, AI workbench, and Discover helpers. They sit beside the capability flow. They are not 1940 extra catalog entries.
- swarme_account_balance — credit, metered usage, spend-limit status. Observed wallet: $0.00, billing mode metered_observe.
- swarme_ai_models / swarme_ai_run / swarme_ai_status — curated AI model jobs, not the full ai-tools category.
- swarme_experiment_创建 / swarme_experiment_status / swarme_experiment_select_winner — workbench experiments.
- swarme_vault_summary, swarme_vault_文档, swarme_vault_字段_write, swarme_vault_fill_quote, swarme_vault_fill — vault 元数据 and fill. Summaries are masked; decrypted values are not listed as returned.
- swarme_discover_搜索 / swarme_discover_read — public Passports, not 工具 execution.
Call swarme_account_balance before paid swarme_工具_run or swarme_ai_run. A $0.00 observe wallet still required a quote on the included UUID run. It will not invent spend capacity for metered work.
A list you can trust
Do not ship a hardcoded MCP 工具 list in a client. The server version string will move. tools/list is cheap compared with a wrong swarme_工具_run.
Practical sequence:
- POST https://swarme.io/mcp with initialize, protocolVersion 2025-03-26.
- Confirm serverInfo.title is Swarme Capability MCP Alpha and record version.
- Call tools/list. Count the names. The observed count is 22.
- 搜索 capabilities. Describe. Stop on describe_only.
- Quote, then run, with approval around paid work and 文件 access.
For how a router should pause before execution, see AI 工具 routing. For 文件 tools that still require an 上传 path, see how 到 choose a secure 在线 文件 工具 before creating an 上传 session.
