AIperture MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 这是一个完整的 MCP 服务器实现,能够接收来自 Claude Code、OpenClaw、其他 MCP 兼容运行时以及自定义运行时的请求,处理权限检查、记录人类决策、注册任务权限、以及提供相似模式、解释模板等功能。服务器通过 MCP 的 stdio 传输与客户端通信,并实现了会话管理、学习引擎、审计、以及跨组织智能等功能模块,适用于需要统一、可扩展的上下文服务的“后端 MCP 服务端”。
-
主要功能点
- MCP 核心功能实现
- 处理 check_permission、approve_action、deny_action、explain_action 等 MCP 工具,返回结构化的 JSON/verdict
- 支持与客户端在同一协议下的请求/响应序列,具备挑战令牌(HMAC)绑定、审计事件记录等能力
- 资源、工具、提示模板等管理
- 通过后端引擎管理资源、注册工具、渲染并提供解释模板
- 会话管理与 ReBAC(任务级授权)
- 支持基于 session 的内存缓存,任务级 Grant(ReBAC)以及对历史学习模式的整合
- 学习引擎与随机性保护
- 基于人类决策历史的学习模式,用以近似自动化决策,包含能力降级、警示疲劳等规则
- 审计、成本与工件(Artifact)存储
- 审计轨迹、工件/资源的存储与哈希校验、成本分解等能力,便于合规与成本分析
- 跨组织智能与保护
- 提供跨组织的智能信号(如 DP 保护的全局信号)、并由插件系统可扩展
- 插件化架构
- 通过 plugins 模块实现可选的后端、健康检查、权限日志钩子、风险规则等插件扩展
- 多传输与部署友好
- 现成支持 stdio 传输的 MCP 服务,CLI 启动、以及与 Claude Code、OpenClaw 的集成;同时具备 REST API 路由用于 HTTP 场景
- MCP 核心功能实现
-
安装步骤
- 先确保 Python 3.12 及以上版本,并准备好数据库(默认使用 SQLite)
- 安装项目依赖(推荐在虚拟环境中执行)并安装本仓库的包
- 初始化数据库并根据需要配置环境变量
- 启动 MCP 服务器
- 通过命令行:aiperture mcp-serve
- 或者直接以 Python 模块运行:python -m aiperture.mcp_server
- 连接客户端时,MCP 客户端将使用 server 的启动命令和参数进行连接,具体配置见下方“服务器配置信息”
-
服务器配置(MCP 客户端需要的信息) 说明:MCP 客户端通常需要一个配置描述,以便与服务器建立连接。以下信息结合仓库实现和示例配置给出准确描述:
- 服务器名称(server name):aiperture
- 启动命令(command):aiperture
- 启动参数(args):["mcp-serve"]
- 环境变量(env)示例:
- AIPERTURE_DB_PATH: 指定数据库文件路径,如 "./aiperture.db" 配置示例(以 JSON 形式表达,便于 MCP 客户端读取;客户端本身不需要直接读取该配置) { "server_name": "aiperture", "command": "aiperture", "args": ["mcp-serve"], "env": { "AIPERTURE_DB_PATH": "./aiperture.db" } // 备注:该配置用于 MCP 客户端知道如何启动 MCP 服务器进程及需要的环境变量 }
-
基本使用方法
- 启动与连接
- 使用 MCP 客户端通过标准输入输出(stdio)与服务器建立通信;服务器端会暴露多个工具接口(如 check_permission、approve_action、deny_action 等),并返回结构化的 JSON 结果
- 常用工作流
- 发起权限检查(check_permission),获得一个挑战(如果需要)以及初步拒绝/允许结论
- 如返回需要人类决策,使用 approve_action 或 deny_action 记录决策并绑定相应的挑战令牌
- 记录完成后,后续请求可通过 ReBAC、学习引擎、及静态规则等综合判断达到更高的自动化水平
- 运维与扩展
- 启动后可通过插件系统扩展工具、风险规则、健康检查等
- 服务器具备审计、成本、跨组织信号等能力,便于合规与监控
- 重要注意
- MCP 服务端设计为高可用的后端上下文服务,建议在生产环境中结合适当的进程管理和日志轮转策略运行
- 启动与连接