status: active
timestamp: 2026-06-29
tags: [mcp, smithery, toolbox, runbook, single-source-of-truth]
Upload MCP servers to Smithery toolbox `@chirag127/toolbox`
Add MCP server to Smithery toolbox under @chirag127/toolbox endpoint
Upload MCP servers to Smithery toolbox
Goal
Maximise single-source-of-truth: collapse multiple MCP entries in .mcp.json into a single Smithery toolbox URL where physically possible.
Eligibility
A server can join your Smithery toolbox if:
| Criterion | Why |
|---|---|
| ✅ Pure-network (no local file system / repo / binary deps) | Smithery containers are Linux, ephemeral, no access to your laptop |
| ✅ Public npm/PyPI/Docker package | Smithery pulls and runs in their container |
❌ Reads your local repo (e.g. serena --project .) | Smithery container has no access to your code |
❌ Local binary (e.g. codebase-memory.exe) | Wrong OS + no upload mechanism |
❌ Relative path command (e.g. node ./scripts/crawl-mcp/server.js) | Smithery doesn’t see your scripts |
Eligibility audit for your 6 local MCPs
| Server | Eligible? | Reason |
|---|---|---|
fetch (uvx mcp-server-fetch) | ✅ | PyPI package, network-only |
searxng (npx -y mcp-searxng) | ✅ | npm package, network-only |
open-websearch (npx -y open-websearch) | ✅ | npm package, network-only |
mcp-crawl (node ./scripts/crawl-mcp/server.js) | ❌ | Local script, not published |
serena (uvx --from git+... --project .) | ❌ | Indexes your local repo |
codebase-memory (./codebase-memory-mcp.exe) | ❌ | Windows binary, indexes your repo |
Procedure (web UI — easiest)
- Go to https://smithery.ai and sign in.
- Navigate to your toolbox:
https://smithery.ai/server/@chirag127/toolbox. - Click Edit → Add Server.
- For each eligible package:
- fetch: search
mcp-server-fetch, click Install to toolbox. - searxng: search
mcp-searxng, setSEARXNG_URL=https://baresearch.org, click Install to toolbox. - open-websearch: search
open-websearch, setMODE=stdio,DEFAULT_SEARCH_ENGINE=duckduckgo, click Install to toolbox.
- fetch: search
- Save the toolbox.
Procedure (CLI)
npm install -g @smithery/cli
smithery mcp publish <package-url> -n @chirag127/toolbox
Note: publish is for your own MCP servers. To add an existing public package to your toolbox, the web UI is the supported path (the CLI is for publishing new servers).
Removing from .mcp.json after upload
After verifying the 3 servers are reachable through chirag127 toolbox:
# Test toolbox surface
curl -s https://mcp.smithery.run/chirag127 -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
If the response includes mcp-server-fetch, mcp-searxng, and open-websearch tool definitions:
node scripts/sync-globals.mjs --remove fetch,searxng,open-websearch
(or manually edit .mcp.json to drop those 3 entries, then node scripts/sync-mcp-configs.mjs).
When to NOT consolidate
Keep fetch/searxng/open-websearch as direct entries in .mcp.json if:
- Smithery is slow / unreliable in your network.
- You need to debug the server’s stderr (Smithery hides it).
- You need a config (e.g. different
SEARXNG_URLper machine) that Smithery’s toolbox shape doesn’t support.
Otherwise: consolidating gains a smaller .mcp.json, fewer stdio processes per session.
Cross-refs
mcp-config-single-source-of-truthglobals-derived-from-workspace- Smithery CLI: https://smithery.ai/docs/cli