M

MCP-RAG连接器

@felixscherz/mcp-rag
2 Stars 737 次浏览 felixscherz 更新于 2026-08-23

通过模型上下文协议(MCP)将RAG应用程序连接到open-webui,通过服务器发送事件(SSE)在远程环境中实现上下文检索和工具使用的服务器到客户端通信。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

mcp-rag

通过MCP将RAG应用程序连接到open-webui

1. 最简MCP PoC / Hello World

pip install mcp[cli]
  • 查阅sse片段的文档
  • 使用uvicorn运行服务器
  • 如果不起作用 -> 查看SseServerTranpsort类中的文档,该文档与MCP网站上的内容有所不同
  • 将Route更改为Mount以适应starlette_app,然后它就可以工作了
  • starlette给出307临时重定向,使用curl测试显示这是由于缺少尾部斜杠导致的
  • 在github仓库中查找,那里的路由在服务器代码中以尾部斜杠结尾,特别是sse = SseServerTransport("/messages/")这部分,我猜这是告诉客户端要调用什么
  • 添加一些提示并在客户端检查

文档

  • 我想尝试模型上下文协议,因为我一直在试验用于open-webui的RAG原型。MCP看起来类似于LSP。由于服务器和客户端不会在同一台机器上,我们必须使用SSE传输。
  • MCP在其官方文档中提供了一些代码片段,我不得不根据mcp python库提供的docstrings对其进行了一些调整。花费了一段时间才让一切正常运行,最初遇到了307临时重定向错误,因为服务器发送了错误的端点。
  • 测试它!构建一个可以与服务器交互的小型REPL

目标

  1. 理解MCP是什么
  2. 实现一个简单的服务器和客户端
  3. 尝试函数调用/工具使用

2. 实现一个基本的知识库

  • 我想构建一个简单知识库,我们可以将其插入MCP服务器并通过客户端调用来检索某些上下文。

3. MCP客户端 + Open-WebUI

相关 MCP 服务