MCP流媒体聊天
该项目是一个Streamlit聊天应用程序,连接到Ollama LLM后端和多个MCP(模型即服务)服务器。该应用程序允许LLM从连接的MCP服务器中发现和调用工具。
项目结构
/app:包含Streamlit UI代码。/core:包含聊天机器人和Ollama LLM包装器的核心逻辑。/mcp:包括MCP客户端和工具注册表。/mcp_servers:包括MCP服务器。/config:管理应用程序设置和服务器配置。dummy_server.py:用于演示的MCP服务器示例。uv.toml:项目的依赖关系管理文件。
设置和安装
此项目使用 uv 用于依赖性管理。
- 安装
uv:
如果你没有 uv 安装后,您可以使用pip进行安装:
pip install uv- 创建虚拟环境并安装依赖项:
uv venv
uv sync如何运行应用程序
- 启动Ollama服务:
确保Ollama已安装并正在运行。你可以像这样拉一个模型 llama3 开始:
ollama pull llama3- 运行虚拟MCP服务器:
在单独的终端中,运行虚拟MCP服务器:
uv run python mcp_servers/dummy_server.py这将在上启动服务器 http://localhost:3000 带着一个 add 工具。
- 运行Streamlit应用程序:
在另一个终端中,运行Streamlit应用程序:
uv run streamlit run app/main.py该应用程序将在 http://localhost:8501.
如何使用应用程序
- 打开Streamlit应用程序 在您的浏览器中。
- 在侧边栏上,您可以 启用或禁用MCP服务器The
dummy_server默认情况下应启用。
- 点击 “刷新工具” 从已启用的服务器中发现工具。可用工具将显示在侧边栏中。
- 与模特聊天。尝试让它执行需要工具的任务,例如:
> “5+7是什么?”
模型应调用 dummy_server-add 工具并提供正确答案。
