agent-guard-mcp
agent-guard-mcp
MCP Guard Server — контроль бюджета, рабочие процессы утверждения и аудит-логирование для ИИ-агентов.
Работает с Claude Code, Cursor, ChatGPT и любым ИИ-агентом, поддерживающим протокол MCP.
Возможности
Контроль бюджета — жесткий лимит ежедневных кредитов предотвращает перерасход средств агентом
Утверждение операций с высоким риском — операции, превышающие пороговую сумму или содержащие ключевые слова чувствительных ресурсов, требуют подтверждения человеком
Рабочий процесс утверждения — запрос агента → генерация токена → утверждение человеком через дашборд или Telegram
Аудит-лог — все действия по расходам, утверждению и отклонению записываются с постраничной навигацией на основе курсора
Веб-дашборд — дашборд в реальном времени на базе Gin + HTMX + Tailwind
Уведомления в Telegram — мгновенные ссылки для утверждения операций с высоким риском
Мульти-транспорт — stdio / SSE / StreamableHTTP с автоматическим определением
Инструменты MCP
Инструмент | Описание |
| Запрос текущего состояния бюджета |
| Выполнение расхода (автоматическое обнаружение высокого риска) |
| Явный запрос утверждения человеком |
| Утверждение ожидающего токена |
| Отклонение ожидающего токена |
| Опрос статуса утверждения |
| Запрос аудит-лога с фильтрацией и постраничной навигацией |
| Список всех ожидающих запросов на утверждение |
Быстрый старт
Требования
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Загрузка готового бинарного файла
Загрузите последний релиз для вашей платформы:
Платформа | amd64 | arm64 |
macOS | ||
Linux | ||
Windows |
Или посетите страницу последнего релиза.
Конфигурация
Настройка через переменные окружения или файл .env:
Переменная | Описание | По умолчанию |
| Транспорт: stdio / sse / http | Автоопределение (TTY → http) |
| Дневной лимит бюджета (кредиты) | 10.0 |
| Порог суммы высокого риска | 2.0 |
| Ключевые слова ресурсов высокого риска (через запятую) | delete,send |
| Путь к базе данных SQLite | ./mcp-guard.db |
| HTTP-порт дашборда | 8080 |
| Базовый URL для ссылок утверждения | |
| Уровень логирования: debug/info/warn/error | info |
| Идентификатор плательщика | hostname |
| Токен Telegram-бота (опционально) | - |
| 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
└─────────────┘Основные файлы
Файл | Описание |
| Точка входа, выбор транспорта, корректное завершение работы |
| MCP-сервер с 8 зарегистрированными инструментами |
| Интерфейс BudgetStore + реализация SQLite |
| Обнаружение высокого риска, рабочий процесс утверждения, Telegram |
| Конфигурация окружения, автоопределение транспорта |
| Логирование zap (режим stdio: только файл) |
| Веб-дашборд на 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
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/dygogogo/agent-guard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server