使用说明

项目简介

Ollama Deep Researcher MCP服务器是一个实现了 Model Context Protocol (MCP) 的应用后端,旨在为支持 MCP 协议的 AI 客户端(如 Claude、Cline)提供深度研究能力。它将 LangChain Ollama Deep Researcher 的深度研究功能适配为 MCP 工具,允许 AI 助手通过本地 Ollama 模型进行深入的主题研究。研究结果以 MCP 资源的形式存储,方便后续访问和使用。

主要功能点

  • 深度研究工具: 提供 'research' 工具,允许 AI 客户端指定研究主题,服务器将自动进行多轮网络搜索和 LLM 总结,生成详细的研究报告。
  • 可配置的研究参数: 提供 'configure' 工具,允许用户配置研究过程的最大循环次数、使用的 Ollama 模型和搜索 API (Perplexity 或 Tavily)。
  • 研究状态查询: 提供 'get_status' 工具,允许用户查询当前正在进行的研究的状态。
  • 研究结果持久化: 研究结果自动存储为 MCP 资源,可以通过 'research://{topic}' URI 访问,方便在对话中引用和重用。
  • 支持多种安装方式: 提供标准安装和 Docker 安装两种方式,方便不同用户环境部署。
  • 集成 LangSmith 跟踪: 集成了 LangSmith,可以对研究过程进行全面的跟踪和监控,方便调试和优化。

安装步骤

前提条件

  • Node.js: 用于运行 MCP 服务器
  • Python 3.10+: 用于运行研究脚本
  • Ollama: 本地 LLM 服务
  • API Keys:
    • Tavily API Key (可选,用于 Tavily 搜索)
    • Perplexity API Key (可选,用于 Perplexity 搜索,默认)
    • LangSmith API Key (可选,用于 LangSmith 跟踪)

安装步骤

Option 1: 标准安装

  1. 安装 Ollama: 访问 Ollama 官网 下载并安装适合您平台的 Ollama。
  2. 克隆仓库并安装 Node.js 依赖:
    git clone https://github.com/Cam10001110101/mcp-server-ollama-deep-researcher
    cd mcp-server-ollama-deep-researcher
    npm install
  3. 安装 Python 依赖:
    # 推荐使用 uv (更快)
    pip install uv
    uv pip install .
    # 或者使用 pip
    # pip install .
  4. 构建 TypeScript 代码:
    npm run build
  5. 拉取 Ollama 模型:
    ollama pull deepseek-r1:8b # 或其他您偏好的模型

Option 2: Docker 安装

  1. 安装 Docker: 访问 Docker 官网 下载并安装 Docker Desktop。
  2. 克隆仓库:
    git clone https://github.com/Cam10001110101/mcp-server-ollama-deep-researcher
    cd mcp-server-ollama-deep-researcher
  3. 创建并编辑 '.env' 文件:
    cp .env.example .env
    # 编辑 .env 文件,填入您的 API keys (如果需要)
  4. 使 Docker 脚本可执行:
    chmod +x run-docker.sh # macOS/Linux
    # Windows 无需此步骤
  5. 构建并启动 Docker 容器:
    ./run-docker.sh start # macOS/Linux
    run-docker.bat start # Windows
  6. 确保 Ollama 在主机上运行:
    ollama pull deepseek-r1:8b  # 或您偏好的模型
    ollama serve

服务器配置 (MCP 客户端配置)

您需要在支持 MCP 协议的客户端中配置此服务器。以下是两种安装方式对应的配置示例。

Option 1: 标准安装 配置

{
  "mcpServers": {
    "ollama-deep-researcher": {
      "command": "node",
      "args": ["/path/to/mcp-server-ollama-deep-researcher/build/index.js"],  //  请替换为您的项目 build/index.js 文件的绝对路径
      "env": {
        "LANGSMITH_TRACING": "true", // 是否启用 LangSmith 跟踪,可选 "true" 或 "false"
        "LANGSMITH_ENDPOINT": "https://api.smith.langchain.com", // LangSmith Endpoint, 默认 "https://api.smith.langchain.com"
        "LANGSMITH_API_KEY": "your-langsmith-key", // 您的 LangSmith API Key,如果启用 LangSmith 跟踪则需要
        "LANGSMITH_PROJECT": "ollama-deep-researcher-mcp-server", // LangSmith 项目名称,可自定义
        "TAVILY_API_KEY": "tvly-your-tavily-key",  // 您的 Tavily API Key,如果使用 Tavily 搜索 API 则需要,注意添加 "tvly-" 前缀
        "PERPLEXITY_API_KEY": "your-perplexity-key", // 您的 Perplexity API Key,如果使用 Perplexity 搜索 API 则需要
        "PYTHONPATH": "/path/to/mcp-server-ollama-deep-researcher/src" // 请替换为您的项目 src 目录的绝对路径
      }
    }
  }
}

注意: 请将 'args' 中的路径和 'env' 中的 'PYTHONPATH' 替换为您的 'mcp-server-ollama-deep-researcher' 项目的实际绝对路径。

Option 2: Docker 安装 配置

{
  "mcpServers": {
    "ollama-deep-researcher": {
      "command": "docker",
      "args": ["exec", "-i", "ollama-deep-researcher-mcp", "node", "build/index.js"],
      "env": {}
    }
  }
}

注意: 此配置假定您已使用 'run-docker.sh start' 或 'run-docker.bat start' 启动了名为 'ollama-deep-researcher-mcp' 的 Docker 容器。

基本使用方法

  1. 启动 MCP 服务器: 根据您选择的安装方式启动服务器。标准安装直接运行配置中的 'command' 和 'args',Docker 安装确保 Docker 容器正在运行。
  2. 在 MCP 客户端中使用:
    • 配置服务器: 将上述 “服务器配置” 中的 JSON 代码添加到您的 MCP 客户端配置文件中 (例如 Claude Desktop App 或 Cline VS Code Extension 的配置文件)。
    • 使用 'research' 工具: 在客户端中,可以使用类似 '"research <topic>"' 的提示词来触发研究工具,例如 '"research AI-First Applications"'。
    • 配置研究参数: 可以使用 'configure' 工具来修改研究参数,例如 '"configure with perplexity and deepseek-r1:8b then research AI-First Applications"'。
    • 查询研究状态: 可以使用 'get_status' 工具查询当前研究状态。
    • 访问研究结果: 研究完成后,结果将作为 MCP 资源存储,您可以在客户端的资源面板中找到并访问,URI 格式为 'research://{topic}'。

示例 Prompt

  • 'research AI-First Applications' (使用默认配置进行研究)
  • 'configure with perplexity and deepseek-r1:8b then research AI-First Applications' (配置搜索 API 和模型后进行研究)

信息

分类

AI与计算