Mcp Rag

Mcp Rag

🚀 使用MCP连接RAG应用程序到open-webui的开源项目

本项目旨在探索如何使用模型上下文协议(MCP)将RAG应用程序连接到open-webui。以下是项目的详细介绍和实践步骤。

🚀 快速开始

最基本的MCP概念验证(Hello World)

首先,你需要安装mcp[cli]库:

pip install mcp[cli]

接下来,你会遇到一些配置和调试的步骤:

  • 查找SSE代码片段的相关文档。
  • 使用uvicorn运行服务器。
  • 初始尝试可能会失败,查看SseServerTranpsort类的文档,你会发现它与MCP官网上的说明不同。
  • 将Route更改为Mount,这个问题就可以解决。
  • 星lette框架可能会导致307临时重定向错误,使用curl测试时会发现这是由于缺少尾部斜杠。
  • 查看github仓库,你会发现在服务器代码中路由都以尾部斜杠结尾,尤其是sse = SseServerTransport("/messages/")部分,这告诉了客户端需要调用的端点。
  • 添加一些提示并检查客户端。

项目说明

我一直致力于研究用于open-webui的RAG原型,因此想尝试模型上下文协议(MCP)。MCP看起来类似于语言服务器协议(LSP)。由于服务器和客户端不在同一台机器上,我们必须使用服务器发送事件(SSE)传输。

MCP官方文档有一些代码片段,但我不得不根据mcp python库中的docstrings进行调整。解决问题花了很多时间,最初是因为服务器发送了错误的端点而导致307临时重定向错误。

最后,我们需要进行测试,构建一个简单的交互式解释器(REPL)来与服务器交互。

目标

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

✨ 主要特性

实现一个基本的知识库

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

MCP客户端 + Open-WebUI

将MCP客户端与Open-WebUI集成,实现更强大的功能。

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-19 03:18

相似服务问题