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 的交互对话流程
    • 兼容性与扩展
      • 服务器架构设计为可扩展,后续可新增资源类型、工具实现和提示模板

服务器信息