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
npm install -g clawnify
clawnify 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"}' | clawnify mcp
# tools/call clawnify.execute
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"clawnify.execute","arguments":{"code":"console.log(1 + 1)"}}}' | clawnify mcp
Wire it into a client
Any client that takes a command + args MCP server config works. Common ones:
Claude Desktop
{
"mcpServers": {
"clawnify": { "command": "clawnify", "args": ["mcp"] }
}
}
Cursor
{
"mcpServers": {
"clawnify": { "command": "clawnify", "args": ["mcp"] }
}
}
Continue, Cline, opencode, OpenClaw, anything stdio-MCP
Same shape — point at clawnify with the mcp argument.
Multi-org
Override the active org per-bridge with an env var:
{
"mcpServers": {
"clawnify-prod": {
"command": "clawnify",
"args": ["mcp"],
"env": { "CLAWNIFY_ORG_ID": "<your_prod_org_uuid>" }
},
"clawnify-staging": {
"command": "clawnify",
"args": ["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.