Skip to main content
Glama
wxsh-hub

mcp-gateway

by wxsh-hub

MCP Gateway

Capa de seguridad intermedia del ecosistema MCP — establece una barrera de protección entre los LLM y los servidores de herramientas

License: MIT Python 3.10+

¿Qué problema resuelve?

Cuando un agente LLM invoca herramientas externas a través del protocolo MCP, existen tres riesgos principales:

  1. Fuga de credenciales — Las respuestas devueltas por las herramientas pueden contener información sensible, como API Keys, tokens, etc., expuesta directamente al contexto del LLM.

  2. Exfiltración de datos privados — La información personal del usuario (nombre, número de identificación, número de tarjeta bancaria) puede transmitirse en la cadena de invocación de herramientas.

  3. Inyección de herramientas maliciosas — Las descripciones de las herramientas pueden ocultar instrucciones de inyección de prompts que inducen al agente a ejecutar operaciones peligrosas.

MCP Gateway actúa como capa de proxy que intercepta todo el tráfico y aplica filtros de seguridad antes de que las solicitudes/respuestas lleguen al agente.

Related MCP server: arc-gate-mcp

Descripción general de la arquitectura

┌─────────────┐      ┌──────────────────────────────────┐      ┌─────────────┐
│             │      │          MCP Gateway             │      │             │
│   LLM Agent │ ───► │  ┌──────────┐  ┌──────────────┐  │ ───► │  MCP Server │
│             │      │  │ Sanitize │  │   Plugin     │  │      │  (tools)    │
│             │ ◄─── │  │ Request  │  │   Pipeline   │  │ ◄─── │             │
└─────────────┘      │  └──────────┘  └──────────────┘  │      └─────────────┘
                     │         ▲               │         │
                     │         │    ┌──────────▼──┐      │
                     │         │    │  Sanitize   │      │
                     │         │    │  Response   │      │
                     │         │    └─────────────┘      │
                     └──────────────────────────────────┘

Flujo principal:

  • Dirección de solicitud: El Plugin Pipeline desensibiliza los parámetros (p. ej., elimina PII, filtra instrucciones de inyección).

  • Dirección de respuesta: Aplica enmascaramiento de tokens y filtrado de información sensible a los valores devueltos por las herramientas.

  • Fase de inicio: El Security Scanner evalúa la reputación de todos los servidores MCP configurados.

Inicio rápido

Instalación

git clone <your-repo-url>
cd mcp-gateway
pip install -e .

Dependencias opcionales:

pip install -e .[presidio]   # 启用 PII 检测(基于 Microsoft Presidio)

Configuración mínima

Crea un archivo mcp.json en la raíz del proyecto:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
    }
  }
}

Inicio

# 启用基础 Token 掩码
mcp-gateway -p basic

# 启用 Token 掩码 + PII 检测
mcp-gateway -p basic -p presidio

# 调试模式
LOGLEVEL=DEBUG mcp-gateway -p basic

Integración con Cursor / Claude Desktop

{
  "mcpServers": {
    "mcp-gateway": {
      "command": "mcp-gateway",
      "args": [
        "--mcp-json-path", "~/.cursor/mcp.json",
        "-p", "basic",
        "-p", "xetrack"
      ],
      "servers": {
        "filesystem": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
        }
      }
    }
  }
}
{
  "mcpServers": {
    "mcp-gateway": {
      "command": "<python-path>",
      "args": [
        "-m", "mcp_gateway.server",
        "--mcp-json-path", "<path-to-config>",
        "-p", "basic"
      ],
      "servers": {
        "filesystem": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
        }
      }
    }
  }
}

Capacidades de protección de seguridad

Enmascaramiento de tokens (plugin basic)

Detecta y reemplaza automáticamente las credenciales sensibles en las respuestas. Compatible con los formatos de clave de 12 plataformas de nube y herramientas de desarrollo populares:

Tipo

Formato de ejemplo

Clave de acceso de AWS

AKIA...

Token de GitHub

ghp_..., gho_...

Secreto de cliente de Azure

*.azure.com relacionado

Clave de API de GCP

AIza...

Token JWT

eyJ...

Token de HuggingFace

hf_...

Cookie de sesión de GitLab

_gitlab_session=...

Token de aplicación de Slack

xapp-...

Webhook de Microsoft Teams

*.webhook.office.com

mcp-gateway -p basic

Detección de PII (plugin presidio)

Basado en el motor Microsoft Presidio, detecta y anonimiza automáticamente la información de identificación personal en el texto:

  • Números de tarjeta de crédito, direcciones IP, correos electrónicos

  • Números de teléfono, números de identificación (SSN)

  • Más tipos de entidades en la documentación de Presidio

pip install -e .[presidio]
mcp-gateway -p presidio

Escáner de seguridad (--scan)

Antes del inicio, evalúa la reputación y analiza las descripciones de herramientas de todos los servidores MCP:

mcp-gateway --scan -p basic

Dimensiones del escaneo:

  • Evaluación de reputación — Calcula una puntuación integral basada en datos de GitHub (estrellas, forks, actividad de issues) y descargas de NPM.

  • Escaneo de descripciones de herramientas — Detecta instrucciones ocultas de inyección de prompts, referencias a rutas de archivos sensibles y comandos de operaciones peligrosas.

  • Bloqueo automático — Los servidores con una puntuación de reputación inferior al umbral (30 puntos por defecto) se marcan como blocked y se bloquea su carga.

Los resultados del escaneo se escriben en el archivo de configuración:

{
  "servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
      "blocked": "passed"
    }
  }
}

Valores de estado: "passed" (seguro) | "blocked" (bloqueado) | "skipped" (omitido manualmente) | null (no escaneado)

Seguimiento de llamadas

Plugin de seguimiento Xetrack

Registra el contexto completo de todas las invocaciones de herramientas, con soporte para consultas SQLite y DuckDB:

pip install xetrack
mcp-gateway -p xetrack

Configuración de variables de entorno:

  • XETRACK_DB_PATH — Ruta de la base de datos SQLite

  • XETRACK_LOGS_PATH — Directorio de archivos de registro

{
  "mcpServers": {
    "mcp-gateway": {
      "command": "mcp-gateway",
      "args": ["--mcp-json-path", "~/.cursor/mcp.json", "-p", "xetrack"],
      "env": {
        "XETRACK_DB_PATH": "tracing.db",
        "XETRACK_LOGS_PATH": "logs/"
      }
    }
  }
}

Ejemplo de consulta:

from xetrack import Reader
df = Reader("tracing.db").to_df()
-- DuckDB
INSTALL sqlite; LOAD sqlite; ATTACH 'tracing.db' (TYPE sqlite);
SELECT server_name, capability_name, content_text FROM db.events LIMIT 10;

Herramientas de proxy

Gateway expone dos herramientas estandarizadas al LLM:

Herramienta

Función

get_metadata

Obtiene la lista de capacidades de todos los servidores MCP registrados, lo que ayuda al LLM a elegir la herramienta adecuada.

run_tool

Ejecuta cualquier invocación de herramienta MCP a través de Gateway, aplicando automáticamente el procesamiento de seguridad de solicitudes/respuestas.

Desarrollo de plugins

El sistema de plugins se basa en el patrón de clase base ABC + registro mediante decoradores:

from mcp_gateway.plugins.base import GuardrailPlugin
from mcp_gateway.plugins.manager import register_plugin

@register_plugin
class MyPlugin(GuardrailPlugin):
    @property
    def name(self) -> str:
        return "my-plugin"

    def process_request(self, context):
        # 请求方向的处理逻辑
        return context.arguments

    def process_response(self, context, response):
        # 响应方向的处理逻辑
        return response

Los plugins se descubren y cargan automáticamente a través de PluginManager, con soporte para intercepción bidireccional de solicitudes/respuestas.

Estructura del proyecto

mcp_gateway/
├── __init__.py              # 包入口
├── server.py                # MCP Server 生命周期管理
├── gateway.py               # 动态工具注册、CLI 参数解析
├── config.py                # 配置文件加载
├── sanitizers.py            # 请求/响应安全分发
├── plugins/
│   ├── base.py              # Plugin ABC 基类
│   ├── manager.py           # 插件发现、注册、Pipeline
│   ├── guardrails/
│   │   ├── basic.py         # Token 掩码插件
│   │   └── presidio.py      # PII 检测插件
│   └── tracing/
│       └── xetrack.py       # 调用追踪插件
├── security_scanner/
│   ├── scanner.py           # 扫描器主入口
│   ├── github_collector.py  # GitHub API 数据采集
│   ├── npm_collector.py     # NPM Registry 数据采集
│   ├── smithery_collector.py# Smithery 市场数据采集
│   ├── project_analyzer.py  # 综合信誉评分算法
│   └── tool_poisoning_analyzer.py  # 工具描述安全分析
└── tests/
    ├── test_sanitizers.py
    ├── test_tool_poisoning_analyzer.py
    ├── test_plugin_pipeline.py
    └── test_config.py

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A transparent proxy and execution firewall that intercepts and audits AI agent tool calls against configurable security policies before forwarding them to downstream MCP servers. It provides safe execution environments with features like data redaction, anti-loop protection, and unified alert dispatching.
  • A
    license
    A
    quality
    B
    maintenance
    Runtime governance proxy for MCP tool calls. Inspects tool results for prompt injection and capability abuse before they reach your agent, blocking attacks that exploit the MCP trust boundary.
    1
    2
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables secure interaction between LLMs and MCP tools by applying zero-trust security controls, including sensitive data masking, file system protection, and policy enforcement.

View all related MCP servers

Related MCP Connectors

  • Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.

  • The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wxsh-hub/mcp-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server