PGVectorRAGIndexer MCP Server

使用说明(Markdown 格式):

  • 项目简介

    • 该仓库包含一个面向 MCP 的本地服务器实现,使用 MCP 库将文档检索、文档索引和文档列表等功能暴露为工具,供兼容的 AI 代理(如 Claude Desktop、Cursor 等)通过 MCP 协议调用。
    • MCP 服务器通过标准输入输出(stdio)进行通信,遵循 JSON-RPC 的请求/响应格式。客户端向服务器发送请求,服务器返回相应的 JSON-RPC 响应。
  • 主要功能点

    • 提供 Tools(工具)接口:search_documents、index_document、list_documents。用于语义/混合检索、向本地库添加文档以及查询已索引的文档。
    • 作为本地 MCP Tool Provider,确保所有查询/操作在本地执行,不暴露外部网络。
    • 易于扩展:后续可增加 Resources、Prompts 等能力,以及支持多传输通道(如 SSE、WebSocket 等)。
    • 与仓库中的后端组件(数据库、向量嵌入服务等)协同工作,提供对本地文档的上下文化访问。
  • 安装与运行

    • 直接通过运行以下命令启动 MCP 服务器(需先安装依赖):
      • 运行命令: python mcp_server.py
    • 服务器启动后,将在终端输出日志,表示 MCP 服务已就绪并监听标准输入输出。
  • 服务器配置(客户端使用的配置格式,供 MCP 客户端参考) 说明:以下内容仅用于 MCP 客户端配置示例,实际使用由 MCP 客户端依赖的工具加载,不属于 MCP 客户端必需组件。配置示例以 JSON 格式展示,描述服务器名称、启动命令及参数等信息: { "mcpServers": { "local-rag": { "name": "PGVectorRAGIndexer Local MCP Server", "command": "/path/to/python", "args": ["/path/to/PGVectorRAGIndexer/mcp_server.py"] } /* 说明: - server name:标识 MCP 服务器的名称,便于在客户端 UI/日志中引用 - command:启动服务器的解释器/可执行程序路径 - args:启动服务器脚本及其参数列表 注意:该配置仅用于客户端在启动时连接服务器,MCP 客户端不需要将此配置写入代码中 */ } }

  • 基本使用方法

    • 启动服务器后,在支持 MCP 的客户端中添加本地 MCP 服务器条目,使用服务器名称与启动命令信息建立连接。
    • 客户端在需要上下文信息时调用 Tools:
      • search_documents:在本地索引中执行语义/混合检索并返回相关片段
      • index_document:向本地库添加或重新索引文档
      • list_documents:列出已索引的文档来源
    • 用户可在客户端进一步配置调用参数,如 top_k、是否使用混合检索等,根据具体客户端实现的 UI/参数进行设置。
    • 如需扩展,请在本 MCP 服务器实现中新增更多 Tools、Resources、Prompts,并确保 JSON-RPC 的请求、响应格式与 MCP 客户端保持兼容。
  • 备注

    • 本实现定位于“本地 MCP 服务器提供者”,通过本地数据库和向量模型提供上下文服务,强调隐私与本地计算。
    • 如需将来扩展到多传输协议,请参考 MCP 框架对 Stdio、SSE、WebSocket 的实现模式,在现有基础上增加传输适配层。

服务器信息