CLI bridge — clawnify mcp
clawnify mcp is a stdio MCP bridge. It reads newline-delimited JSON-RPC frames from stdin, forwards each to mcp.clawnify.com with your stored credentials, and writes the response to stdout. Works with any MCP client that can spawn a subprocess.
Setup
npx clawnify@latest login
The bridge picks up the token + active org from ~/.clawnify/auth.json. No extra config.
Use it manually
# tools/list
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npx clawnify@latest mcp
# tools/call clawnify_execute
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"clawnify_execute","arguments":{"code":"console.log(1 + 1)"}}}' | npx clawnify@latest mcp
Wire it into a client
Any client that takes a command + args MCP server config works. Common ones:
Claude Desktop
{
"mcpServers": {
"clawnify": { "command": "npx", "args": ["-y", "clawnify@latest", "mcp"] }
}
}
Cursor
{
"mcpServers": {
"clawnify": { "command": "npx", "args": ["-y", "clawnify@latest", "mcp"] }
}
}
Continue, Cline, opencode, OpenClaw, anything stdio-MCP
Same shape — npx -y clawnify@latest mcp as the stdio command.
Multi-org
Override the active org per-bridge with an env var:
{
"mcpServers": {
"clawnify-prod": {
"command": "npx",
"args": ["-y", "clawnify@latest", "mcp"],
"env": { "CLAWNIFY_ORG_ID": "<your_prod_org_uuid>" }
},
"clawnify-staging": {
"command": "npx",
"args": ["-y", "clawnify@latest", "mcp"],
"env": { "CLAWNIFY_ORG_ID": "<your_staging_org_uuid>" }
}
}
}
The bridge sends X-Clawnify-Org-Id per call; the gateway routes to the right org.
Why use this vs the MCPB bundle?
- Bridge — best for developer clients (Cursor, opencode, OpenClaw, anything bash-capable). Reuses
clawnify login. Free CLI updates. - MCPB — best for non-CLI users on Claude Desktop. One-click install; no terminal required after the initial token paste.
Pick either; they hit the same gateway with the same tools.