IronCurtain MCP 服务器框架
使用说明(简要)
-
项目简介
- IronCurtain 是一个面向大语言模型的后端框架,围绕 Model Context Protocol(MCP)构建,核心职责是以标准化方式向 LLM 客户端提供上下文信息和功能。它托管和管理资源,注册并执行工具,定义与渲染 Prompt 模板,并通过 JSON-RPC 与客户端通信。服务器端负责会话管理、能力声明,并对工具调用进行策略化控制与审计。
-
主要功能点
- 资源与数据访问:提供对资源的托管、读取、写入以及沙箱中的路径管理等能力。
- 工具注册与执行:注册外部工具并通过 MCP 请求执行,支持策略化的读/写/执行权限控制。
- Prompt 模板与渲染:将 Constitution/策略转换成可渲染的系统提示,支持动态列表、手写情景等扩展。
- JSON-RPC 通信:客户端通过标准的 JSON-RPC 进行请求(读取资源、调用工具、获取 Prompts 等)并获得响应。
- 会话与能力管理:会话层的预算、审计、自动审批、Escalation 流程等,确保安全、可控的交互。
- 多传输协议支持:系统设计支持多种传输模式,包含标准输入输出、SSE、WebSocket 等,以适配不同部署场景。
- 内置 MCP 服务:内置并配置了 filesystem、git、fetch、GitHub 等服务,作为 MCP 服务端示例与实际演进基线。
-
安装与运行
- 通过仓库提供的构建/安装流程获取依赖并编译。
- 根据需要选择内置 MCP 服务器或自定义添加新的 MCP 服务器。
- 启动后,客户端按 MCP 协议通过 JSON-RPC 与服务器对接,发起资源读取、工具调用、Prompt 获取等请求。
-
服务器配置(对 MCP 客户端的注释用法,非代码示例)
- MCP 服务器配置是面向 MCP 客户端的启动信息,包含服务器名称、启动命令及参数等,用于与 MCP 服务器建立连接。下面描述的 JSON 配置用于 MCP 客户端在连接 MCP 服务器时需要的关键信息,客户端无需执行任何服务器端的实现细节。实际项目中,服务器端的具体命令和参数由该配置文件定义,MCP 客户端只需要知道服务器名称、启动命令和参数即可发出 MCP 请求。
- 内置示例配置要点(按服务器名称列出,均包含 server name、command、args、可选 sandbox 等字段):
- filesystem 服务
- server 名称:filesystem
- 启动命令:npx
- 启动参数:"-y", "@modelcontextprotocol/server-filesystem", "<sandboxDir>"
- 沙箱隔离:通常设为 false(按项目实现,具体以实际部署为准)
- git 服务
- server 名称:git
- 启动命令:npx
- 启动参数:"-y", "@modelcontextprotocol/server-git", "<sandboxDir>"
- 沙箱隔离:可配置
- fetch 服务
- server 名称:fetch
- 启动命令:npx
- 启动参数:"-y", "@modelcontextprotocol/server-fetch", "<sandboxDir>"
- 沙箱隔离:可配置
- GitHub 服务
- server 名称:github
- 启动命令:npx
- 启动参数:"-y", "@modelcontextprotocol/server-github-mcp", "<sandboxDir>"
- 沙箱隔离:可配置
- filesystem 服务
- 注:具体的 server 列表、描述、命令及参数会在仓库的配置文件中定义,例如 src/config/mcp-servers.json,MCP 客户端在启动时应读取该配置以建立与服务器的连接。
-
基本使用方法(简化流程)
- 部署阶段:将内置的 MCP 服务器配置写入配置文件,或使用仓库提供的启动脚本启动 MCP 服务器。
- 运行阶段:通过 MCP 客户端与服务器建立连接,向服务器发出资源读取、工具调用、Prompts 获取等请求,服务器返回标准的 JSON-RPC 响应。
- 安全与审计:系统在工具调用前会应用策略引擎进行评估,必要时触发 Escalation 流程,所有请求与决策结果都被审计记录,便于追踪与回溯。
- 扩展性:可扩展添加新的 MCP 服务器,依据 Constitution 与编译管线生成新的规则,运行编译/验证/修复流程,确保策略一致性。
-
服务器配置(MCP 客户端视角的示例说明)
- MCP 客户端需要的核心信息包括:
- 服务器名称(serverName):例如 filesystem、git、fetch、github。
- 启动命令(command):如 npx。
- 启动参数(args):如 -y、@modelcontextprotocol/server-filesystem、<sandboxDir>,用于指定要托管的沙箱目录等。
- 以上信息用于 MCP 客户端在本地或远端启动并连接到 MCP 服务器,确保客户端能够通过 MCP 协议发送请求并接收响应。
- MCP 客户端需要的核心信息包括:
-
关键词
- Model Context Protocol, 资源管理, 工具执行, Prompts 渲染, JSON-RPC
-
分类
- 6