使用说明
SentinelMCP–人工智能代理审计员
基于MCP的人工智能代理治理:对成本飙升、安全问题、速率限制和异常情况的活动日志进行审计。为 2快速2 MCP 编程马拉松;与集成 阿奇斯特拉 作为MCP服务器。
现场演示: sentinel-mcp-auditor.onrender.com
代表: github/incruder1/sentinel_mcp
它的作用
您发送代理活动日志(纯文本)。SentinelMCP返回结构化报告:
- 风险评分 (0–100)
- 冲突 包括类型(成本、安全、费率、异常)、严重程度、描述和建议
- 受审核的代理人 以及简短的总结
它作为REST API和MCP服务器运行,因此Archestra(或任何MCP客户端)可以调用审计工具。
技术栈
- Python 3.10+, 快速API, 派丹蒂克, Uvicorn
- MCP-SDK 面向Archestra的服务器
- 开放人工智能 (可选)用于设置基于LLM的审核
OPENAI_API_KEY
架构: 两个入口。 main.py 运行web应用程序和REST API(例如在Render上)。 mcp_server.py 运行MCP服务器(例如,Archestra的本地服务器)。两者都使用相同的审计逻辑 tools.py默认情况下,审计是基于规则的;可选的 use_ai=true 使用LLM处理更混乱的日志。
建筑
SentinelMCP之前
Archestra Platform
├─ Agent A → calls gpt-4 500x → burns $450 💸
├─ Agent B → accesses prod DB → security risk 🔓
└─ Agent C → infinite loop → nobody notices ♾️
使用SentinelMCP
┌────────────────────────────────────────────────────────────┐
│ Archestra Control Plane │
│ Central execution • Permissions • Observability │
└────────────────────────────────────────────────────────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Agent A │ │ Agent B │ │ Agent C │
│ (App) │ │ (App) │ │ (App) │
└─────────┘ └─────────┘ └─────────┘
│ │ │
└────────────────────┼────────────────────┘
│ activity logs
▼
┌─────────────────┐
│ SentinelMCP │
│ (Auditor) │
└─────────────────┘
│
▼
┌─────────────────────┐
│ Audit Report │
│ • Risk Score: 95/100│
│ • 3 CRITICAL issues │
│ • Recommendations │
└─────────────────────┘
密钥: SentinelMCP运行 Archestra内部 作为治理层。所有代理活动都经过审计检查。
安全和治理功能
| 功能 | 实现 |
|---|---|
| 工具级隔离 | SentinelMCP有一个功能: audit_agent_activity() |
| 只读 | 仅读取日志;无法修改代理或基础结构 |
| 结构化输出 | Pydantic模型;没有自由形式的代理操作 |
| 多智能体可观察性 | 在一份报告中跟踪所有代理的违规行为 |
| 费用控制 | 在账单爆炸之前标记支出阈值 |
| 安全执行 | 检测未经授权的访问、凭据泄漏 |
| Archestra原住民 | 设计为控制平面组件,而非独立组件 |
快速开始
本地
git clone https://github.com/incruder1/sentinel_mcp.git
cd sentinel_mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.py
打开 http://localhost:10000 对于UI,或者调用API:
curl http://localhost:10000/health
curl -X POST http://localhost:10000/audit -H "Content-Type: application/json" \
-d '{"activity_logs": "Agent-X: cost $500 in 1hr\nAgent-Y: API_KEY exposed in logs"}'
快速演示(CLI): 随着服务器的运行, python demo.py 针对API运行多个审核场景。对于多代理编排器: python orchestrator.py (使用相同 /audit 端点)。
项目结构
| 路径 | 目的 |
|---|---|
main.py |
FastAPI应用程序:web UI, /audit, /health, /mock-data |
mcp_server.py |
Archestra的独立MCP服务器(端口10001) |
tools.py |
审计逻辑:规则+可选LLM审计 |
static/index.html |
实时审计演示前端 |
demo.py |
CLI脚本:针对API运行预设方案 |
orchestrator.py |
运行模拟代理并审核其输出 |
agents/*.py |
编排器使用的模拟代理 |
render.yaml |
绘制蓝图; Dockerfile 用于容器部署 |
Archestra集成
- 运行MCP服务器:
python mcp_server.py(在端口10001上侦听)。 - 在Archestra中,添加一个带有URL的MCP服务器
http://host.docker.internal:10001/mcp(或您的主机:10001/mcp)。 - 这
audit_agent_activity_tool出现在工具列表中;客服或聊天室可以拨打电话activity_logs并获得审计报告。
API
| 端点 | 方法 | 描述 |
|---|---|---|
/ |
GET | Web用户界面 |
/health |
GET | 健康检查 |
/audit |
POST | 正文: { "activity_logs": "..." }.可选: "use_ai": true 法学硕士审计(需求 OPENAI_API_KEY). |
/mock-data |
GET | 测试日志示例 |
违规类型
| 类型 | 示例 |
|---|---|
| COST_SPIKE | 高支出、金额、计费关键字 |
| 安全 | 未经授权的访问、凭据、数据库写入、管理员 |
| RATE_LIMIT | 429,限制,配额,请求过多 |
| 异常 | 同一工具多次、连续错误、重试、卡住/崩溃 |
部署(渲染)
将仓库连接到“作为Web服务呈现”。构建: pip install -r requirements.txt.开始: uvicorn main:app --host 0.0.0.0 --port $PORT.健康路径: /health。参见 render.yaml 为蓝图。
未来路线图
- 实时流媒体: 实时审计提要的WebSocket端点
- 警报集成: Slack/PagerDuty钩子用于严重违规
- 历史分析: 跟踪代理随时间的行为、成本趋势
- 策略引擎: 每个组织的自定义审计规则(例如,“如果Agent-X每天花费>100美元,则标记”)
- 自动修复: 暂停严重违规的代理(通过审批工作流程)
