Skip to main content
Glama
Secure Agent MCP Gateway

Secure Agent MCP Gateway

by aki83reo

Secure Agent MCP Gateway

Triaje de alertas SOC con una puerta de enlace de seguridad MCP-a-MCP: el agente nunca habla directamente con las herramientas reales. Cada tools/list / tools/call está limitado y autorizado por rol (viewer | operator | admin).

main.py (agent)  →  gateway  →  mcp_server (tools)

Más detalle: gateway/README.md.

Inicio rápido (local)

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

cp .env.example .env
# edit .env — set LLM_API_KEY (never commit .env)

Tres servicios de rol (local)

# 1) Viewer — reputation lookups only
python main.py --mcp --role viewer --alert sample_alert.json

# 2) Operator — triage / summarize / notify (no block or escalate)
python main.py --mcp --role operator --alert sample_alert.json

# 3) Admin — full tool set through the gateway
python main.py --mcp --role admin --alert sample_alert.json

Ruta determinista (sin MCP / sin gateway):

python main.py --alert sample_alert.json

Comprobación solo de política:

python -m gateway.policy

Related MCP server: production-mcp-server

Despliegue con Docker

Requiere Docker + Compose. Los secretos permanecen fuera de la imagen:

cp .env.example .env
# set LLM_API_KEY in .env

Compilación

docker compose build
# or:
docker build -t secure-agent-mcp-gateway:latest .

Tres servicios (uno por rol)

Misma imagen; GATEWAY_ROLE diferente. Cada contenedor ejecuta la cadena completa (main → gateway → mcp_server) para ese rol.

# 1) Viewer
docker compose run --rm triage-viewer

# 2) Operator
docker compose run --rm triage-operator

# 3) Admin
docker compose run --rm triage-admin

O iniciar por nombre de servicio:

docker compose up triage-viewer
docker compose up triage-operator
docker compose up triage-admin

Pasar la clave sin archivo:

LLM_API_KEY=sk-... docker compose run --rm triage-admin

Docker simple (sin Compose)

docker build -t secure-agent-mcp-gateway:latest .

docker run --rm \
  -e LLM_API_KEY \
  -e LLM_MODEL=gpt-4o-mini \
  -e GATEWAY_ROLE=viewer \
  secure-agent-mcp-gateway:latest \
  python main.py --mcp --role viewer --alert sample_alert.json

docker run --rm -e LLM_API_KEY -e GATEWAY_ROLE=operator \
  secure-agent-mcp-gateway:latest \
  python main.py --mcp --role operator --alert sample_alert.json

docker run --rm -e LLM_API_KEY -e GATEWAY_ROLE=admin \
  secure-agent-mcp-gateway:latest \
  python main.py --mcp --role admin --alert sample_alert.json

Entorno

Variable

Propósito

LLM_API_KEY

Requerida para el agente / resumen de hallazgos

LLM_MODEL

Por defecto gpt-4o-mini

LLM_PROVIDER

Por defecto openai

GATEWAY_ROLE

viewer | operator | admin

.env está en gitignore. Solo se confirma .env.example.

Roles (política)

Rol

Puede usar

viewer

check_ip_reputation

operator

reputation, triage, summarize, notify

admin

todas las herramientas, incluidas block_ip + escalate_alert

Definido en gateway/policy.yaml.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A secure MCP gateway for enterprise AI tool execution, enabling governed invocation of business tools with authentication, RBAC, audit logging, PII redaction, and async processing.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to safely call enterprise tools through a governed MCP gateway with permission enforcement, blast-radius controls, input validation, and a full audit trail for every invocation.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides a security governance layer for AI agents to safely access upstream MCP servers, enforcing tool-level RBAC, parameter constraints, authentication via static tokens or OIDC, and tamper-evident audit logging.
    2
    1
    Apache 2.0