claudex-mcp-permission-server
使用说明内容(Markdown格式)
项目简介
这是一个基于 MCP(Model Context Protocol)的权限控制服务器实现。通过标准的 MCP JSON-RPC 交互,LLM 客户端可以向服务器请求对指定工具的使用权限,服务器根据配置与外部系统进行审批并返回行为指令(允许/拒绝、更新输入参数等)。
主要功能点
- 注册与暴露工具信息:提供一个 approval_prompt 工具,用于根据工具名称与输入参数来决定权限。
- 处理工具调用请求:接收 tool_name 与 tool_input,基于配置决定是否直接允许、需要用户确认或拒绝,并返回更新后的输入数据。
- 多种工作模式支持:plan/auto/ask 三种模式控制权限策略,支持自动化审批或通过外部系统人工干预。
- 与外部系统交互:在需要时通过 API 调用外部权限管理服务完成审批流程,并返回结果。
安装步骤
- 确保 Python 环境可用且可执行 sandbox/permission_server.py。
- 安装依赖(如 httpx、mcp 等)并确保可执行脚本所需依赖可用。
服务器配置(MCP 客户端所需配置项说明)
以下配置用于 MCP 客户端建立连接,描述服务器的必要信息(以 JSON 形式提供,字段含义在后文注释中说明): { "server_name": "permission", "command": "python3", "args": ["-u", "sandbox/permission_server.py"] } 字段说明:
- server_name: MCP 服务器名称,与服务器实现中的名称保持一致,这里为 permission。
- command: 启动服务器所使用的命令,这里使用 Python 解释器。
- args: 启动命令的参数,包含脚本路径和必要的启动选项。脚本路径为仓库中的 sandbox/permission_server.py。
注释说明(非代码块,仅作文字说明)
- 服务器通过上述命令在启动后监听 MCP 客户端的请求,按照 MCP 的工具清单和调用接口处理请求并返回 JSON-RPC 风格的结果。
- 运行时环境变量(如 PERMISSION_MODE、API_BASE_URL、CHAT_TOKEN、CHAT_ID 等)可进一步控制权限策略,但 MCP 客户端无需关心这些实现细节,只需要启动命令及其参数。
基本使用方法
- 启动服务器后,MCP 客户端即可向服务器发起对工具使用的权限请求,服务器依据配置决定行为并返回结果,客户端据此继续执行或等待审批。
- 若配置为自动通过(如 plan/auto),服务器将自动返回允许并更新工具输入;若配置为 ask,需通过外部系统完成审批后再返回结果。
关键词
AI集成, 权限管理, 沙箱, 模型上下文, 外部工具
分类ID
6