使用说明(Markdown要点版):

  • 项目简介

    • 该仓库实现一个 MCP 服务器,提供与 LLM 客户端的标准化交互,能够托管资源、注册可执行的工具、并渲染用于交互的提示模板。核心目标是为 AI 应用提供统一的上下文服务。
  • 主要功能点

    • 资源管理与数据访问:提供文档、 chunks、向量嵌入等资源的管理与查询能力。
    • 工具注册与执行:暴露如 doc-search、doc-ingest、doc-ingest-status 等工具,供 LLM 客户端调用以执行检索、索引等任务。
    • 提示模板与渲染:内置结构化输出格式、内容渲染与格式化,便于 LLM 客户端展示与使用。
    • JSON-RPC 通信接口:通过 MCP 约定的请求/响应格式与客户端通信,响应包含结果、错误信息或通知。
    • 会话管理与能力声明:支持对会话状态、能力及服务能力进行声明和维护。
    • 多传输协议支持(设计目标):当前实现通过标准输入/输出(Stdio)传输,后续可扩展为 SSE/WebSocket 等。
  • 安装步骤

    • 克隆/获取代码后,安装依赖并构建:
      • 安装依赖并编译:依赖安装完成后执行构建命令,将 TypeScript 项目编译为可运行的 JS/TS 产物。
      • 启动 MCP 服务器:编译产物就绪后,使用服务器提供的启动入口启动服务,例如通过命令行:npx docsearch-mcp start(也可直接执行打包输出的启动脚本,如 node dist/src/server/mcp.js)。
  • 服务器配置(MCP 客户端需要,示例为 JSON 格式)

    • server name: "docsearch"
    • command: "npx"
    • args: ["docsearch-mcp", "start"]
    • env(示例字段,实际按自己的环境填写):
      • OPENAI_API_KEY: "<你的 OpenAI API Key>"
      • EMBEDDINGS_PROVIDER: "openai"(或 "tei")
      • FILE_ROOTS: ".,./你的文档目录"
      • DB_PATH: "/path/to/你的数据库.db"
      • TEI_ENDPOINT: ""(如使用 TEI 时填写)
      • CONFLUENCE_BASE_URL: ""(如使用 Confluence 时填写)
      • CONFLUENCE_SPACES: ""(如使用 Confluence 时填写) JSON 形式示例(请以文本形式提供给 MCP 客户端,便于复制粘贴) { "serverName": "docsearch", "command": "npx", "args": ["docsearch-mcp", "start"], "env": { "OPENAI_API_KEY": "<你的 OpenAI API Key>", "EMBEDDINGS_PROVIDER": "openai", "FILE_ROOTS": "./docs,./more-docs", "DB_PATH": "/path/to/docsearch-index.db", "TEI_ENDPOINT": "", "CONFLUENCE_BASE_URL": "", "CONFLUENCE_SPACES": "", "CONFLUENCE_EMAIL": "", "CONFLUENCE_API_TOKEN": "", "POSTGRES_CONNECTION_STRING": "" } }
  • 基本使用方法

    • 启动并连接
      • 启动服务器后,LLM 客户端通过 MCP 协议进行请求,服务器将按资源读取、工具调用、提示渲染等请求进行处理并返回 JSON-RPC 风格的响应。
    • 客户端交互要点
      • 读取资源(如文档片段、块等)、执行工具(如索引、搜索、消费向量等)以及获取提示模板。
      • 服务器处理会话、能力声明,并可通过不同传输通道与客户端保持通信。
    • 日常操作
      • 将文档和 Confluence 内容等导入并与向量索引对齐,便于后续的语义检索和精准查询。
      • 使用 MCP 客户端调用 doc-search、doc-ingest 等工具实现跨源检索和索引管理。
  • 备注

    • 本实现包含完整的服务端代码、资源/工具注册、以及对接检索/索引组件等核心能力,具备可运行的服务器端功能及完整的接口实现。

信息

分类

AI与计算