From smithery-mcp-orchestrator
Discover, securely connect, scope tokens, and orchestrate 100K+ MCP tools from Smithery inside OpenClaw and Grok agents. Pairs with persistent state and MCP bridging patterns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smithery-mcp-orchestrator:smithery-mcp-orchestratorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Primary use:** When an agent needs to dynamically discover new tools/skills, connect to external services (GitHub, Linear, Notion, Slack, databases, cloud APIs, etc.), or manage long-lived MCP connections securely — all while running inside OpenClaw or with Grok.
Primary use: When an agent needs to dynamically discover new tools/skills, connect to external services (GitHub, Linear, Notion, Slack, databases, cloud APIs, etc.), or manage long-lived MCP connections securely — all while running inside OpenClaw or with Grok.
Activate automatically or on any of these phrases:
Smithery is the leading marketplace and connection layer for MCP servers. It solves discovery, OAuth, credential lifecycle, and namespacing at scale.
However, Smithery by itself is stateless CLI tooling. When used inside autonomous agents you need:
grok-persistent-statemcp-openclaw-bridgeauth_required status)This skill provides the canonical, production-grade workflows that combine all three.
Always work inside a named namespace. One namespace per project/environment.
Recommended persistent state keys:
smithery.active_namespacesmithery.namespaces (list of known ones)Canonical agent workflow:
smithery namespace list
smithery namespace create my-project-prod
smithery namespace use my-project-prod
After every change, update persistent state.
A connection is a durable MCP session with OAuth, token refresh, and status tracking.
Status model agents must understand:
connected → ready to use (smithery tool list <id>)auth_required → tell the human to open the URL shown by the CLI, then retryerror → inspect and recoverCanonical user-scoped connection:
smithery mcp add https://github.run.tools \
--id user-123-github \
--metadata '{"userId":"user-123"}'
smithery mcp list --metadata '{"userId":"user-123"}'
Store the connection id in persistent state immediately after creation.
Never give an agent a full Smithery or service API key.
Use smithery auth token --policy '...' to mint short-lived, narrowly-scoped tokens.
Policy mental model:
Strong example (store the resulting token in state or env for the session only):
smithery auth token --policy '{
"namespaces": "my-project-prod",
"resources": "connections",
"operations": ["read", "execute"],
"metadata": { "userId": "user-123" },
"ttl": "2h"
}'
Advanced request-level restriction (experimental but powerful):
smithery auth token --policy '{
"resources": "connections",
"operations": "execute",
"metadata": { "connectionId": "my-github" },
"rpcReqMatch": {
"method": "tools/call",
"params.name": "^issues\\."
},
"ttl": "30m"
}'
smithery mcp search "github"
smithery tool list my-github
smithery tool list my-github issues.
smithery tool get my-github issues.create
Agents should prefer smithery tool get before calling unfamiliar tools to see the exact JSON schema.
When output is piped, Smithery emits clean JSONL:
smithery tool list my-github --flat --limit 500 | grep -i label
This is excellent for agents that want to filter or process results programmatically.
After any Smithery operation that creates or changes state, immediately patch:
{
"smithery": {
"active_namespace": "my-project-prod",
"active_connections": ["user-123-github", "user-123-linear"],
"last_scoped_token_expiry": "2026-05-28T14:00:00Z"
}
}
At the beginning of every session, restore the active namespace and list known connections before taking action.
When an agent discovers a high-value MCP server via Smithery that it will use repeatedly:
mcp-openclaw-bridge patterns to turn the most useful tool groups into dedicated, versioned ClawHub skills.my-mcp-capability skills so other agents can install them directly without repeating the discovery work.# 1. Ensure CLI is present
npm install -g @smithery/cli
# 2. Login (human interaction required on first use)
smithery auth login
# 3. Namespace discipline
smithery namespace create my-project
smithery namespace use my-project
# 4. Connect services (example: GitHub + production DiamondNodeBot Telegram channel via InvariantX)
smithery mcp add https://github.run.tools --id my-github --metadata '{"project":"genesis-conductor-release"}'
# DiamondNodeBot Telegram connection exposed via existing InvariantX MCP surface or custom connector
# 5. Explore & scope tokens carefully for Telegram actions
smithery tool list my-telegram-connection --flat
# 6. Mint narrow token (especially important for Telegram bot channels)
smithery auth token --policy '{ ... with rpcReqMatch for telegram actions ... }'
# 7. Operate safely across channels (web + Telegram DiamondNodeBot)
smithery tool call ...
Production Note: This pattern is used in live InvariantX deployments where OpenClaw (with these skills) is connected to the DiamondNodeBot Telegram channel for attested, multi-user agent operation.
This skill MUST:
auth_requiredThis skill MUST NEVER:
smithery tool get inspection step for new toolsauth_required states (always surface the URL to a human)--metadata for later filteringgrok-persistent-state and mcp-openclaw-bridge. Extracted from the official Smithery AI CLI skill and hardened with Genesis Conductor reliability patterns.Composed by Igor Holt as part of the open agent infrastructure series.
Pairs naturally with:
Together these three skills give agents professional-grade discovery, memory, security, and distribution capabilities on the OpenClaw + Smithery + MCP stack.
Install (once published):
clawhub install smithery-mcp-orchestrator
clawhub install grok-persistent-state
clawhub install mcp-openclaw-bridge
Use this skill whenever dynamic tool discovery or secure multi-service orchestration is required inside autonomous agents.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub igor-holt/openclaw-skills --plugin smithery-mcp-orchestrator