mcp-dev-agent
mcp-dev-agent
Servidor MCP (Model Context Protocol) vía Streamable HTTP que proporciona a un agente de IA — consumido por un agente de Microsoft Copilot Studio — las mismas capacidades de desarrollo que un agente Claude Code tiene en esta VM: ejecutar comandos, editar/mover/listar archivos y usar node, npm, gh, git, etc. El agente decide qué comandos ejecutar.
Documentación
docs/RECOMENDACAO.md— recomendaciones de arquitectura y próximos pasos antes de producción.docs/DEPLOY-CLOUDFLARE.md— exponer vía Cloudflare Tunnel (HTTPS público, sin abrir puertos).docs/CREDENCIALES.local.md— secreto, fuera del control de versiones (.gitignore): URL, token y datos del túnel en producción (mcp.criaelo.com).
Related MCP server: SkyDeckAI Code
Arquitectura
Copilot Studio (nuvem)
│ HTTPS + Bearer token
▼
[ Reverse proxy / túnel com TLS ] ← obrigatório: Copilot Studio exige HTTPS público
│
▼
mcp-dev-agent (Express + Streamable HTTP, porta 3000)
│ child_process / fs
▼
VM de desenvolvimento (node, npm, gh, git, arquivos das aplicações)Transporte: Streamable HTTP (endpoint único
POST/GET/DELETE /mcp), que es el modo en que Copilot Studio consume MCP.Autenticación (dos formas, ambas aceptadas en
/mcp):Bearer token estático vía header
Authorization(variableMCP_AUTH_TOKEN) — usado por Copilot Studio.OAuth 2.1 conforme a la spec de autorización de MCP (Dynamic Client Registration, authorization code + PKCE, refresh token) — exigido por ChatGPT. Endpoints:
/.well-known/oauth-authorization-server,/.well-known/oauth-protected-resource/mcp,/authorize,/token,/register,/revoke. La aprobación solicita la contraseñaOAUTH_APPROVAL_PASSWORD(fallback:MCP_AUTH_TOKEN). Los clientes y tokens se guardan endata/oauth-state.json(fuera del control de versiones,chmod 600); implementación ensrc/oauth.ts.
Alcance de archivos: sin restricción de ruta — el agente opera en cualquier ruta de la VM (decisión de proyecto). Resuelve
~y rutas relativas.
Herramientas expuestas
Herramienta | Qué hace |
| Ejecuta cualquier comando de shell (bash) con |
| Lee un archivo (opcionalmente un rango de líneas). |
| Crea o sobrescribe un archivo (crea directorios padre). |
| Sustitución de texto exacto ( |
| Lista entradas de un directorio con el tipo de cada una. |
| Mueve o renombra archivo/directorio. |
|
|
| Elimina archivo o directorio ( |
run_command por sí solo ya cubre todo; las herramientas de archivo existen porque son más fiables y legibles para el agente que montar comandos de shell.
Ejecución
npm install
npm run build
# gere um token forte e exporte antes de iniciar
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
export PORT=3000
# producao: URL publica HTTPS (issuer OAuth) e senha da tela de aprovacao
export PUBLIC_URL=https://seu-host
export OAUTH_APPROVAL_PASSWORD=uma-senha-forte
npm startDesarrollo con recarga: npm run dev (también necesita MCP_AUTH_TOKEN).
Health check (sin autenticación): GET /health → { "status": "ok", "tools": [...] }.
Prueba rápida del handshake
curl -X POST http://127.0.0.1:3000/mcp \
-H "Authorization: Bearer $MCP_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"c","version":"1"}}}'El header de respuesta Mcp-Session-Id debe reenviarse en las llamadas siguientes (tools/list, tools/call).
Exponer con HTTPS (necesario para Copilot Studio)
Copilot Studio (nube) solo alcanza endpoints HTTPS públicos. Coloque el servidor detrás de TLS. Opciones:
Proxy inverso (nginx/Caddy) con certificado, reenviando a
http://127.0.0.1:3000.Túnel para exponer rápidamente:
cloudflared,ngrok, o Azure Application Gateway / Front Door si la VM es Azure.
Mantenga el servidor MCP escuchando en 127.0.0.1 cuando haya un proxy delante, para no exponer el puerto HTTP crudo.
Conexión en Copilot Studio
Copilot Studio consume MCP a través de una tool/custom connector que apunta al endpoint Streamable HTTP:
En Copilot Studio, abra su agente → Tools → Add a tool → New tool → Model Context Protocol. (Alternativamente, Power Apps → Custom connectors e importe la spec a continuación.)
Server URL: la URL HTTPS pública que apunta a
/mcp(ej.:https://su-host/mcp).Autenticación: tipo API Key / header, con header
Authorizationy valorBearer <su MCP_AUTH_TOKEN>. Guarde el token en el cofre/variable de entorno del connector, nunca en el prompt.Guarde y publique el connector; añada la tool al agente.
Las 8 herramientas aparecen para el agente, que pasa a decidir por sí mismo cuándo llamar a
run_command,edit_file, etc.
Nota: el soporte de MCP en Copilot Studio evoluciona rápido. Si la UI no ofrece MCP nativo en su región/licencia, cree un custom connector con una spec OpenAPI que describa el endpoint
/mcp(Streamable HTTP) y el headerAuthorization.
Conexión en ChatGPT
ChatGPT exige OAuth (no acepta Bearer token estático) y requiere developer mode (Plus/Pro) o plan Business/Enterprise:
Settings → Connectors → Create (con developer mode habilitado en Settings → Connectors → Advanced).
MCP Server URL:
https://su-host/mcp— Authentication: OAuth.ChatGPT descubre los endpoints vía
/.well-known/*, se registra solo (DCR) y abre la pantalla de aprobación: introduzca laOAUTH_APPROVAL_PASSWORD.Listo — los access tokens duran 2 h y se renuevan automáticamente vía refresh token (30 días, con rotación).
Para revocar el acceso de ChatGPT: elimine data/oauth-state.json y reinicie el servicio (o use /revoke).
Seguridad — lea antes de producción
Este servidor ejecuta comandos arbitrarios en la VM. Consecuencias:
Trate el
MCP_AUTH_TOKENcomo credencial de acceso root a la VM. Rote periódicamente.Ejecute el proceso con un usuario de bajo privilegio dedicado al desarrollo, no como
root.Prefiera una VM desechable/aislada por proyecto; no apunte a máquinas con datos sensibles de otros sistemas.
Siempre detrás de TLS; nunca exponga el puerto HTTP crudo en internet.
Considere logs de auditoría de los comandos recibidos si necesita trazabilidad.
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 gradedqualityDmaintenanceProvides AI-driven development tools including file system operations, multi-language code analysis with tree-sitter, Git operations, code execution, and system information retrieval.MIT
- AlicenseNot gradedqualityDmaintenanceProvides tools for AI-driven development workflows including file system operations, code analysis, code execution, web fetching, and search.Apache 2.0
- AlicenseBqualityBmaintenanceProvides coding agent capabilities including file operations, terminal commands, search functionality, and utility operations.27135MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI assistants with 28 developer tools across file, git, code analysis, HTTP, and system domains, enabling tasks like file editing, repository management, code analysis, and shell command execution.222MIT
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Git-backed platform for skills, tools, and context for AI agents
Persistent cloud development environments that coding agents create, run and test software in.
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/wilianconte/mcp-dev'
If you have feedback or need assistance with the MCP directory API, please join our Discord server