Skip to main content
Glama
getagentomy

Agentomy MCP Gateway

Official
by getagentomy

Agentomy 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.

License focus

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 --flag

En 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

AGENTOMY_ENDPOINT

sí

URL base de la plataforma

AGENTOMY_API_KEY

no

Token Bearer

AGENTOMY_AGENT_ID

no

Identidad en la decisión, por defecto mcp-gateway

AGENTOMY_TIMEOUT_MS

no

Tiempo de espera de decisión, por defecto 5000

Qué hace con el protocolo

Mensaje

Comportamiento

tools/call, permitido

Reenviado sin cambios

tools/call, denegado

No reenviado. Error JSON-RPC -32000 en el mismo id, con data.governed = true y el motivo

tools/call, denegado, sin id

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

governance_unreachable

Tiempo de espera de decisión agotado

governance_timeout

Respuesta no-2xx

governance_http_error

Cuerpo no JSON, o sin campo booleano authorized

governance_malformed_response

Flota detenida

agent_halted

Política denegada

policy_denied

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.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Governance 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.
    1
    4 npm
    15
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Sits 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    1
    MIT