Agentomy MCP Gateway
OfficialAgentomy MCP Gateway
Una pieza de código abierto de Agentomy, la capa de gobernanza para agentes de IA en empresas reguladas. Consulta las demás en github.com/getagentomy.
Gobierna cualquier servidor MCP stdio colocándose entre el agente y el servidor. Cada
tools/call se comprueba contra tu política antes de llegar al servidor. Una denegación
es respondida por la puerta de enlace y nunca se reenvía, por lo que el efecto secundario no ocurre.
Nada del servidor upstream cambia. No se parchea, no se bifurca y nunca se entera de que está siendo gobernado.
Por qué interponerse en lugar de observar
Un sidecar que observa el tráfico MCP y genera informes produce un registro de las cosas que no logró detener. Estar en el cable es lo que convierte un informe en una denegación.
Related MCP server: Dmint MCP Proxy
Instalación y ejecución
# Instead of launching the MCP server directly:
# my-mcp-server --flag
# launch it through the gateway:
AGENTOMY_ENDPOINT=https://your-agentomy \
AGENTOMY_API_KEY=... \
agentomy-mcp-gateway, my-mcp-server --flagEn la configuración MCP de un agente, reemplaza el command y los args del servidor:
{
"mcpServers": {
"dev-tools": {
"command": "agentomy-mcp-gateway",
"args": ["--", "the-original-command", "--its", "--flags"],
"env": { "AGENTOMY_ENDPOINT": "https://your-agentomy", "AGENTOMY_API_KEY": "..." }
}
}
}Esa es toda la integración. Un cambio de configuración, por agente, realizado por el operador.
Variable | Obligatoria | Significado |
| sí | URL base de la plataforma |
| no | Token Bearer |
| no | Identidad en la decisión, por defecto |
| no | Tiempo de espera de decisión, por defecto |
Qué hace con el protocolo
Mensaje | Comportamiento |
| Reenviado sin cambios |
| No reenviado. Error JSON-RPC |
| Descartado. Una notificación nunca debe responderse, por lo que la llamada se detiene y la respuesta se retiene |
Todo lo demás | Reenviado sin cambios |
De upstream al agente | Reenviado textualmente. Los resultados no se reescriben |
Las solicitudes se resuelven en orden de llegada. Decidir de forma concurrente permitiría que una llamada posterior llegara al servidor antes de que se resolviera una anterior, lo que es un error de reordenamiento que solo se manifiesta bajo carga.
Fail-closed, y qué te cuesta
Cada ruta de fallo deniega:
Condición | Motivo devuelto |
Endpoint inalcanzable |
|
Tiempo de espera de decisión agotado |
|
Respuesta no-2xx |
|
Cuerpo no JSON, o sin campo booleano |
|
Flota detenida |
|
Política denegada |
|
El intercambio honesto: si la plataforma está caída, las herramientas gobernadas dejan de funcionar. Ese es el comportamiento correcto para un componente de gobernanza y es un acoplamiento real de disponibilidad. Ejecuta la plataforma en consecuencia.
Los motivos son distintos a propósito. Un operador que ve governance_unreachable tiene una
caída; uno que ve policy_denied tiene una cuestión de política. Colapsarlos en "denegado"
los haría indistinguibles exactamente en el momento en que la diferencia importa.
Un campo authorized ausente deniega en lugar de leerse como verdadero, porque una
comprobación de verdad convertiría cualquier carga útil inesperada, incluido un objeto de error, en una autorización.
Qué no hace
Gobierna acciones, no descubrimiento. tools/list pasa directamente. Reducir lo que un agente
puede ver mientras se deja sin gobernar lo que puede hacer sería teatro en el lugar equivocado.
No reescribe resultados. La puerta de enlace resuelve solicitudes; hacer que edite respuestas la convertiría en participante de la conversación en lugar de una puerta sobre ella.
No inspecciona argumentos semánticamente. La política recibe el nombre de la herramienta y las claves de los argumentos, no los valores. La política a nivel de argumentos es una preocupación de la plataforma y enviar valores completos de argumentos a un endpoint de decisión pondría contenidos de archivos y comandos de shell en un segundo sistema.
Licencia
Apache-2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Guard wraps stdio MCP servers: risky calls wait for a person; no answer, no run. Remote: cooperative
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Related MCP Servers
- AlicenseAqualityBmaintenanceGovernance proxy for MCP servers. Wraps any MCP server with policy evaluation, human approval workflows, and hash-chain audit trails. Supports stdio and Streamable HTTP transports.14 npm15Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables developers to wrap existing MCP servers with a deterministic policy enforcement gate that intercepts tool discovery and tools/call requests over stdio, allowing only authorized calls to reach the downstream server. It supports dynamic tool exposure or hiding, allow/deny/approval-required decisions, configurable error disclosure modes, and Ed25519-signed retry credentials for approved workflows.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceSits in front of any MCP server to enforce allow/ask/block policies on tool calls, paths, shell commands, and network domains, with local approval prompts and an audit log.MIT
- AlicenseNot gradedqualityCmaintenanceA transparent MCP stdio proxy that sits between an agent client and a real MCP server, intercepting tools/call requests to enforce runtime guardrails derived from the same YAML rules used for CI regression testing. It blocks forbidden, out-of-whitelist, looping, or non-idempotent tool invocations with JSON-RPC errors and writes every decision to an audit log.1MIT