Skip to main content
Glama
willdynan

mcp-data-gateway

by willdynan

mcp-data-gateway

tests

Entrega un cliente de IA a una persona y MCP es fácil. Entrégalo a un equipo — analistas, operaciones de personas, líderes, cada uno con derecho a sistemas distintos — y el servidor necesita una respuesta que pueda defender: ¿quién llama y a qué puede acceder? Este repositorio es esa respuesta, reducida a sus partes esenciales.

Una única decisión allows() lo impulsa todo. Filtra lo que cada identidad ve y rechaza lo que intentan de todos modos, de modo que la lista de herramientas nunca sea lo único que se interpone entre un llamador y un sistema. Los permisos fallan en modo cerrado: un almacén ausente o corrupto deniega a todos excepto a un superusuario de emergencia que vive en el código, precisamente para que ninguna caída del almacén pueda bloquear a la persona que arregla los almacenes. Cada llamada — y cada denegación — aterriza como una línea de auditoría con límite de tamaño.

Opiniones incorporadas:

  • Los permisos nombran las herramientas una a una. Los globs se rechazan en el momento de la carga, porque la herramienta de escritura que alguien publique el próximo trimestre no debe heredar su camino hacia una identidad de solo lectura.

  • Una herramienta que une dos sistemas declara ambos, y el llamador necesita ambos. Las lecturas son lo que se filtra, no los nombres.

  • Una prueba de instantánea fija la superficie de herramientas, y una segunda mantiene la superficie de escritura en exactamente una herramienta.

  • La puerta SQL ofrece denegaciones rápidas y específicas — pero la verdadera barrera son los permisos de la identidad de la base de datos. Puedes pasar por alto un escaneo de texto. No puedes pasar por alto IAM.

Inicio rápido

python3 -m unittest discover -s tests   # no dependencies
python3 -m gateway.demo                 # three identities, one denial on the record
pip install mcp && GATEWAY_IDENTITY=analyst@example.com python3 -m gateway.server

Related MCP server: mcp-policy-gateway

Profundizando

docs/design.md recorre las piezas con salida capturada. docs/rules.md da a cada regla su razón y su prueba. docs/lineage.md contiene los límites honestos y la procedencia.

Destilado en agosto de 2026 a partir de puertas de enlace de producción que se ganaron cada regla de la manera difícil. El registro de confirmaciones comienza en la destilación.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A least-privilege enforcement proxy for MCP servers. It sits between MCP clients and upstream servers, enforcing tool policies, hiding denied tools, requiring human approval for risky actions, and providing a structured audit trail.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An authorizing reverse proxy for MCP servers that enforces per-call policy rules on tool arguments with audit logging, dry-run, and rate limiting.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enforces deterministic security policies as an inline firewall for MCP server tool calls, with AST-based validation, cryptographic audit logging, and CLI-based evaluation and verification.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables developers to scaffold secure-by-default MCP servers with deny-all permissions, typed tool stubs, and pre-wired audit hooks, while enforcing security posture through CI.
    3 npm
    MIT