Tree-sitter Analyzer MCP 服务端

使用说明(Markdown 版本,便于快速落地):

  • 项目简介
    • 该仓库实现了一个 MCP 服务器端,用于向 LLM 客户端提供资源(Resources)、工具(Tools)以及提示模板(Prompts),通过 JSON-RPC 协议进行通信,并对会话、能力声明及传输协议进行管理。服务器通过 Python 实现,包含服务器启动脚本、MCP 服务端类、工具注册/执行机制以及多语言分析能力的抽象层,便于将代码分析、数据获取和推理过程暴露给 LLM 客户端。
  • 主要功能点
    • 资源与数据访问:服务器端托管与管理各类 Resources,便于 LLM 客户端读取分析所需的数据和结果。
    • 工具注册与执行:支持注册不同分析/查询工具(Tools),并通过 JSON-RPC 调用执行,返回结构化结果。
    • Prompt 模板与渲染:定义和渲染可定制化的 Prompt 模板,支撑多种交互模式下的上下文输出。
    • MCP 协议实现:核心交互基于 MCP 请求/响应格式,服务器端实现 JSON-RPC 处理、会话管理与能力声明。
    • 多传输协议支持:服务器可通过多种传输协议与客户端交互(如 Stdio、SSE、WebSocket),以适应不同部署场景。
    • 会话与能力声明:提供会话管理与能力(Resources, Tools, Prompts)的声明,确保客户端对服务器能力有清晰认知。
    • 安全与扩展性:在设计上关注权限、隔离与扩展能力,方便接入更多资源源、工具实现和策略。
  • 安装与运行(简要步骤)
    • 准备环境:确保 Python 3.8+ 环境可用,且依赖符合项目要求(通过 pyproject/requirements 安装)。
    • 启动服务器:直接运行提供的启动脚本来启动 MCP 服务器,例如 python start_mcp_server.py,这会初始化并进入事件循环,等待来自 MCP 客户端的请求。
    • 客户端集成前提:MCP 客户端端需要配置服务器信息以便建立连接(见下方的配置示例)。
  • 服务器配置(MCP 客户端需要的 JSON 配置,示例仅作参考,不是实际代码) 这是用于 MCP 客户端在连接到本仓库实现的 MCP 服务器时的配置格式(JSON),包含服务器名称、启动命令与参数等信息,用于描述如何从客户端启动并连接到服务器: { "server_name": "tree-sitter-analyzer", "command": "python", "args": [ "start_mcp_server.py" ], "description": "Tree-sitter Analyzer MCP 服务器,提供 Resources/Tools/Prompts 的 MCP 接口", "transports": ["stdio", "sse", "websocket"], "notes": "客户端通过 MCP 协议向该服务器发送读取资源、执行工具、获取Prompt等请求,服务器返回 JSON-RPC 响应。" } 说明:以上配置仅用于 MCP 客户端的简化示例描述。具体部署时,请参考仓库中的实现细节、环境变量、启动参数以及运行方式,确保与客户端实现的 MCP 请求/响应格式兼容。
  • 基本使用方法
    • 启动后,MCP 客户端通过配置建立连接,发送 JSON-RPC 请求读取资源、执行 Tools、或获取 Prompts。
    • 客户端可在会话中声明能力、选择传输通道(如 WebSocket),服务器统一处理请求并返回结果。
    • 使用中如需扩展能力(新增 Resources/Tools/Prompts),可在服务端实现对应注册/渲染逻辑并在 MCP 协议对接处暴露。
    • 生产环境建议通过 WebSocket 进行长期连接,并开启适当的鉴权与会话隔离策略。

服务器信息