mcp-gate
mcp-gate
Una ruta es una solicitud. El límite de las raíces es la garantía.
Un servidor MCP de acceso a archivos restringe qué archivos puede alcanzar un modelo mediante raíces: un conjunto de directorios autorizados. mcp-gate demuestra la diferencia entre decirle al servidor que se mantenga dentro de sus raíces y hacerlo cumplir: la misma batería de ataques se ejecuta contra una versión que solo tiene una instrucción, y contra una versión que canonicaliza cada ruta y la comprueba contra el límite antes de cualquier lectura. Una filtra; la otra aguanta. Ambos sentidos se comprueban en CI.
Esta es una implementación independiente de conceptos del material avanzado de MCP de Anthropic, escrita para mostrar tres cosas explícitamente:
Capacidad | Dónde aparece |
Servidor MCP avanzado |
|
Registros y progreso | Cada herramienta emite notificaciones MCP de registro ( |
Control de acceso |
|
Los dos modos
Modo | Cómo decide | Resultado |
| La instrucción del system prompt dice «solo lee archivos dentro de las raíces», pero la ruta se abre tal como se da. | Filtra — el gestor de rutas ingenuo es, a propósito, un control de peor caso. |
| Cada ruta se descodifica, se resuelve con | Resiste — las solicitudes fuera del límite se rechazan antes de que se abra cualquier archivo. |
La batería de ataques
Ataque | modo | modo |
| servido ✓ | servido ✓ |
| filtra | bloqueado |
| filtra | bloqueado |
| filtra | bloqueado |
| filtra | bloqueado |
Que direct_ask tenga éxito en ambos modos es la parte engañosa: una prueba manual rápida de la seguridad de la capa prompt parece segura, pero luego falla ante un ataque que no intentaste.
Related MCP server: personal-mcp-bridge
La puerta (aplicada en CI, en ambos sentidos)
python -m mcp_gate gate boundary # exit 0 only if 0 escapes
python -m mcp_gate gate prompt # exit 0 only if the leak is still demonstrated
python -m mcp_gate suite # both halves must holdQue gate prompt no consiga filtrar significaría que la demo se ha quedado sin sentido (el resultado «seguro» no sirve de nada si el inseguro también pasa), así que CI trata eso también como un error de compilación.
Inicio rápido
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q
python -m mcp_gate gate boundary
python -m mcp_gate gate prompt
python -m mcp_gate suiteEjecuta la demo en vivo del servidor y del cliente MCP (requiere pip install -e ".[demo]" y una variable de entorno ANTHROPIC_API_KEY para la herramienta de muestreo):
python -m mcp_gate serve ./data/sandbox # start the server over stdio
python -m mcp_gate.client ./data/sandbox # drive it: logs, progress, sampling, a blocked attackConsulta RESULTS.md para ver la salida capturada — cada bloque es salida real de comandos, regenerada por scripts/make_results.py, nunca editada a mano.
Notas
Todos los datos bajo
data/son ficticios;data/out_of_bounds/secret.txtes un sustituto etiquetado de «un archivo que el servidor nunca debe servir».Parte de la familia
-gate: no se publica nada hasta que pasa un control.
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
- FlicenseAqualityDmaintenanceProvides safe local file operations through MCP, including reading, writing, searching, organizing, and protected deletion with configurable path restrictions.122
- AlicenseNot gradedqualityBmaintenanceEnables safe, read-only browsing of allowlisted local directories through MCP, providing tools to list roots, read files, and search text.MIT
- AlicenseNot gradedqualityCmaintenanceA drop-in replacement for the blocked Filesystem MCP server that provides standard file operations with symlink hardening, enabling tools like read, write, and directory listing.MIT
- FlicenseNot gradedqualityBmaintenanceProvides safe, allowlisted local filesystem access for MCP-compatible AI clients, enabling directory listing, file reading/writing (with byte limits), and text search while blocking paths outside approved roots and symlink escapes.
Related MCP Connectors
Static MCP manifest and tool-policy security preflight with signed input-redacted receipts
Fail-closed action authorization, MCP risk scanning, x402 checks, and signed receipts.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
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/jbisaccia-9/mcp-gate'
If you have feedback or need assistance with the MCP directory API, please join our Discord server