使用说明

项目简介

本项目 'mcp-server-ollama' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在连接 MCP 客户端(如 Claude Desktop)和 Ollama LLM 服务器。它允许客户端通过 MCP 协议调用 Ollama 中运行的语言模型,实现提问和获取模型响应的功能。

主要功能点

  • MCP 服务器: 实现了 MCP 协议,可以作为标准的 MCP 服务器与客户端通信。
  • Ollama 集成: 专门为 Ollama LLM 服务器设计,可以调用 Ollama 提供的语言模型。
  • 工具调用: 提供 'ask-ollama' 工具,允许客户端向 Ollama 模型发送查询并获取文本回复。
  • 标准输入/输出 (stdio) 通信: 使用 stdio 作为 MCP 服务器的传输协议,方便集成到各种 MCP 客户端。
  • Docker 支持: 提供 Dockerfile,方便用户容器化部署和运行 MCP 服务器。

安装步骤

  1. 克隆仓库

    git clone https://github.com/vincentf305/mcp-server-ollama
    cd mcp-server-ollama
  2. 配置环境变量 复制 '.env.example' 文件并重命名为 '.env'。根据需要修改 '.env' 文件中的配置项,例如 Ollama 服务器的地址 ('ollama_base_url') 和默认模型名称 ('model_name')。

    cp .env.example .env
    # 编辑 .env 文件,例如修改 Ollama 地址
    nano .env
  3. 安装 Python 依赖 确保你的系统已安装 Python 和 pip,然后运行以下命令安装项目所需的 Python 库。

    pip install -r requirements.txt
  4. 运行 MCP 服务器 使用以下命令启动 MCP 服务器。

    python -m src.mcp_server.server

    服务器默认通过标准输入/输出 (stdio) 监听 MCP 客户端的连接。

服务器配置

对于 MCP 客户端(如 Claude Desktop),你需要配置 MCP 服务器的启动命令,以便客户端能够连接到 'mcp-server-ollama'。以下是一个典型的 'claude_desktop_config.json' 配置示例,用于通过 Python 命令直接运行服务器:

{
  "mcpServers": {
    "ollama-server": {
      "command": "python",
      "args": ["-m", "src.mcp_server.server"]
    }
  }
}

配置参数说明:

  • '"ollama-server"': 服务器名称,可以自定义。
  • '"command": "python"': 运行服务器的命令,这里使用 Python 解释器。
  • '"args": ["-m", "src.mcp_server.server"]': 传递给 'python' 命令的参数,'-m src.mcp_server.server' 表示运行 'src.mcp_server' 目录下的 'server.py' 模块。

如果使用 Docker 运行,可以使用 README.md 中提供的 Docker 配置:

{
  "mcpServers": {
    "ollama-server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp-server-ollama"]
    }
  }
}

配置参数说明:

  • '"command": "docker"': 运行服务器的命令,这里使用 Docker。
  • '"args": ["run", "-i", "--rm", "mcp-server-ollama"]': 传递给 'docker run' 命令的参数,'-i' 保持STDIN打开,'-rm' 容器退出后自动删除,'mcp-server-ollama' 是 Docker 镜像名称。

请根据你的实际部署方式选择合适的配置,并将其添加到 MCP 客户端的配置文件中。

基本使用方法

  1. 确保 Ollama 服务器已启动并运行,地址与 '.env' 文件中配置的 'ollama_base_url' 一致。
  2. 启动 'mcp-server-ollama' 服务器(通过 Python 命令或 Docker)。
  3. 配置 MCP 客户端(如 Claude Desktop)连接到 'ollama-server'。
  4. 在 MCP 客户端中,可以使用 'ask-ollama' 工具向 Ollama 模型提问。客户端会将问题发送到 'mcp-server-ollama',服务器调用 Ollama API 获取模型响应,并将结果返回给客户端。

信息

分类

AI与计算