Emend MCP 服务端
使用说明内容(Markdown格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器框架,用于通过 MCP 协议向 LLM 客户端提供上下文信息和功能。核心能力包括托管与管理资源(Resources)、注册与执行工具(Tools),以及定义和渲染 Prompt 模板(Prompts)。服务器通过 JSON-RPC 与客户端通信,具备会话管理、能力声明,并可通过多种传输协议对外暴露服务(如 STDIO、SSE、WebSocket)。适合作为 LLM 场景中的上下文与工具服务端。
-
主要功能点
- MCP 核心能力:资源管理、工具注册与执行、Prompts 渲染与提供
- JSON-RPC 通信:标准化请求/响应、支持通知
- 会话与能力声明:维护会话状态、能力自述
- 多传输协议支持:stdio、SSE、WebSocket 等传输通道
- 与 Claude Code 等客户端的集成能力,便于将 LLM 客户端接入到代码编辑与重构工作流
- 安全性与扩展性:设计为可扩展的服务框架,便于后续扩展新的工具或资源类型
-
安装步骤
- 依赖与环境
- 需要在 Python 3.10–3.13(3.14+t 可能不支持 MCP 服务端依赖的某些组件)
- 通过 pip 安装包含 MCP 扩展的版本:pip install emend[mcp]
- 服务器启动
- 标准 IO 传输(stdio):emend mcp
- SSE 传输:emend mcp --transport sse --port 8080
- 备注
- MCP 服务端需要 Pydantic(用于模式校验和数据序列化),请根据 Python 版本兼容性选择合适的 Python 版本
- 服务器将对外暴露 10 种工具及相关能力,客户端可通过 MCP 进行资源读取、工具调用、Prompt 获取等操作
- 依赖与环境
-
服务器配置(JSON 格式注释)
- 该配置用于 MCP 客户端在集成时了解服务器的启动信息和连接参数。MCP 客户端通常不需要直接操作此配置,但可以作为集成指南使用。示例配置项说明如下:
- server_name: 服务器名称,标识一个 MCP 服务端实例,便于在多服务场景中区分
- command: 启动命令,可执行 MCP 服务端入口命令
- args: 启动参数数组,传给上面的命令
- transport: 使用的传输协议,stdio(标准输入输出)、sse、websocket 等
- port: 当 transport 为 SSE/WebSocket 时使用的端口号
- description: 服务器简要描述及要点 注意:以下 JSON 仅用于描述,不是代码实现,客户端无需被强制执行此 JSON { "server_name": "emend", "description": "Emend MCP server exposing resource/tool/prompt services to MCP clients", "command": "emend", "args": ["mcp"], "transport": "stdio", // 也可使用 "sse"、"websocket" "port": null }
-
基本使用方法
- 启动与连接
- 在需要接入的环境中运行:emend mcp
- 如需通过 SSE:emend mcp --transport sse --port 8080
- 客户端接入
- MCP 客户端通过 JSON-RPC 与服务器交互,进行资源读取、工具调用、Prompt 获取等操作
- 服务器负责会话管理、能力声明以及对外暴露的工具清单
- 常用工作流
- 启动后,客户端查询资源并执行工具,获取上下文信息与可执行能力
- 使用 Prompts 模板组织 LLM 的交互对话流程
- 兼容性与扩展
- 服务器架构设计为可扩展,后续可新增资源类型、工具实现和提示模板
- 启动与连接