使用说明(Markdown)
-
项目简介
- 这是一个 Context Finder 的 MCP 服务器实现,核心职责是以标准化的方式向 MCP 客户端提供上下文信息和功能,包括管理资源、注册与执行工具,以及定义/渲染 Prompt 模板。服务器通过 JSON-RPC(MCP 协议变体)与客户端通信,具备会话管理、能力声明,并可通过多种传输协议进行交互。
-
主要功能点
- MCP 服务端实现:完整的 MCP 服务端框架,处理 MCP 请求并返回 JSON-RPC 格式的响应。
- 资源与数据能力:提供对代码基地的索引、语义检索、以及相关的资源(如语料、文档、向量存储等)的访问能力。
- 工具注册与执行:内置一组 MCP 工具如 map、repo_onboarding_pack、read_pack、context_pack、batch、file_slice、grep_context、list_files、text_search、search、context、index、doctor、text 等,LLM 客户端可通过统一接口调用。
- Prompts 与模板渲染:可渲染并输出以供模型使用的提示模板和上下文包。
- 向量存储集成:与向量存储组件整合,支持语义检索和嵌入管理。
- 多传输支持:设计上支持多种传输层,提升与不同 Client 的对接灵活性。
- 自带诊断与索引管理:包含模型/GPU/索引的诊断工具,以及对仓库的自动索引/再索引能力。
-
安装与运行步骤
- 构建与安装
- 获取源码后,在具备 Rust 开发环境的前提下构建并安装 MCP Server 二进制:
- 使用 cargo 构建并安装路径 crates/mcp-server:将生成 context-finder-mcp 可执行文件。详见仓库自述的快速开始。
- 获取源码后,在具备 Rust 开发环境的前提下构建并安装 MCP Server 二进制:
- 启动与测试
- 启动 MCP 服务端(示例执行环境通常为你本地机器或服务器):
- 直接运行 context-finder-mcp 即可在默认交互模式下启动 MCP 服务端。
- 服务端启动后,MCP 客户端可通过配置的 command/args 与服务器建立连接,发送 JSON-RPC 请求。
- 可通过上下文提供的工具清单进行自检(如打印工具清单等),确保服务端正确暴露工具接口。
- 启动 MCP 服务端(示例执行环境通常为你本地机器或服务器):
- 模型与环境准备
- 根据需要配置 embedding 模型、CUDA/CPU 等环境变量,确保向量嵌入和推理能力可用(如 CONTEXT_FINDER_PROFILE、CONTEXT_FINDER_EMBEDDING_MODEL、CONTEXT_FINDER_MODEL_DIR、ORT 与 CUDA 相关环境等)。
- 构建与安装
-
服务器配置(MCP 客户端需要)
- 说明:下面给出一个简化的 JSON 配置示例,描述 MCP 客户端应如何指向服务器及相关参数。该配置用于 MCP 客户端在启动时知道要连接的 MCP 服务器及启动参数等信息。实际部署中,可能还会结合环境变量实现对模型目录、 profiles 等的定制。
- 服务器配置示例(JSON): { "servers": { "context-finder": { "name": "context-finder", "command": "context-finder-mcp", "args": [] } }, "environment": { // 运行时环境变量,帮助 MCP 服务器正确使用模型与资源 "CONTEXT_FINDER_PROFILE": "quality", // 使用的推理/检索性能配置文件 "CONTEXT_FINDER_ROOT": "/path/to/your/project/root", // 项目根路径,便于服务器定位 corpus/index 等 "CONTEXT_FINDER_MODEL_DIR": "/path/to/models" // 离线模型缓存目录(可选) } } 说明
- server.name: MCP 服务的逻辑名称,便于在客户端配置中引用。
- server.command: 启动 MCP 服务端的可执行文件名,在本仓库中对应 context-finder-mcp。
- server.args: 启动时传给服务器的参数,如需要可留空或根据部署需要添加参数。
- environment: 运行时环境变量,帮助服务端选择配置、资源位置及模型等。
- 注意:MCP 客户端仅需要以上服务器信息来建立连接,实际的请求/响应由 MCP 协议定义的 JSON-RPC 进行传输与处理。
-
基本使用方法
- 启动:以 context-finder-mcp 二进制开启 MCP 服务端。
- 客户端交互:通过 MCP 客户端向服务器发送 JSON-RPC 请求,如对工具进行调用(map、context_pack、read_pack、index、doctor 等),或请求获取资源、执行查询、获取 prompts。
- 常用工具入口示例:repo_onboarding_pack、read_pack、context_pack、batch、file_slice、grep_context、list_files、text_search、search、context、impact、trace、explain、overview、index、doctor。
- 监控与诊断:服务器可输出诊断信息,开发者可通过工具集合对服务器状态、模型/ GPU/ 索引进行检查。
信息
分类
AI与计算