Linggen MCP 服务器

使用说明

  • 项目简介

    • Linggen 的 MCP 服务器位于 backend/mcp-server,通过 JSON-RPC 规范实现对“工具(Tools)”的注册与执行,以及查询/增强提示等能力。服务器以 stdio 传输为通信通道,面向 MCP 客户端(如 Cursor、Zed、Claude 代码等 IDE/代理)提供上下文服务。
    • 服务器的工具包括:增强提示(enhance_prompt)、代码检索(search_codebase)、列出资源(list_sources)以及获取状态(get_status)等。工具的实现通常通过对 Linggen 后端 API 的调用来获得数据并返回给 MCP 客户端。
    • 会话能力、服务信息以及基础的 JSON-RPC 请求/响应均在服务器端实现,具备基本的扩展性与日志记录,旨在为 LLM 提供安全、可扩展的上下文服务框架。
  • 主要功能点

    • MCP 核心:实现 MCP 的工具路由与请求/响应机制,提供 ServerInfo、工具调用、能力声明等能力。
    • Tools 与响应:实现增强提示、代码检索、资源列举、后端状态查询等工具,输出符合 MCP 服务器约定的结果。
    • 后端对接:通过 HTTP 客户端请求 Linggen 后端 API(如 /api/enhance、/api/resources、/api/status 等)以获取所需数据与结果,并将其包装成 MCP 工具输出。
    • 传输协议与扩展性:当前实现通过 stdin/stdout 的 stdio 传输,便于本地调试与与 IDE/代理进行对接;理论上可扩展到 SSE/WebSocket 等传输。
  • 安装步骤

    • 进入后端 MCP 模块并构建产物:
      • 在仓库根目录下执行:进入 backend/mcp-server 目录,运行 cargo build --release(或 cargo build)。
    • 运行服务器(本地开发模式):
      • 直接运行 cargo run --bin mcp-server(产物名以实际编译产物为准,通常是 mcp-server 或类似命名)。
    • 运行环境要求与依赖:
      • 需要 Rust 及相关依赖库。后端服务端点需能访问 Linggen 的后端 API(如 /api/enhance、/api/resources、/api/status 等)。
  • 服务器配置(MCP 客户端所需,供参考配置格式,客户端无需实现服务器端代码)

    • server_name: Linggen MCP Server
    • command: mcp-server
    • args: ["--transport", "stdio"] 说明:
    • server_name 指明 MCP 服务的名称,便于客户端识别显示。
    • command 指向实际运行的 MCP 服务器可执行文件名(在本仓库中对应的后端/mcp-server 产出)。
    • args 给出启动参数的示例注释,当前实现使用 stdio 传输,不依赖额外端口。请在客户端配置中保持与实际运行方式一致即可。 注释:MCP 客户端通常并不需要直接配置复杂参数;该配置仅用于说明服务器端信息与对接方式。实际对接以 MCP 客户端在连接时使用的规范为准。
  • 基本使用方法

    • 启动与连接
      • 编译并启动 Linggen MCP 服务器,确保服务器可通过标准输入/输出与 MCP 客户端建立通信。
      • 客户端启动后将通过 JSON-RPC 调用工具(如 enhance_prompt、search_codebase、list_sources、get_status)来获取上下文、执行任务,并将结果作为上下文输入给 LLM。
    • 常用流程
      • 客户端向 MCP 服务器请求搜索相关代码片段(search_codebase),服务器返回相应的上下文片段。
      • 客户端请求增强提示(enhance_prompt),服务器返回含上下文与增强策略的提示文本。
      • 客户端请求资源列表(list_sources),服务器返回已索引资源及其统计信息。
      • 客户端获取服务器状态(get_status),了解当前后端的运行状态与进度。
    • 典型工作流场景
      • 通过 MCP 获取代码背景和资源,然后将整合的上下文传递给 LLM,以获取基于项目上下文的建议、架构设计或代码改进计划。
    • 运行后端依赖
      • MCP 服务器在运行时会访问 Linggen 的后端 API,确保 Linggen 服务端 API 可达且授权设置正确。
  • 备注

    • 该 MCP 服务器实现的传输通道为 stdio,适合本地开发和 IDE 插件集成场景。若未来需要支持其它传输方式(如 SSE、WebSocket),需要在 rmcp 服务端增加相应的传输适配层。
    • 配置示例与说明以仓库实现为准,实际部署时请结合具体环境与客户端对接方式进行调整。

服务器信息