Secure Agent MCP Gateway
Безопасный шлюз 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.policyRelated 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Переменные окружения
Переменная | Назначение |
| Требуется для агента / сводки результатов |
| По умолчанию |
| По умолчанию |
|
|
.env игнорируется git. Коммитится только .env.example.
Роли (политика)
Роль | Может использовать |
|
|
| репутация, триаж, сводка, уведомление |
| все инструменты, включая |
Определено в gateway/policy.yaml.
This server cannot be deployed
Maintenance
Related MCP Connectors
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Identity, authorization, audit trails, and revocable permissions for AI agents accessing MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA 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
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseAqualityCmaintenanceProvides 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.21Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables governed MCP agent tool invocation with policy-based authorization, short-lived credentials, and audited access control.7 npmMIT