codemode-mcp
codemode-mcp
Agrega varios servidores MCP stdio locales en una herramienta code de Cloudflare Code Mode.
El agente ya no se enfrenta a un montón de definiciones de herramientas, solo ve una herramienta code; el modelo escribe código en un sandbox aislado y orquesta las herramientas de cada servidor MCP con codemode.<prefix>_<tool>(...), dejando los resultados intermedios en el sandbox, sin que entren en el contexto de la conversación.
Agent ── 只见 1 个 code 工具 ──> http://localhost:8787/mcp
│ sandbox: codemode.<prefix>_<tool>()
▼
桥 :9230(官方 MCP SDK,stdio ↔ Streamable HTTP)
│ 按 mcp.jsonc 拉起各 stdio server
▼
chrome-devtools-mcp ──> 你的 Chrome(--auto-connect)
@modelcontextprotocol/server-filesystem ──> 文件系统
...任何 stdio MCP serverInicio rápido
Requisitos: Bun 1.3+; para conectar con el Chrome local se necesita Chrome 144+ y activar la depuración remota en chrome://inspect/#remote-debugging.
bun install
bun run devbun run dev hará lo siguiente en orden: leer mcp.jsonc (en la primera ejecución se genera automáticamente desde mcp.jsonc.example) → levantar cada servidor MCP stdio → iniciar el puente (:9230) → iniciar wrangler dev (:8787). Un Ctrl+C limpia todos los subprocesos de una vez.
Conexión de agentes / clientes MCP:
{
"mcpServers": {
"codemode": { "url": "http://localhost:8787/mcp" }
}
}También se puede verificar gráficamente con MCP Inspector: npx @modelcontextprotocol/inspector@latest, conexión Streamable HTTP a http://localhost:8787/mcp; en List Tools solo debería verse un code, cuya descripción contiene los métodos <prefix>_<tool> de cada servidor.
Related MCP server: MetaMCP
Configuración: mcp.jsonc
El único archivo que necesita editarse (JSONC, admite comentarios; está ignorado por .gitignore, puede escribir configuración personal sin preocupaciones):
{
"mcpServers": {
"chrome-devtools": {
"command": "bun",
"args": ["x", "chrome-devtools-mcp", "--auto-connect"]
},
"filesystem": {
"command": "bun",
"args": ["x", "@modelcontextprotocol/server-filesystem", "/data"]
// "prefix": "fs" // 可选,默认取名字首段:chrome-devtools -> chrome
}
}
}command/args/env: formato común del ecosistema MCP, igual que Claude Desktop, opencode, etc.;prefix: prefijo de método del sandbox (opcional, por defecto toma la primera parte del nombre; los conflictos de prefijo provocan un error al iniciar);añadir un servidor no requiere cambiar ningún código; reiniciar
bun run devpara que surta efecto;si un servidor individual falla al iniciar, simplemente se omite con degradación (indicado en los registros), sin afectar a los demás servidores.
Cómo funciona
Archivo | Responsabilidad |
| Lista de servidores MCP (única fuente de configuración, se genera automáticamente la primera vez) |
| Orquestación local: iniciar puente → esperar a que esté listo → iniciar wrangler, limpieza unificada |
| Levanta cada servidor stdio según mcp.jsonc, los reexpone en :9230 como Streamable HTTP reutilizando la ruta |
| Análisis JSONC (jsonc-parser de Microsoft) y derivación de prefix |
| Servidor stdio de demostración (herramienta echo), se puede eliminar de la configuración |
| Entrada del Worker: agregación + envoltura |
| Lado del Worker: descubre cada servidor a través de |
Algunos puntos clave de diseño:
Por qué se necesita el puente:
codeMcpServer()solo acepta instancias deMcpServerdentro del proceso, mientras que los servidores MCP stdio (como chrome-devtools-mcp) no pueden iniciarse en workerd. El puente utiliza el@modelcontextprotocol/sdkoficial para la conversión de protocolo stdio ↔ HTTP; tanto la definición de herramientas como su ejecución pasan por el protocolo MCP en todo momento.Descubrimiento dinámico: el Worker no lee el archivo de configuración; en cada solicitud obtiene la lista a través del endpoint
/serversdel puente y luego registra conlistTools; cuando un servidor ascendente se actualiza y añade herramientas, no es necesario modificar este proyecto.JSON Schema → zod: el Worker (workerd) prohíbe
eval, por lo que se eligió@dmitryrechkin/json-schema-to-zod, que construye objetos zod directamente en tiempo de ejecución (compatible con Cloudflare Workers).División de trabajo en tiempo de ejecución: bun ejecuta el puente y la orquestación (entorno Node), wrangler (workerd) ejecuta el Worker; ambos se comunican por HTTP en el puerto 9230.
Notas y limitaciones
Este proyecto es un enlace local: después de implementar con
wrangler deployen Cloudflare, el Worker en línea no puede acceder al puente en127.0.0.1:9230ni al Chrome local; si se necesita una implementación remota, ejecute el puente en un host accesible desde el Worker y modifiquevars.MCP_BRIDGE_URLenwrangler.jsonc.El
--auto-connectde chrome-devtools depende de la opción de depuración remota de Chrome 144+ (chrome://inspect/#remote-debugging); también se puede usar--browserUrlpara apuntar al puerto CDP tradicional (--remote-debugging-port, que en Chrome 136+ debe combinarse con un--user-data-dirno predeterminado).En un entorno de proxy transparente TUN, si
bunxfalla al descargar dependencias (el DNS devuelve IPv6 pero TUN solo gestiona IPv4), basta con establecerHTTPS_PROXYen el proceso del puente apuntando al puerto del proxy local (scripts/bridge.tsya inyectahttp://127.0.0.1:7890por defecto; se puede modificar según sea necesario).
Dependencias
Cloudflare Code Mode (
@cloudflare/codemode) — herramienta únicacodey ejecución aisladachrome-devtools-mcp — automatización del navegador
Model Context Protocol TypeScript SDK — implementación del protocolo MCP
jsonc-parser — análisis JSONC
Wrangler — runtime local de workerd
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that aggregates multiple upstream MCP tools into a single 'codemode' tool for unified orchestration and execution. It enables agents to run generated code in an isolated sandbox to interact with various connected services through a single interface.251Apache 2.0
- AlicenseAqualityCmaintenanceAggregates multiple MCP servers into a single interface, reducing token overhead and simplifying tool management for LLMs.623316Apache 2.0
- FlicenseNot gradedqualityCmaintenanceAggregates multiple MCP servers into a single standard MCP interface for agents like Claude Code, with automatic tool prefixing and hot-reload.2
- FlicenseNot gradedqualityCmaintenanceBridges Claude Desktop/Code MCP servers into Buzz agents with a per-agent allowlist, exposing allowed tools as a namespaced stdio MCP server.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Howardzhangdqs/codemode-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server