返回市场
奥拉玛-MCP聊天

奥拉玛-MCP聊天

作者:godstale2 星标更新:2025-05-06

项目介绍

Ollama MCP Chat

Ollama MCP Chat 是一个桌面聊天机器人应用程序,它集成了 Ollama 的本地大语言模型(LLM)与 MCP(模型上下文协议)服务器,支持各种工具调用和可扩展功能。该程序基于 Python 和 PySide6 提供了一个图形用户界面,并允许通过 MCP 服务器自由扩展其功能。

对于希望使用 Python 创建带有图形界面的 AI 应用程序的开发者来说,这个项目可以作为非常有用的基底代码。

主要特性

  • 免费运行 Ollama 的本地 LLM 模型
  • 通过 MCP 服务器集成并调用各种工具
  • 管理和保存聊天历史记录
  • 实时流式响应和工具调用结果
  • 直观的桌面图形用户界面(基于 PySide6)
  • 图形用户界面支持添加、编辑和移除 MCP 服务器

系统要求

  • Python 3.12 或更高版本
  • 安装 Ollama(用于本地 LLM 执行)
  • uv(推荐用于包管理)
  • MCP 服务器(可以自行实现或使用外部 MCP 服务器)
  • smithery.ai(推荐用于 MCP 仓库)

安装步骤

  1. 克隆仓库
git clone https://github.com/your-repo/ollama-mcp-chat.git
cd ollama-mcp-chat
  1. 安装 uv(如果尚未安装)
# 使用 pip 安装
pip install uv

# 或者使用 curl(类 Unix 系统)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 或者使用 PowerShell(Windows)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. 安装依赖项
# 安装依赖项
uv sync
  1. 安装 Ollama 并下载模型
  • 推荐 [qwen3:14b](ollama run qwen3:14b)
# 安装 Ollama(详情见 https://ollama.ai)
ollama pull <model-name>
  1. 配置 MCP 服务器(可选)
  • mcp_config.json 文件中添加 MCP 服务器信息
  • 示例:
{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["./mcp_server/mcp_server_weather.py"],
      "transport": "stdio"
    }
  }
}

如何运行

uv run main.py
  • 启动图形用户界面,开始聊天并使用 MCP 工具。

主要文件

  • ui/chat_window.py: 主图形用户界面窗口,处理聊天/历史记录/设置/服务器管理
  • agent/chat_history.py: 管理并保存/加载聊天历史记录
  • worker.py: 处理与 LLM 和 MCP 服务器的异步通信
  • agent/llm_ollama.py: 集成 Ollama LLM 和 MCP 工具,处理流式响应
  • mcp_server/mcp_manager.py: 管理并验证 MCP 服务器配置文件

扩展 MCP 服务器

  1. mcp_config.json 中添加新的 MCP 服务器信息
  2. 实现并准备 MCP 服务器可执行文件
  3. 重启应用程序并在图形用户界面中检查 MCP 服务器列表

聊天历史

  • 所有对话会自动保存到 chat_history.json
  • 可以从图形用户界面加载之前的对话或开始新的对话

退出命令

  • 在程序中输入 quitexitbye 来退出

注意事项

  • 即使没有配置 MCP 服务器,基本的 LLM 聊天功能仍然可用
  • 注意个人电脑的性能和内存使用情况,特别是使用大型 LLM 模型时
  • MCP 服务器可以用 Python、Node.js 或其他语言实现,并且支持外部 MCP 服务器

许可证

MIT 许可证