{"id":45686932,"url":"https://github.com/fxstein/openclaw-mcp-bridge","last_synced_at":"2026-02-24T15:04:39.377Z","repository":{"id":338120270,"uuid":"1156102055","full_name":"fxstein/openclaw-mcp-bridge","owner":"fxstein","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-23T21:07:21.000Z","size":65,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T03:53:58.034Z","etag":null,"topics":["mcp-client","mcp-server","openclaw"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fxstein.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T09:07:39.000Z","updated_at":"2026-02-23T21:07:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fxstein/openclaw-mcp-bridge","commit_stats":null,"previous_names":["fxstein/openclaw-mcp-bridge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fxstein/openclaw-mcp-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxstein%2Fopenclaw-mcp-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxstein%2Fopenclaw-mcp-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxstein%2Fopenclaw-mcp-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxstein%2Fopenclaw-mcp-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fxstein","download_url":"https://codeload.github.com/fxstein/openclaw-mcp-bridge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxstein%2Fopenclaw-mcp-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29786978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp-client","mcp-server","openclaw"],"created_at":"2026-02-24T15:04:38.661Z","updated_at":"2026-02-24T15:04:39.369Z","avatar_url":"https://github.com/fxstein.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openclaw-mcp-bridge\n\nOpenClaw plugin that bridges [MCP (Model Context Protocol)](https://modelcontextprotocol.io) servers into native agent tools.\n\n## Why?\n\nMCP servers expose structured tools with typed schemas — the proper interface for AI agents. This plugin connects MCP servers to OpenClaw's agent tool system so every MCP tool becomes a first-class native tool, not a CLI wrapper.\n\n## Install\n\n```bash\nopenclaw plugins install openclaw-mcp-bridge\n```\n\nOr link locally for development:\n\n```bash\nopenclaw plugins install -l ./path/to/openclaw-mcp-bridge\n```\n\n## Configure\n\nAdd your MCP servers to `openclaw.json`:\n\n```json5\n{\n  plugins: {\n    entries: {\n      \"mcp-bridge\": {\n        enabled: true,\n        config: {\n          servers: {\n            // Stdio server (spawns a local process)\n            \"ai-todo\": {\n              command: \"ai-todo\",\n              args: [\"serve\", \"--root\", \"/path/to/workspace\"]\n            },\n\n            // Remote server via mcp-remote proxy\n            \"linear\": {\n              command: \"npx\",\n              args: [\n                \"-y\", \"mcp-remote\",\n                \"https://mcp.linear.app/mcp\",\n                \"--header\", \"Authorization:Bearer ${LINEAR_API_KEY}\"\n              ]\n            },\n\n            // HTTP/SSE server (direct URL connection)\n            \"my-api\": {\n              url: \"https://api.example.com/mcp\",\n              headers: {\n                \"Authorization\": \"Bearer ${API_KEY}\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nRestart the gateway after config changes.\n\n## Server Config\n\nEach server entry supports:\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `command` | `string` | Command to spawn (stdio transport) |\n| `args` | `string[]` | Arguments for the command |\n| `env` | `object` | Extra environment variables for the process |\n| `url` | `string` | URL for HTTP/SSE transport (alternative to command) |\n| `headers` | `object` | HTTP headers for URL transport |\n| `enabled` | `boolean` | Enable/disable this server (default: `true`) |\n| `toolPrefix` | `boolean` | Prefix tool names with server name (default: `true`) |\n\nEither `command` or `url` is required.\n\n### Environment Variable Resolution\n\nAll string values support `${ENV_VAR}` syntax for environment variable substitution. This includes `command`, `args`, `env` values, `url`, and `headers`.\n\n### Tool Naming\n\nWith `toolPrefix: true` (default), tools are named `\u003cserver\u003e_\u003ctool\u003e`:\n- Server `ai-todo`, tool `list_tasks` → `ai_todo_list_tasks`\n- Server `linear`, tool `list_issues` → `linear_list_issues`\n\nWith `toolPrefix: false`, the original MCP tool name is used (watch for conflicts across servers).\n\n## How It Works\n\n1. On gateway start, the plugin spawns/connects to each configured MCP server\n2. Calls `tools/list` on each server to discover available tools and their JSON schemas\n3. Registers each tool as a native OpenClaw agent tool via `api.registerTool()`\n4. When the agent calls a tool, the plugin routes it to the correct MCP server via `tools/call`\n5. MCP response content is passed through directly to the agent\n\n## Optional Tools\n\nTo make all bridged tools require an explicit allowlist:\n\n```json5\n{\n  plugins: {\n    entries: {\n      \"mcp-bridge\": {\n        config: {\n          optional: true,\n          servers: { /* ... */ }\n        }\n      }\n    }\n  }\n}\n```\n\nThen enable them per-agent:\n\n```json5\n{\n  agents: {\n    list: [{\n      id: \"main\",\n      tools: {\n        allow: [\"mcp-bridge\"]  // enable all bridged tools\n      }\n    }]\n  }\n}\n```\n\n## Development\n\n```bash\ngit clone https://github.com/fxstein/openclaw-mcp-bridge.git\ncd openclaw-mcp-bridge\nnpm install\nopenclaw plugins install -l .\nopenclaw gateway restart\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxstein%2Fopenclaw-mcp-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffxstein%2Fopenclaw-mcp-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxstein%2Fopenclaw-mcp-bridge/lists"}