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
目标
- 理解MCP是什么
- 实现一个简单的服务器和客户端
- 尝试函数调用/工具使用
2. 实现一个基本的知识库
- 我想构建一个简单知识库,我们可以将其插入MCP服务器并通过客户端调用来检索某些上下文。