使用说明
mcp-rag
通过MCP将RAG应用程序连接到open-webui
仅包含基本功能的MCP概念验证/Hello World
pip install mcp[cli]
- 查阅关于SSE代码片段的文档
- 使用uvicorn运行服务器
- 不起作用 -> 请查阅文档中的
SseServerTranpsort与MCP网站不同的类 - 将 starlette_app 的 Route 更改为 Mount,然后它就可以正常工作了
- Starlette返回307临时重定向,使用curl测试显示这是由于缺少尾随斜杠 斜杠
- 查看了github仓库,发现服务器代码中的路由路径末尾都带有斜杠,特别是
sse = SseServerTransport("/messages/")我猜这部分告诉客户端应该调用什么 - 在客户端添加一些提示并进行检查
Writeup
- 我想尝试一下模型上下文协议,因为我一直在试验用于(某种用途的)RAG原型 open-webui。MCP看起来与LSP相似。由于服务器和客户端不会在同一台机器上,我们必须使用SSE 运输。
- MCP在官方文档中附带了一些代码片段,我不得不根据文档字符串对它们进行了一些调整 由mcp python库提供。我花了一段时间才让事情运转起来,最初遇到了307临时重定向的问题 自服务器发送错误端点以来发生的错误。
- 测试一下!构建一个小型的REPL来与服务器进行交互
目标
- 了解MCP是什么
- 实现一个简单的服务器和客户端
- 尝试使用函数调用/工具
2. 实现一个基本的知识库
- 我想构建一个简单的知识库,我们可以将其粘贴到MCP服务器中,并通过客户端调用来检索 根据上面的信息,执行如下指令:。
