Skip to main content
Glama
aki83reo

Secure Agent MCP Gateway

by aki83reo

Безопасный шлюз MCP для агента

Триаж оповещений SOC с защитным шлюзом MCP-to-MCP: агент никогда не взаимодействует с реальными инструментами напрямую. Каждый tools/list / tools/call ограничен и авторизован по роли (viewer | operator | admin).

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

Подробнее: gateway/README.md.

Быстрый старт (локально)

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)

Три ролевых сервиса (локально)

# 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

Детерминированный путь (без MCP / без шлюза):

python main.py --alert sample_alert.json

Проверка только по политике:

python -m gateway.policy

Related MCP server: production-mcp-server

Развертывание в Docker

Требуется Docker + Compose. Секреты остаются вне образа:

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

Сборка

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

Три сервиса (по одной роли каждый)

Один и тот же образ; разные GATEWAY_ROLE. Каждый контейнер запускает полную цепочку (main → gateway → mcp_server) для своей роли.

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

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

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

Или запустите по имени сервиса:

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

Передайте ключ без файла:

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

Обычный Docker (без 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

Переменные окружения

Переменная

Назначение

LLM_API_KEY

Требуется для агента / сводки результатов

LLM_MODEL

По умолчанию gpt-4o-mini

LLM_PROVIDER

По умолчанию openai

GATEWAY_ROLE

viewer | operator | admin

.env игнорируется git. Коммитится только .env.example.

Роли (политика)

Роль

Может использовать

viewer

check_ip_reputation

operator

репутация, триаж, сводка, уведомление

admin

все инструменты, включая block_ip + escalate_alert

Определено в gateway/policy.yaml.

Maintenance

ActivitySlowing
ResponsivenessNo issues

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