Skip to main content
Glama
agent-guard-mcp
by dygogogo

agent-guard-mcp

CI License: MIT Go Reference

MCP Guard Server — контроль бюджета, рабочие процессы утверждения и аудит-логирование для ИИ-агентов.

Работает с Claude Code, Cursor, ChatGPT и любым ИИ-агентом, поддерживающим протокол MCP.

Возможности

  • Контроль бюджета — жесткий лимит ежедневных кредитов предотвращает перерасход средств агентом

  • Утверждение операций с высоким риском — операции, превышающие пороговую сумму или содержащие ключевые слова чувствительных ресурсов, требуют подтверждения человеком

  • Рабочий процесс утверждения — запрос агента → генерация токена → утверждение человеком через дашборд или Telegram

  • Аудит-лог — все действия по расходам, утверждению и отклонению записываются с постраничной навигацией на основе курсора

  • Веб-дашборд — дашборд в реальном времени на базе Gin + HTMX + Tailwind

  • Уведомления в Telegram — мгновенные ссылки для утверждения операций с высоким риском

  • Мульти-транспорт — stdio / SSE / StreamableHTTP с автоматическим определением

Related MCP server: llm-cost-guard

Инструменты MCP

Инструмент

Описание

check_budget

Запрос текущего состояния бюджета

spend

Выполнение расхода (автоматическое обнаружение высокого риска)

request_approval

Явный запрос утверждения человеком

approve

Утверждение ожидающего токена

reject

Отклонение ожидающего токена

check_approval

Опрос статуса утверждения

get_audit_log

Запрос аудит-лога с фильтрацией и постраничной навигацией

get_pending_approvals

Список всех ожидающих запросов на утверждение

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

Требования

  • Go 1.24+

  • CGO не требуется (чистый Go-драйвер SQLite)

Сборка из исходного кода

git clone https://github.com/dygogogo/agent-guard-mcp.git
cd agent-guard-mcp
go build -o mcp-guard main.go

Загрузка готового бинарного файла

Загрузите последний релиз для вашей платформы:

Или посетите страницу последнего релиза.

Конфигурация

Настройка через переменные окружения или файл .env:

Переменная

Описание

По умолчанию

MCP_TRANSPORT

Транспорт: stdio / sse / http

Автоопределение (TTY → http)

BUDGET_LIMIT

Дневной лимит бюджета (кредиты)

10.0

HIGH_RISK_THRESHOLD

Порог суммы высокого риска

2.0

HIGH_RISK_RESOURCES

Ключевые слова ресурсов высокого риска (через запятую)

delete,send

DB_PATH

Путь к базе данных SQLite

./mcp-guard.db

DASHBOARD_PORT

HTTP-порт дашборда

8080

APPROVAL_BASE_URL

Базовый URL для ссылок утверждения

http://localhost:8080

LOG_LEVEL

Уровень логирования: debug/info/warn/error

info

PAYER_ID

Идентификатор плательщика

hostname

TELEGRAM_BOT_TOKEN

Токен Telegram-бота (опционально)

-

TELEGRAM_CHAT_ID

ID чата Telegram (опционально)

-

Запуск

# HTTP mode (auto-detected, with Dashboard)
./mcp-guard
# Dashboard: http://localhost:8080/dashboard
# MCP endpoint: http://localhost:8080/mcp

# stdio mode (for MCP clients)
MCP_TRANSPORT=stdio ./mcp-guard

# SSE mode
MCP_TRANSPORT=sse ./mcp-guard
# SSE endpoint: http://localhost:8080/sse

Интеграция с Claude Code

Добавьте в конфигурацию MCP для Claude Code:

{
  "mcpServers": {
    "agent-guard-mcp": {
      "command": "mcp-guard",
      "env": {
        "MCP_TRANSPORT": "stdio",
        "BUDGET_LIMIT": "10"
      }
    }
  }
}

Архитектура

┌─────────────┐     MCP Protocol     ┌────────────────┐
│  AI Agent   │ ◄──────────────────► │  MCP Guard      │
│ (Claude,    │   stdio / HTTP       │  Server         │
│  Cursor...) │                      │                  │
└─────────────┘                      │  ┌────────────┐ │
                                     │  │  BudgetStore │ │
┌─────────────┐    HTTP              │  │  (SQLite)    │ │
│  Dashboard  │ ◄──────────────────► │  └────────────┘ │
│  (Gin+HTMX) │                      └────────────────┘
└─────────────┘

┌─────────────┐    Webhook
│  Telegram   │ ◄────── Approval notifications
└─────────────┘

Основные файлы

Файл

Описание

main.go

Точка входа, выбор транспорта, корректное завершение работы

server.go

MCP-сервер с 8 зарегистрированными инструментами

store.go

Интерфейс BudgetStore + реализация SQLite

approval.go

Обнаружение высокого риска, рабочий процесс утверждения, Telegram

config.go

Конфигурация окружения, автоопределение транспорта

logger.go

Логирование zap (режим stdio: только файл)

dashboard.go

Веб-дашборд на Gin

Рабочий процесс утверждения

1. Agent calls spend(amount=5.0, resource="/api/delete")
2. MCP Guard detects high-risk (amount > threshold OR resource keyword matched)
3. Returns {status: "pending_approval", token: "xxx"}
4. Agent polls check_approval(token) for status
5. Human approves/rejects via Dashboard or Telegram
6. Agent receives final result (approved/rejected/budget_exceeded)

Тестирование

# All tests with race detection
go test -race -count=1 ./...

# Integration tests only
go test -race -run TestIntegration -v ./...

# Coverage
go test -race -cover ./...

Технологический стек

  • Go 1.24 — Язык

  • mcp-go — Go SDK для протокола MCP

  • Gin — Веб-фреймворк (дашборд)

  • modernc.org/sqlite — Чистый Go SQLite (без CGO)

  • zap — Структурированное логирование

  • HTMX + Tailwind CSS — Фронтенд дашборда

Лицензия

MIT


中文

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for AI agent security guardrails. Provides input validation, prompt injection detection, PII redaction, output filtering, policy enforcement, rate limiting, and comprehensive audit logging.
      66 npm
      1
      MIT
    • A
      license
      B
      quality
      A
      maintenance
      Governance runtime for AI agents: a guard tool evaluates risky actions against policy before they execute (block / warn / require human approval), approvals route to a human queue, and every action becomes a replayable decision record with per-action spend tracking. Runs over stdio via npx @dashclaw/mcp-server; works with Claude Code, Codex, LangChain, CrewAI, or any MCP host.
      68
      318
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MartinLoop is the independent governance and financial control layer for AI coding agents. Set hard spend limits, prevent runaway loops, enforce verification, trigger rollback on failure, and generate auditable receipts showing what changed, what it cost, and whether the work passed.
      24
      359 npm
      296
      Apache 2.0

    Appeared in Searches