文档智能查询服务器

Antigravity PDF MCP Server 是一个强大的模型上下文协议(MCP)服务器,能够为AI代理和IDE提供智能文档摄取和查询功能,支持PDF、Markdown和文本文件,并使用先进的混合搜索技术进行查询。

  • by asoluka
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 asoluka/antigravity-pdf-mcp

使用说明

反重力PDF MCP服务器

一个强大的模型上下文协议(MCP)服务器,为AI代理和IDE提供智能文档摄取和查询功能。此服务器允许您从PDF、Markdown和文本文件构建持久的知识库,并使用高级混合搜索技术进行查询。

特性

  • 多格式摄入:支持 .pdf, .md,以及 .txt 文件夹。
  • 智能分块:递归字符拆分保留了文档结构(段落、标题)。
  • 永久存储:使用SQLite(antigravity.db)在重启过程中存储文档和向量。
  • 高级检索:
    • 混合搜索:使用交互秩融合(RRF)将TF-IDF(关键字)和OpenAI嵌入(语义)结合起来。
    • 过滤:搜索特定文档的范围。
    • 引用:返回页码(例如。, [Page 5])为了便于验证。
  • 用户体验:摄入过程中的实时进度通知。
  • MCP协议:完全符合Stdio的模型上下文协议。

先决条件

  • Node.js(v18或更高版本)
  • npm

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd antigravity-pdf-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

使能够 语义搜索 (嵌入),创建一个 .env 根目录中的文件:

OPENAI_API_KEY=sk-your-api-key-here

如果未提供API密钥,则服务器将仅回退到本地TF-IDF搜索。

工具

服务器公开了以下MCP工具:

  • ingest_document:将文件(PDF、TXT、MD)摄入知识库。
    • path:文件的绝对路径。
  • query_knowledge_base:搜索知识库。
    • query:搜索查询。
    • document_id (可选):将结果筛选到特定的文档ID。
  • list_documents:列出所有摄入的文件。
  • reset_library:清除整个数据库。
  • ingest_pdf (已弃用):别名 ingest_document.

IDE的使用

此服务器使用 工作室 传输,使其与任何兼容MCP的客户端或IDE兼容。

反重力IDE

  1. 打开 设置 > MCP服务器.
  2. 点击 添加服务器.
  3. 配置服务器:
    • 名字: antigravity-pdf
    • 命令: node
    • 参数:
      /absolute/path/to/antigravity-pdf-mcp/dist/server.js
      
    • 环境变量:
      • OPENAI_API_KEY:您的OpenAI API密钥。

VSCode/Claude桌面

添加到您的MCP配置文件中(例如。, claude_desktop_config.json):

{
  "mcpServers": {
    "antigravity-pdf": {
      "command": "node",
      "args": [
        "/absolute/path/to/antigravity-pdf-mcp/dist/server.js"
      ],
      "env": {
        "OPENAI_API_KEY": "your-api-key-if-needed"
      }
    }
  }
}

贡献

  1. 分叉与克隆:在本地克隆您的叉子。
  2. 分支:创建要素分支(git checkout -b feature/amazing-feature).
  3. 开发:进行更改。
  4. 验证:
    • 跑 npm run build 以检查错误。
    • 使用 npx ts-node verify_ux.ts 以测试摄入和回收。
  5. 承诺与推动:将更改推到叉子上。
  6. 拉取请求:在主存储库中打开PR。

许可证

麻省理工学院