ICC Profile MCP 服务器
使用说明
- 项目简介
- 本仓库实现了一个基于 MCP(Model Context Protocol)的服务器端,用于管理 ICC 配置资源、暴露分析/处理工具、并定义可自定义的 Prompt 模板。服务器通过标准化的 JSON-RPC 形式与客户端通信,支持会话管理、能力声明以及多种传输通道(如标准输入/输出、SSE、WebSocket)。
- 主要功能点
- 资源托管与访问:提供 ICC 配置与示例数据的集中管理,便于 LLM 客户端读取、分析与比对。
- 工具注册与执行:将 iccanalyzer-lite、colorbleed_tools 等分析工具作为 MCP Tool 注册,LLM 可调用并获取执行结果。
- Prompt 模板渲染:提供预置 Prompt 模板,便于在对话中以结构化方式分析 ICC 配置并得到可使用的上下文信息。
- JSON-RPC 通信与会话管理:遵循 MCP 约定的请求/响应结构,服务器端负责能力声明、会话状态管理,以及对多传输协议的支持。
- Web UI 与 API 辅助:提供 Web UI 子系统,方便人机交互式分析与演示。
- 安装步骤
- 依赖与环境
- 需要 Python 3.x 环境。
- 需要构建 iccanalyzer-lite 和 colorbleed_tools,以及依赖的 iccDEV/测试配置(详见仓库自述中的构建指引)。
- 将仓库根目录作为 MCP 资源根(环境变量 ICC_MCP_ROOT 可选,默认使用当前脚本所在目录的父级)。
- 启动方式(核心服务器)
- 进入仓库根目录后,执行服务器启动脚本,启动 MCP 服务器(默认通过 Python 脚本加载 MCP 服务并监听 JSON-RPC 请求)。若需要自定义参数,请参考后续服务器配置说明。
- 运行 Web UI(可选)
- 进入 mcp-server 目录,启动 web_ui 服务,提供 HTTP/REST API 及前端脚本演示。
- 依赖与环境
- 服务器配置(JSON,供 MCP 客户端读取配置)
- server_name: ICC Profile MCP Server
- command: python3
- args: ["mcp-server/icc_profile_mcp.py"]
- transports: ["stdio", "sse", "websocket"] // MCP 服务器理论上支持多种传输,实际部署时按运行环境选择
- protocol: json-rpc
- 注释说明
- server_name 用于标识此 MCP 服务器实例。
- command/args 指定启动 MCP 服务的可执行命令及参数,路径需指向服务器实现入口脚本。
- transports 说明服务器支持的传输通道类型,具体实现可能按运行环境暴露不同通道。
- protocol 指定通信协议,这个实现遵循 JSON-RPC 的 MCP 生态。
- 基本使用方法
- 启动后,LLM 客户端通过配置中的 server_name、command、args 指定目标 MCP 服务器,并通过选定的传输通道进行 JSON-RPC 调用。
- 客户端请求示例(概念性描述,不提供具体代码):读取 ICC 资源、运行分析工具、获取 XML 转换、或者执行 Prompts 模板等操作,均通过统一的 JSON-RPC 请求-响应完成。
- 使用提示与注意
- 在生产环境中建议通过 WebSocket/SSE 等通道实现稳定的长连接通信。
- 服务器对资源与工具的访问有一定的安全边界,请使用合规的输入校验与权限控制。
- 构建阶段请参考仓库中的构建脚本和 README,确保 iccanalyzer-lite 及 colorbleed_tools 已正确编译并在可执行路径中。