CodexTools MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- CodexTools 是一个基于 Python 的 MCP 服务器实现,核心职责是向 LLM 客户端提供上下文与能力:托管资源、注册并执行工具、定义与渲染提示模板。服务器通过 JSON-RPC 风格的请求/响应与客户端通信,目前实现了 Initialize、Tools 列表与调用、资源与提示的基础结构,具备扩展能力的插件式工具系统。
-
主要功能点
- 初始化与能力宣告:客户端可通过 initialize 请求获取服务器能力与版本信息。
- 工具体系:实现了若干内置工具(文件系统操作、进程执行、图片绘制、声音提示等)以及扩展工具支持,提供 tools/list 与 tools/call 机制。
- 资源与 Prompts 框架:支持 resources/list 与 prompts/list 的查询扩展点,后续可用于提供上下文资源与提示模板。
- 安全与扩展:包含对外部工具的扩展点(extension tooling),以及简单的策略与审计机制,确保对外部命令的调用有一定的管控。
- 传输形式:默认通过标准输入输出进行 JSON-RPC 异步通讯,支持两种 wire framing(Content-Length 与 JSONL),方便与不同客户端集成。
-
安装与运行步骤
- 获取源码后,在合适的 Python 环境中运行服务器脚本 server.py。
- 依赖自动安装:若首次调用某些工具,服务器会尝试通过 pip 自动安装缺失依赖;也可事先手动安装,如 pillow、matplotlib、playwright 等。
- 运行示例命令(需替换为实际服务器路径):
- python -u -X utf8 <项目根路径>/server.py
- 运行环境要求:Python3,可能需要在无图形界面的环境中运行图形相关工具时安装额外依赖(如 tkinter、Pillow、Playwright 等)。
-
服务器配置(MCP 客户端需提供的启动信息) 说明:MCP 客户端需要知道如何启动该 MCP 服务器。配置信息为 JSON,包含服务器名称、启动命令及参数等,用于在客户端侧建立连接。以下为基于仓库信息的示例注释说明,实际请以你的部署路径为准。 配置示例(JSON,非代码块,仅作示意): { "server_name": "CodexTools", "command": "python", "args": ["-u", "-X", "utf8", "<your_path>/CodexTool/server.py"] } 注释说明:
- server_name:服务器的唯一标识名称,客户端用来展示或区分不同 MCP 服务器。
- command:启动服务器的命令,建议使用 python。
- args:启动命令的参数,包含编码设置等选项,以及服务器脚本的路径。
-
基本使用方法
- 启动后,客户端通过 MCP 的 JSON-RPC 方式发送初始化请求,随后可以请求列出工具、调用工具、读取资源等能力。
- 常用流程示例(简述,不含代码块):
- 发送 initialize 请求,获取服务器版本、协议版本与能力。
- 发送 tools/list,请求可用工具的名称、描述与输入模式。
- 通过 tools/call 调用具体工具(如 fs_read_text、proc_run、img_draw 等),传入所需参数。
- 使用 resources/list 与 prompts/list 获取资源与提示模板(若后续扩展实现)。
- 注意事项
- 调用工具前请确保传入符合工具描述的参数结构,服务器会对输入进行参数校验。
- 某些操作涉及外部执行或文件系统访问,请关注服务器端的权限与安全策略。