Skip to main content
Glama
willdynan

mcp-data-gateway

by willdynan

mcp-data-gateway

tests

Дайте ИИ-клиент одному человеку — и MCP прост. Дайте его команде — аналитиков, кадровиков, руководителей, каждому из которых положены разные системы, — и серверу нужен ответ, который он может отстоять: кто вызывает, и к чему им можно прикасаться? Этот репозиторий и есть этот ответ, урезанный до несущих частей.

Одно решение allows() управляет всем. Оно фильтрует то, что видит каждая идентичность, и отказывает в том, что они всё равно пытаются, так что список инструментов никогда не является единственным барьером между вызывающим и системой. Права закрываются по умолчанию: отсутствующее или повреждённое хранилище отказывает всем, кроме суперпользователя «аварийного доступа», который живёт в коде, — именно для того, чтобы сбой хранилища не мог заблокировать того, кто чинит хранилища. Каждый вызов — и каждый отказ — попадает в строку аудита с ограничением размера.

Заложенные принципы:

  • Права называют инструменты по одному. Глоб-шаблоны отклоняются при загрузке, потому что инструмент записи, который кто-то выпустит в следующем квартале, не должен по наследству попасть в учётную запись с доступом только на чтение.

  • Инструмент, который соединяет две системы, объявляет обе, и вызывающему нужны обе. Утекают именно чтения, а не имена.

  • Снимковый тест фиксирует поверхность инструментов, и второй удерживает поверхность записи ровно на одном инструменте.

  • SQL-шлюз даёт быстрые и конкретные отказы — но настоящий забор — это права учётной записи базы данных. Текстовый скан можно обойти. IAM не обойти.

Быстрый старт

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

Углубление

docs/design.md разбирает части с захваченным выводом. docs/rules.md даёт каждому правилу его обоснование и его тест. docs/lineage.md содержит честные ограничения и происхождение.

Дистиллировано в августе 2026 года из продакшн-шлюзов, которые выстрадали каждое правило. Журнал коммитов начинается с дистилляции.

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