使用说明(Markdown 格式)

  • 项目简介

    • PocketRAG 通过本地化的向量检索和全文检索,提供一个 MCP 服务器端,用以向 Claude Desktop 等 MCP 客户端暴露工具接口,支持在本地环境完成文档检索、嵌入生成以及上下文构建等工作流。
  • 主要功能点

    • MCP 服务器核心
      • 通过 Stdio 传输实现与 MCP 客户端的 JSON-RPC 通信
      • 注册并暴露三个工具:search_knowledge_base、get_knowledge_base_stats、list_documents
    • 文档与知识库
      • 支持将文档分块、向量化嵌入、基于向量与 FTS 的混合检索
      • 提供查询、统计和文档清单等能力
    • 安全与本地优先
      • 数据完全在本地存储与处理,减少对外部服务的依赖
    • 可运行的服务器入口
      • src/mcp.ts 提供 MCP 服务入口
      • src/mcp/server.ts 实现工具注册和 Stdio 传输
    • 与 Claude Desktop 的原生整合
      • 提供标准的 MCP 服务以被 Claude Desktop 等 MCP 客户端发现与连接
  • 安装与运行步骤

    1. 准备与依赖
      • 在本地环境安装 Node.js / Bun、以及相关依赖
    2. 启动 MCP 服务
      • 使用源码提供的入口启动 MCP 服务器:
        • 运行入口文件将启动标准输入/输出传输的 MCP 服务,监听来自 Claude Desktop 的工具请求
    3. 配置 Claude Desktop(MCP 客户端)
      • 将以下配置信息加入 Claude Desktop 的 MCP 服务器配置中(示例以 Docker+ Bun 方式运行,实际环境可按需调整):
        • 服务器名称: PocketRAG
        • 传输方式: stdio
        • 启动命令及参数(示例 JSON,客户端配置用,不需要写成代码块) { "mcpServers": { "pocket-rag": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/pocket-rag-data:/data", "-e", "DB_PATH=/data/pocket-rag.sqlite", "-e", "OLLAMA_URL=http://host.docker.internal:11434", "pocket-rag", "bun", "run", "src/mcp.ts" ] } } }
  • 服务器配置(客户端需要的最小字段说明)

    • server name:pocket-rag
    • command:docker
    • args:上述示例中的启动参数,确保 volumes、环境变量和入口脚本路径正确指向本地数据与代码
    • 说明:客户端配置仅用于向 MCP 服务器发起连接与调用工具,不需要在客户端实现中包含服务端逻辑细节
  • 基本使用方法

    • 通过 Claude Desktop 等 MCP 客户端与 PocketRAG MCP 服务端建立连接后,使用注册的工具进行知识检索与文档管理
    • 典型流程:向 search_knowledge_base 提交查询和模式参数,获取结构化文本结果;通过 get_knowledge_base_stats 获取知识库统计信息;通过 list_documents 获取已索引文档列表
    • 客户端调用的返回格式遵循 MCP 服务器的 JSON-RPC 风格,服务端会返回文本内容、潜在错误信息及状态标记
  • 运行产物与环境

    • 代码提供了基于 Bun 的实现、SQLite 数据库以及向量索引支持
    • MCP 服务器使用 stdio 传输,与 Claude Desktop 的内置 MCP 客户端进行交互

信息

分类

AI与计算