Directory Indexer MCP Server
使用说明内容(Markdown格式)
- 项目简介
- 该仓库实现了一个基于 MCP 的服务器端组件,用于让大型语言模型(LLM)等客户端以标准化方式访问本地知识库内容。服务器提供资源管理、工具注册/执行和状态查询等功能,核心通过 JSON-RPC 与客户端通信。
- 主要功能点
- MCP 服务器核心:实现对 ListTools 与 CallTool 请求的处理,支持 MCP 工具注册与调用、请求与响应序列化。
- 工具 (Tools):index、search、similar_files、get_content、get_chunk、server_info 等工具,覆盖索引、语义检索、相似文件、内容获取等常用能力。
- 会话与状态:提供服务器信息、工作区/工作区健康、索引状态等查询能力,便于客户端了解当前可用内容与系统状态。
- 传输与扩展:基于 StdioTransport 实现的 JSON-RPC 通信,理论上可扩展为其他传输(如 SSE、WebSocket)。
- 与现有组件集成:与本地向量数据库(Qdrant)、本地嵌入服务(Ollama/OpenAI/Mock)及文件系统整合,支持本地知识库的创建、查询和管理。
- 安装步骤
- 环境要求:Node.js 18 及以上,TypeScript 源码需要构建为可运行的 JS 产物。
- 构建与运行(概览)
- 安装依赖并编译代码(通常通过 npm/yarn/pnpm 完成)
- 使用 MCP 客户端配置连接到服务器(参见下方“服务器配置”示例),启动服务后服务器将监听并响应 MCP 客户端请求。
- 服务器配置(用于 MCP 客户端连接服务器的示例配置,JSON 格式,包含 server name、command、args 等) 注意:MCP 客户端通过该配置与服务器建立连接,具体字段含义如下。以下示例仅为说明用途,请根据实际环境替换命令与参数。 { "mcpServers": { "directory-indexer": { "serverName": "directory-indexer", "command": "npx", "args": ["directory-indexer@latest", "serve"] // 说明:使用 npx 运行最新版本的目录索引器并以 serve 模式启动 MCP 服务 // 如果本地已全局安装,可改为 // "command": "directory-indexer", // "args": ["serve"] } } }
- 基本使用方法
- 启动 MCP 服务器后,LLM 客户端通过上述配置即可连接并调用以下工具:
- index: 传入 directory_path,触发对指定目录的索引与向量化存储
- search: 传入 query,返回与查询相关的文件与块信息
- similar_files: 传入 file_path,返回与指定文件语义相似的文件
- get_content: 传入 file_path 与 可选的 chunks,获取文件内容
- get_chunk: 传入 file_path 与 chunk_id,获取特定块内容
- server_info: 获取服务器当前版本与状态信息
- 客户端应按 MCP 协议的 JSON-RPC 方式发送请求,并解析返回的 content 与错误信息
- 启动 MCP 服务器后,LLM 客户端通过上述配置即可连接并调用以下工具: