多模态RAG服务

一个基于RAG-Anything的多模态检索增强生成服务,支持本地文档(PDF、Office、图片、表格、公式)的索引和查询,并通过MCP协议暴露给客户端使用。

  • by gwyer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 gwyer/mcp-raganything-researcher

使用说明

mcp raganything研究员

包装的MCP服务器 RAG什么都行 提供 多模式RAG 查看本地文档(PDF、Office、图像、表格、方程式)并将其公开 作为像Claude Desktop这样的MCP感知客户端的工具。

它做什么

  • 使用以下命令对文档文件夹进行递归索引 RAG什么都行:

    • PDF、DOC/DOCX、PPT/PPTX、XLS/XLSX
    • 图片(PNG/JPG)
    • 文本/Markdown
  • 构建一个多模式知识库(通过RAG Anything+LightRAG),然后让LLM:

    • 回答整个语料库中的问题
    • 在引擎盖下使用混合向量+图检索
  • 通过两个MCP工具揭示这一点:

    • index_corpus(path: string)
    • ask_corpus(question: string)

建筑

Claude Desktop (MCP client)
        │
        │  MCP protocol (tools)
        ▼
mcp-raganything-researcher (this repo)
        │
        ├─ RAGAnything.process_document_complete(...)
        └─ RAGAnything.aquery(..., mode="hybrid")

服务器管理

优雅地关闭

该服务器包括对SIGINT和SIGTERM信号的优雅关机处理。当服务器收到关机信号时,它将:

  • 将关机事件记录到stderr
  • 清理资源
  • 干净地退出

停止服务器

如果需要手动停止运行服务器进程,请使用提供的辅助脚本:

cd rag_backend
./stop_server.sh

脚本将:

  1. 查找所有正在运行的Python进程 server.py
  2. 向每个进程发送SIGINT(优雅关机信号)
  3. 等待2秒以正常关机
  4. 报告哪些进程已成功停止
  5. 如果需要,提供强制停止任何剩余流程的说明

手动关机:

# Find server processes
pgrep -f "python.*server.py"

# Send graceful shutdown signal
kill -INT <PID>

# Force stop if needed (last resort)
kill -9 <PID>

故障排除

检查服务器日志

通过Claude Desktop运行时,服务器日志可在以下位置获得:

~/Library/Logs/Claude/mcp-server-raganything-researcher.log

查看最近的日志:

tail -50 ~/Library/Logs/Claude/mcp-server-raganything-researcher.log

常见问题

  1. 服务器未启动:检查中的所有路径 claude_desktop_config.json 是正确的
  2. 导入错误:确保 requirements.txt 依赖项已安装在虚拟环境中
  3. 未找到配置:服务器自动解析 config.toml 和 .env 相对于脚本位置