项目简介

Ollama MCP Server 是一个 Model Context Protocol (MCP) 服务器,旨在将本地 Ollama 模型的能力暴露为可通过 MCP 协议访问的工具和服务。它允许兼容 MCP 协议的 LLM 客户端,如 Mattermost MCP Host,利用本地 Ollama 模型进行文本生成和聊天补全等任务。

主要功能点

  • 资源管理: 提供对 Ollama 模型列表和模型配置的访问,作为 MCP 资源进行管理。
  • 工具注册与执行: 注册了 'generate' (文本生成) 和 'chat' (聊天补全) 两个核心工具,允许 LLM 客户端调用 Ollama 模型进行推理。
  • Prompt 模板: 定义了 'default-prompt' 和 'system-prompt' 两种 Prompt 模板,支持客户端定制与 Ollama 模型的交互方式。
  • 标准 MCP 协议: 遵循 MCP 协议规范,通过 Stdio (标准输入输出) 传输协议与 MCP 客户端进行 JSON-RPC 通信。

安装步骤

  1. 环境准备: 确保已安装 Python 3.13.1+ 和 uv 包管理器。
  2. 克隆仓库: 从 GitHub 克隆 'mattermost-mcp-host' 仓库到本地。
    git clone https://github.com/jagan-shanmugam/mattermost-mcp-host
  3. 进入目录: 通过命令行进入 'ollama-mcp-server' 目录。
    cd mattermost-mcp-host/ollama-mcp-server
  4. 创建虚拟环境: 创建并激活 Python 虚拟环境以隔离项目依赖。
    python -m venv .venv
    source .venv/bin/activate  # 或 .venv\Scripts\activate for Windows
  5. 安装依赖: 使用 uv 包管理器安装项目依赖。
    uv sync

服务器配置

MCP 客户端(如 'mattermost-mcp-host')需要配置连接 Ollama MCP 服务器的信息。在 'mattermost-mcp-host' 项目的 'src/mattermost_mcp_host/mcp-servers.json' 文件中,您可以添加如下服务器配置:

{
  "mcpServers": {
    "ollama-server": {  //  服务器名称,在 Mattermost 中使用 #ollama-server 命令前缀
      "serverName": "ollama-mcp-server",  // MCP 服务器声明的名称
      "command": "python",  // 启动 MCP 服务器的命令
      "args": ["-m", "ollama_mcp_server.main"],  //  传递给启动命令的参数,用于运行 Ollama MCP 服务器主模块
      "type": "stdio"  //  连接类型,这里使用标准输入输出
    }
  }
}

配置参数注释

  • 'serverName': 自定义服务器名称,例如 "ollama-server"。这个名称将用作 Mattermost 中调用该服务器的命令前缀(例如 '#ollama-server tools')。
  • 'command': 启动 MCP 服务器进程的命令。对于 Ollama MCP Server,这里使用 'python' 解释器。
  • 'args': 传递给 'command' 的参数列表。'["-m", "ollama_mcp_server.main"]' 指示 Python 运行 'ollama_mcp_server' 包中的 'main' 模块,即启动 Ollama MCP 服务器的主程序。
  • 'type': MCP 客户端与服务器建立连接的类型。'"stdio"' 表示使用标准输入输出流进行通信,这是本地运行 MCP 服务器常用的方式。

基本使用方法

  1. 启动 Ollama MCP Server: 在 'ollama-mcp-server' 目录下,运行以下命令启动服务器。
    python -m ollama_mcp_server.main
    服务器将通过标准输入输出等待客户端连接。
  2. 配置 MCP 客户端: 在 'mattermost-mcp-host' 项目中,按照 服务器配置 步骤配置 'mcp-servers.json' 文件,添加 'ollama-server' 的配置。
  3. 在 Mattermost 中使用: 启动 'mattermost-mcp-host' 客户端后,在 Mattermost 中可以使用 '#ollama-server' 命令前缀与 Ollama MCP 服务器交互。
    • '#ollama-server tools': 列出 Ollama MCP 服务器提供的工具 (generate, chat)。
    • '#ollama-server call generate prompt '请生成一段关于夏天的诗歌'': 调用 'generate' 工具生成文本。
    • '#ollama-server resources': 列出 Ollama MCP 服务器提供的资源,如模型列表。

通过以上步骤,您就可以利用 Ollama MCP Server 将本地 Ollama 模型集成到支持 MCP 协议的 LLM 应用中,实现本地化的模型推理能力。

信息

分类

AI与计算