Skip to main content
Glama

MandateGuard

CI MCP Registry License: MIT

Детерминированная, аудируемая политика платежей для автономных ИИ-агентов.

MandateGuard — это уровень принудительного контроля, который располагается между агентом и его инструментами/кошельком. Каждый вызов инструмента, который перемещает деньги, оценивается чистым, детерминированным движком — бюджеты, списки разрешений, списки блокировок, лимиты частоты и подписанные мандаты — до того, как что-либо выполнится. Никакая LLM никогда не участвует в принятии решения, что и делает каждый вердикт воспроизводимым, а каждую запись в реестре — проверяемой.

Он поставляется с MCP-сервером, так что любой агент (Claude, Cursor или ваш собственный харнесс) может подключить его как защитный барьер за считанные минуты.


Зачем

Реальность агентной экономики 2026 года:

  • OWASP LLM08 — Excessive Agency — один из главных рисков LLM-приложений. Агенты, получившие кошельки, подвергаются опустошению: SoK по агентной коммерции документирует реальные потери на сумму более $40 млн (атаки с опустошением, отравление памяти, злоупотребление инструментами).

  • Платёжные стандарты (мандаты Intent/Cart/Payment от Google AP2, x402 от Coinbase, ERC-8004) определяют, что такое мандат, — но ни один из них не предоставляет уровень принуждения, который фактически блокирует агента на лету.

  • Gartner: 40% корпоративных приложений будут включать агентов к концу 2026 года. Эти агенты будут перемещать деньги. Им нужны рельсы.

Рыночный пробел: детерминированный (не-LLM) движок политик + аудиторский след + распространение через MCP. Это и есть данный репозиторий.

Related MCP server: gov-mcp

Возможности

  • Детерминированный движок — одинаковые входные данные, одинаковый вердикт, всегда. Аудит путём воспроизведения, без выборки из модели в решении.

  • Области действия для каждого актора — разрешённые инструменты, разрешённые назначения, максимум на вызов, валюта, лимиты вызовов за окно.

  • Глобальные защитные механизмы — общие лимиты бюджета, список разрешённых/блокируемых назначений.

  • Подписанные мандаты (Ed25519) — краткосрочные, привязанные к nonce, авторизации, подписанные эмитентом, в стиле AP2 / x402. Агент не может расширить собственную область действия.

  • Реестр с защитой от подделки — каждое решение является append-only и связано цепочкой SHA-256. Любое изменение, переупорядочивание или удаление обнаруживается линейным сканированием.

  • MCP-сервер — подключается как защитный барьер; инструменты для политики, авторизации, выпуска мандатов и проверки состояния реестра.

  • Ноль зависимостей в пути принятия решенийcryptography только для мандатов; основные правила работают на одной стандартной библиотеке.

Установка

# from this repo (works today; also on the official MCP Registry)
git clone https://github.com/ezequiellich44-cmd/MandateGuard.git
cd MandateGuard
python -m pip install -e .

# or directly from the source:
python -m pip install "git+https://github.com/ezequiellich44-cmd/MandateGuard.git"

Примечание: mandateguard на PyPI ожидает настройки Trusted Publisher; до этого момента URL репозитория является каноническим путём установки. MCP-бандл доступен в официальном MCP Registry (io.github.ezequiellich44-cmd/mandateguard), поэтому MCP-совместимые клиенты могут установить его без какого-либо шага с Python.

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

from mandateguard import Intent, Policy, PolicyEngine, Scope

policy = Policy(
    scopes={
        "wallet-agent": Scope(
            tools=("pay",),
            destinations=("0xGOOD",),
            max_amount=1000,          # per call
            currency="usd",
            max_calls_per_window=5,
        )
    },
    global_max_amount=2000,           # per actor
    allowlist=("0xGOOD",),
    denylist=("0xSCAM",),
)
engine = PolicyEngine(policy)

decision = engine.authorize(
    Intent(tool="pay", destination="0xGOOD", amount=800, actor="wallet-agent")
)
print(decision.status)   # DecisionStatus.APPROVED

Отклонённые вызовы блокируются с структурированными причинами; состояние (расходы/частота) фиксируется только при одобрении, поэтому воспроизведение детерминировано.

MCP-сервер

Пакет поставляется с устанавливаемой точкой входа MCP-сервера:

python -m pip install -e ".[mcp]"
mandateguard-mcp            # stdio server, ready for Claude/Cursor/harness

Для Claude Code:

claude mcp add mandateguard -- mandateguard-mcp

MandateGuard опубликован в официальном MCP Registry: io.github.ezequiellich44-cmd/mandateguard (версия 1.0.0, бандл mcpb, активен). MCP-совместимые клиенты, синхронизирующие реестр, могут обнаружить и установить его напрямую. Бандл поставляется с тем же stdio-сервером и поверхностью из 14 инструментов.

Доступные инструменты: set_scope, set_global_policy, authorize, init_ledger, ledger_status, create_mandate_signer, issue_mandate, check_mandate, activate_license, license_status, reset_state, а также инструменты Pro-уровня revoke_mandate и persist_state за подписанной Pro-лицензией (покупка за USDT — см. раздел «Купить»).

Мандаты

from mandateguard import Mandate, MandateSigner, verify_mandate

issuer = MandateSigner()
m = Mandate(actor="wallet-agent", max_amount=500, currency="usd",
            tools=("pay",), destinations=("0xGOOD",),
            not_before="2026-01-01T00:00:00+00:00",
            not_after="2099-01-01T00:00:00+00:00", nonce="abc", issuer="you")
sig = issuer.sign(m)
verify_mandate(issuer.public_key_bytes, m, sig)   # True

Архитектура

См. docs/ARCHITECTURE.md для описания потока решений и модели состояния, docs/THREAT_MODEL.md для того, от чего это защищает и от чего не защищает, и docs/LAUNCH.md для коммерческого предложения и набора для выхода на рынок.

Agent intent ──> authorize(intent) ──> PolicyEngine
                                          │  scope? allowlist? denylist?
                                          │  budget? rate limit? mandate?
                                          ▼
                                     APPROVED / DENIED / REQUIRES_APPROVAL
                                          │
                                          ▼
                              append-only SHA-256 ledger (audit)

Тесты

python -m pytest -q

Лицензия

MIT. См. LICENSE.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (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

  • A
    license
    -
    quality
    A
    maintenance
    Budget & cost control for AI agents: hard per-agent spend caps, rate limits, idempotency, and human-in-the-loop approval — enforced before each LLM call, not after the invoice. One hosted MCP endpoint (no proxy or self-hosting), settled via x402 (USDC on Base).
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    An MCP server that enforces runtime governance on AI agent actions — file access, command execution, delegation chains, and permission escalation.
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    MCP server that enables AI agents to propose USDC payments on the Soroban blockchain with deterministic policy enforcement and injection protection, while providing payment status and attestation tools.
    MIT

View all related MCP servers

Related MCP Connectors

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/ezequiellich44-cmd/MandateGuard'

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