mcp-rag
通过 MCP 将 RAG 应用程序连接到 open-webui
1. MCP PoC 基本框架 / Hello World
查找有关 sse 片段的文档
使用 uvicorn 运行服务器
不起作用 -> 查找
SseServerTranpsort类中的文档,该文档与 MCP 网站不同更改路线 -> 安装 starlette_app,然后就可以工作了
starlette 给出 307 临时重定向,用 curl 测试后发现,这是由于缺少尾部斜杠造成的
在 github repo 上查找,那里的路由以服务器代码的尾部斜杠结尾,特别是
sse = SseServerTransport("/messages/")部分,我猜它告诉客户端要调用什么添加一些提示并在客户端检查
写作
我想尝试一下模型上下文协议 (MCP),因为我一直在尝试使用 RAG 原型来与 open-webui 配合使用。MCP 看起来与 LSP 类似。由于服务器和客户端不在同一台机器上,所以我们必须使用 SSE 传输。
MCP 官方文档中附带了一些代码片段,我不得不根据 mcp python 库提供的文档字符串对它们进行了一些修改。我花了一段时间才让一切正常,最初处理了 307 临时重定向错误,因为服务器发送了错误的端点。
测试一下!构建一个可以与服务器交互的小型 REPL
目标
了解 MCP 是什么
实现简单的服务器和客户端
尝试函数调用/工具使用
Related MCP server: OpenAI MCP Server
2. 实现基本的知识库
我想建立一个简单的知识库,我们可以将其粘贴到 MCP 服务器中并通过客户端调用来检索一些上下文。