{"server":{"name":"satohub","url":"https://satohub.ai/api/mcp","transport":"streamable-http","auth":"none"},"verified_on":"2026-09-13","note":"Every command, config block and deep link here is generated from one endpoint constant. `verified` means the shape was read off the linked docs page on verified_on.","clients":[{"id":"claude-code","name":"Claude Code","category":"CLI","deep_link":null,"command":"claude mcp add --transport http satohub https://satohub.ai/api/mcp","config":{"path":".mcp.json (project) or ~/.claude.json","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"type\": \"http\",\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://code.claude.com/docs/en/mcp","verified":true,"caveat":"`type: \"http\"` is required — a bare `url` is read as a stdio config."},{"id":"cursor","name":"Cursor","category":"Editors","deep_link":"cursor://anysphere.cursor-deeplink/mcp/install?name=satohub&config=eyJ1cmwiOiJodHRwczovL3NhdG9odWIuYWkvYXBpL21jcCJ9","command":null,"config":{"path":".cursor/mcp.json (project) or ~/.cursor/mcp.json","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://cursor.com/docs/mcp/install-links","verified":true,"caveat":null},{"id":"vscode","name":"VS Code","category":"Editors","deep_link":"https://vscode.dev/redirect/mcp/install?name=satohub&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsatohub.ai%2Fapi%2Fmcp%22%7D","command":null,"config":{"path":".vscode/mcp.json","lang":"json","snippet":"{\n  \"servers\": {\n    \"satohub\": {\n      \"type\": \"http\",\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://code.visualstudio.com/docs/copilot/customization/mcp-servers","verified":true,"caveat":"The top-level key is `servers`, not `mcpServers`."},{"id":"vscode-insiders","name":"VS Code Insiders","category":"Editors","deep_link":"https://insiders.vscode.dev/redirect/mcp/install?name=satohub&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsatohub.ai%2Fapi%2Fmcp%22%7D&quality=insiders","command":null,"config":{"path":".vscode/mcp.json","lang":"json","snippet":"{\n  \"servers\": {\n    \"satohub\": {\n      \"type\": \"http\",\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://code.visualstudio.com/docs/copilot/customization/mcp-servers","verified":true,"caveat":null},{"id":"codex","name":"Codex CLI","category":"CLI","deep_link":null,"command":"codex mcp add satohub --url https://satohub.ai/api/mcp","config":{"path":"~/.codex/config.toml","lang":"toml","snippet":"[mcp_servers.satohub]\nurl = \"https://satohub.ai/api/mcp\""},"docs":"https://learn.chatgpt.com/docs/extend/mcp?surface=cli","verified":true,"caveat":null},{"id":"gemini-cli","name":"Gemini CLI","category":"CLI","deep_link":null,"command":"gemini mcp add --transport http --scope user satohub https://satohub.ai/api/mcp","config":{"path":"~/.gemini/settings.json","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"httpUrl\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html","verified":true,"caveat":"The key is `httpUrl`. A plain `url` here means SSE, which this endpoint does not serve."},{"id":"windsurf","name":"Windsurf","category":"Editors","deep_link":null,"command":null,"config":{"path":"~/.codeium/windsurf/mcp_config.json","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"serverUrl\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://docs.devin.ai/desktop/cascade/mcp","verified":true,"caveat":"The key is `serverUrl`. Windsurf's own deep link resolves against its registry and cannot carry an arbitrary URL, so there is no one-click here yet."},{"id":"zed","name":"Zed","category":"Editors","deep_link":null,"command":null,"config":{"path":"Zed settings.json","lang":"json","snippet":"{\n  \"context_servers\": {\n    \"satohub\": {\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://zed.dev/docs/ai/mcp","verified":true,"caveat":"The top-level key is `context_servers`. Settings → AI → MCP Servers → Add Remote Server does the same thing."},{"id":"cline","name":"Cline","category":"Editors","deep_link":null,"command":null,"config":{"path":"Cline → MCP Servers → Remote Servers","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"type\": \"streamableHttp\",\n      \"url\": \"https://satohub.ai/api/mcp\",\n      \"disabled\": false,\n      \"autoApprove\": []\n    }\n  }\n}"},"docs":"https://docs.cline.bot/mcp/connecting-to-a-remote-server","verified":true,"caveat":"`streamableHttp` is camelCase here and hyphenated in Continue. They are not interchangeable."},{"id":"continue","name":"Continue","category":"Editors","deep_link":null,"command":null,"config":{"path":".continue/mcpServers/satohub.yaml","lang":"yaml","snippet":"mcpServers:\n  - name: Sato Hub\n    type: streamable-http\n    url: https://satohub.ai/api/mcp"},"docs":"https://docs.continue.dev/customize/deep-dives/mcp","verified":true,"caveat":"`mcpServers` is a list here, and the type is hyphenated."},{"id":"jetbrains","name":"JetBrains AI Assistant","category":"Editors","deep_link":null,"command":null,"config":{"path":"Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://www.jetbrains.com/help/ai-assistant/mcp.html","verified":true,"caveat":"Pasted into the dialog — there is no user-editable config file."},{"id":"lm-studio","name":"LM Studio","category":"Desktop & terminal","deep_link":"lmstudio://add_mcp?name=satohub&config=eyJ1cmwiOiJodHRwczovL3NhdG9odWIuYWkvYXBpL21jcCJ9","command":null,"config":{"path":"Program → Install → Edit mcp.json","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://lmstudio.ai/docs/app/plugins/mcp/deeplink","verified":true,"caveat":"The deep link needs LM Studio 0.3.17 or newer."},{"id":"goose","name":"Goose","category":"Desktop & terminal","deep_link":"goose://extension?url=https%3A%2F%2Fsatohub.ai%2Fapi%2Fmcp&type=streamable_http&id=satohub&name=Sato%20Hub&description=The%20scored%20index%20of%20onchain%20agent%20tooling","command":null,"config":{"path":"~/.config/goose/config.yaml","lang":"yaml","snippet":"extensions:\n  satohub:\n    enabled: true\n    type: streamable_http\n    name: satohub\n    uri: https://satohub.ai/api/mcp\n    timeout: 300"},"docs":"https://block.github.io/goose/docs/getting-started/using-extensions","verified":true,"caveat":"The deep link passes `url`; the config file wants `uri`. Goose has an open report of streamable-HTTP deep links failing quietly — if nothing appears, use `goose configure` and the block above."},{"id":"claude-desktop","name":"Claude Desktop","category":"Desktop & terminal","deep_link":null,"command":null,"config":{"path":"Customize → Connectors → Add custom connector","lang":"json","snippet":"https://satohub.ai/api/mcp"},"docs":"https://support.claude.com/en/articles/11175166","verified":true,"caveat":"Paste the URL, not a JSON block — `claude_desktop_config.json` takes local servers only. The connection is made from Anthropic's servers, not your machine. On the free plan you get one custom connector."},{"id":"warp","name":"Warp","category":"Desktop & terminal","deep_link":null,"command":null,"config":{"path":"Settings → Agents → MCP servers","lang":"json","snippet":"{\n  \"mcpServers\": {\n    \"satohub\": {\n      \"url\": \"https://satohub.ai/api/mcp\"\n    }\n  }\n}"},"docs":"https://docs.warp.dev/knowledge-and-collaboration/mcp","verified":false,"caveat":"Warp's docs describe a `url` server as SSE. This endpoint serves Streamable HTTP and has SSE disabled, so we have not confirmed Warp connects. Reported as untested rather than left to fail quietly."}]}