返回市场
任意检索MCP

任意检索MCP

作者:jesse-merhi10 星标更新:2025-07-11

项目介绍

RAG Anything MCP Server

一个提供全面检索增强生成(RAG)能力的MCP(模型上下文协议)服务器,用于处理和查询使用raganything库支持多模态的文档目录。

功能

  • 端到端文档处理:完整的文档解析,包括多模态内容提取
  • 多模态RAG:支持图像、表格、公式和文本处理
  • 批量处理:处理包含多种文件类型的整个目录
  • 高级查询:纯文本和多模态增强查询
  • 多种查询模式:混合、本地、全局、简单、混合和绕过模式
  • 视觉处理:使用GPT-4V进行高级图像分析
  • 持久存储:每个目录维护RAG实例以实现高效查询

可用工具

process_directory

处理目录中的所有文件,进行全面的RAG索引,支持多模态。

必需参数:

  • directory_path:包含要处理文件的目录路径
  • api_key:用于LLM和嵌入功能的OpenAI API密钥

可选参数:

  • working_dir:自定义RAG存储的工作目录
  • base_url:OpenAI API基础URL(用于自定义端点)
  • file_extensions:要处理的文件扩展名列表(默认:['.pdf', '.docx', '.pptx', '.txt', '.md'])
  • recursive:处理子目录(默认:True)
  • enable_image_processing:启用图像分析(默认:True)
  • enable_table_processing:启用表格提取(默认:True)
  • enable_equation_processing:启用公式处理(默认:True)
  • max_workers:并发处理工作者数量(默认:4)

process_single_document

处理单个文档,进行全面的多模态分析。

必需参数:

  • file_path:要处理的文档路径
  • api_key:OpenAI API密钥

可选参数:

  • working_dir:自定义RAG存储的工作目录
  • base_url:OpenAI API基础URL
  • output_dir:解析内容的输出目录
  • parse_method:文档解析方法(默认:"auto")
  • enable_image_processing:启用图像分析(默认:True)
  • enable_table_processing:启用表格提取(默认:True)
  • enable_equation_processing:启用公式处理(默认:True)

query_directory

使用LightRAG对已处理文档进行纯文本查询。

参数:

  • directory_path:已处理目录的路径
  • query:关于文档的问题
  • mode:查询模式 - "混合"、"本地"、"全局"、"简单"、"混合"或"绕过"(默认:"混合")

query_with_multimodal_content

带有额外多模态内容(表格、公式等)的增强查询。

参数:

  • directory_path:已处理目录的路径
  • query:要问的问题
  • multimodal_content:多模态内容字典列表
  • mode:查询模式(默认:"混合")

示例多模态内容:

[
  {
    "type": "table",
    "table_data": "Method,Accuracy\\nRAGAnything,95.2%\\nBaseline,87.3%",
    "table_caption": "性能比较"
  },
  {
    "type": "equation",
    "latex": "P(d|q) = \\frac{P(q|d) \\cdot P(d)}{P(q)}",
    "equation_caption": "文档相关性概率"
  }
]

list_processed_directories

列出所有已处理且可用于查询的目录。

get_rag_info

获取目录的RAG配置和状态的详细信息。

使用示例

1. 基本目录处理

process_directory(
  directory_path="/path/to/documents",
  api_key="your-openai-api-key"
)

2. 高级目录处理

process_directory(
  directory_path="/path/to/research_papers",
  api_key="your-openai-api-key",
  file_extensions=[".pdf", ".docx"],
  enable_image_processing=true,
  enable_table_processing=true,
  max_workers=6
)

3. 纯文本查询

query_directory(
  directory_path="/path/to/documents",
  query="这些研究论文的主要发现是什么?",
  mode="混合"
)

4. 带有表格数据的多模态查询

query_with_multimodal_content(
  directory_path="/path/to/documents",
  query="将这些结果与文档中的发现进行比较",
  multimodal_content=[{
    "type": "table",
    "table_data": "Method,Accuracy,Speed\\nRAGAnything,95.2%,120ms\\nBaseline,87.3%,180ms",
    "table_caption": "性能比较"
  }],
  mode="混合"
)

5. 单个文档处理

process_single_document(
  file_path="/path/to/important_paper.pdf",
  api_key="your-openai-api-key",
  enable_image_processing=true
)

设置要求

1. 环境变量

export OPENAI_API_KEY="your-openai-api-key-here"

2. 安装依赖项

uv sync

3. 运行MCP服务器

python main.py

查询模式解释

  • 混合:结合本地和全局搜索(推荐用于大多数用例)
  • 本地:专注于本地上下文和实体关系
  • 全局:提供更广泛的文档级别见解和摘要
  • 简单:基于关键词的简单搜索,不涉及图推理
  • 混合:结合多种方法以获得全面的结果
  • 绕过:直接访问,无需RAG处理

多模态内容类型

该服务器支持处理和查询以下内容:

  • 图像:自动生成标题和视觉分析
  • 表格:结构提取和内容分析
  • 公式:LaTeX解析和数学推理
  • 图表/图形:视觉数据分析
  • 混合内容:多种内容类型的组合分析

API配置

服务器默认使用OpenAI的API:

  • LLM:GPT-4o-mini用于文本处理
  • 视觉:GPT-4o用于图像分析
  • 嵌入:text-embedding-3-large(3072维)

您可以自定义base_url参数来使用:

  • Azure OpenAI
  • 兼容OpenAI的API
  • 自定义模型端点

文件支持

支持的文件格式包括:

  • PDF文档
  • Microsoft Word(.docx)
  • PowerPoint演示文稿(.pptx)
  • 文本文件(.txt)
  • Markdown文件(.md)
  • 以及通过raganything库支持的更多格式

性能注意事项

  • 并行处理:使用max_workers控制并行文档处理
  • 内存使用:包含大量图像的大文档可能需要大量的内存
  • API成本:视觉处理(GPT-4o)比文本处理成本更高
  • 存储:处理的数据存储在本地以实现高效的重新查询