Skip to main content
Glama
Secure Agent MCP Gateway

Secure Agent MCP Gateway

by aki83reo

Secure Agent MCP Gateway

SOC-Alert-Triage mit einem MCP-zu-MCP-Sicherheitsgateway: Der Agent kommuniziert nie direkt mit echten Tools. Jeder tools/list- / tools/call-Aufruf wird anhand der Rolle (viewer | operator | admin) eingeschränkt und autorisiert.

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

Weitere Details: gateway/README.md.

Schnellstart (lokal)

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)

Drei Rollen-Dienste (lokal)

# 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

Deterministischer Pfad (ohne MCP / ohne Gateway):

python main.py --alert sample_alert.json

Reine Policy-Prüfung:

python -m gateway.policy

Related MCP server: production-mcp-server

Docker-Deployment

Erfordert Docker + Compose. Secrets bleiben außerhalb des Images:

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

Erstellen

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

Drei Dienste (je eine Rolle)

Dasselbe Image; unterschiedliche GATEWAY_ROLE. Jeder Container führt die vollständige Kette (main → gateway → mcp_server) für diese Rolle aus.

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

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

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

Oder nach Dienstnamen starten:

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

Den Schlüssel ohne Datei übergeben:

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

Reines Docker (ohne 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

Umgebung

Variable

Zweck

LLM_API_KEY

Erforderlich für Agent und Findings-Zusammenfassung

LLM_MODEL

Standard gpt-4o-mini

LLM_PROVIDER

Standard openai

GATEWAY_ROLE

viewer | operator | admin

.env ist gitignoriert. Nur .env.example wird committet.

Rollen (Policy)

Rolle

Kann verwenden

viewer

check_ip_reputation

operator

reputation, triage, summarize, notify

admin

alle Tools einschließlich block_ip + escalate_alert

Definiert in 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
    C
    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