检索增强生成服务器

MCP Server Fetch RAG 是一个基于检索增强生成技术的服务器,能够从网页和PDF中提取相关内容并进行语义分块和评分,适用于多语言内容处理。

  • by attamari
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 attamari/mcp-server-fetch-rag

使用说明

MCP服务器获取RAG

一种模型上下文协议(MCP)服务器,使用RAG(检索增强生成)获取web内容并返回相关块。

github:https://github.com/attamari/mcp-server-fetch-rag

特性

  • 语义分块:基于嵌入相似性将句子分组为连贯的块
  • 基于查询的评分:与Power Mean聚合进行后期交互,以获得精确的相关性评分
  • LexRank评分:不提供查询时基于图形的中心性评分
  • LexRank回填:在需要时用高中心性块补充查询结果
  • 百分比过滤:基于分数分布的动态阈值
  • 多语言支持:用途 paraphrase-multilingual-MiniLM-L12-v2 (50多种语言)
  • PDF支持:从PDF文档中提取文本
  • GPU加速:自动检测CUDA、DirectML、ROCm、OpenVINO提供程序
  • 上下文高效:过滤掉无关内容以减少令牌使用

用法

MCP客户端配置

添加到MCP客户端配置中(例如。 claude_desktop_config.json):

{
  "mcpServers": {
    "fetch-rag": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/attamari/mcp-server-fetch-rag",
        "mcp-server-fetch-rag"
      ]
    }
  }
}

使用CLI选项:

{
  "mcpServers": {
    "fetch-rag": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/attamari/mcp-server-fetch-rag",
        "mcp-server-fetch-rag",
        "--ignore-robots-txt",
        "--user-agent", "your-custom-user-agent"
      ]
    }
  }
}

CLI选项

选项 描述
--user-agent 自定义用户代理字符串(覆盖默认MCP UA)
--ignore-robots-txt 忽略robots.txt限制
--proxy-url HTTP请求的代理URL

工具:fetch_rag

获取URL并返回相关内容块。

参数 类型 必填 默认 说明
url string 是 - 要获取的URL
query string 否 null 搜索相关性过滤查询
max_chunks int 否 10 要返回的最大块数

运作原理

  1. 获取:从URL下载内容(通过trafilatura下载HTML,通过pypdfium2下载PDF)
  2. 分裂:使用wtpsplit将文本分割成句子(sat-31-sm,85种以上语言)
  3. 嵌入:生成L2标准化嵌入(通过FastEmbed/ONNX解释多语言MiniLM-L12-v2)
  4. 块:通过将相似性嵌入语义块来对相邻句子进行分组
  5. 得分:
    • 带查询:后期交互——通过幂均值聚合句子级查询相似度
    • 无需查询:LexRank——通过幂均值聚合的句子级图中心性
  6. 过滤器:应用基于百分位数的动态阈值(P30)
  7. 回填:当查询评分产生的块不足时,补充高中心LexRank块(P30过滤)
  8. 返回:按原始文档顺序排序的顶部块

许可证

MIT许可证——见 许可证 了解详情。