使用说明

项目简介

MindBridge MCP Server 是一个基于模型上下文协议(MCP)构建的AI服务器,旨在统一和编排多种大型语言模型(LLM)。它作为一个AI命令中心,连接您的应用程序与各种模型,包括 OpenAI、Anthropic、Google、DeepSeek、Ollama 等,实现多模型的协同工作和优化选择。MindBridge 不仅聚合模型,更侧重于模型编排,让您可以根据需求智能地路由请求到合适的模型,例如将需要快速响应的任务路由到廉价模型,将复杂推理任务路由到专家模型,甚至可以通过 'getSecondOpinion' 工具获取多个模型的第二意见。

主要功能点

  • 多 LLM 支持: 支持包括 OpenAI, Anthropic, Google, DeepSeek, OpenRouter, Ollama 以及兼容 OpenAI API 的服务,轻松切换和组合使用不同供应商的模型。
  • 推理引擎感知: 能够识别并智能路由请求到擅长深度推理的模型,如 Claude, GPT-4o, DeepSeek Reasoner 等,提升复杂任务的处理能力。
  • getSecondOpinion 工具: 允许同时向多个模型提出相同问题,并比较它们的响应,为决策提供更全面的参考。
  • OpenAI 兼容 API 层: 可以无缝集成到任何期望 OpenAI API 端点的工具和应用中,例如 Azure, Together.ai, Groq 等。
  • 自动检测供应商: 只需添加 API 密钥,MindBridge 即可自动完成配置和发现,简化设置流程。
  • 高度灵活的配置: 支持通过环境变量、MCP 配置文件或 JSON 进行全面配置,满足各种定制化需求。

安装步骤

MindBridge MCP Server 提供两种安装方式:

方法一:通过 npm 安装 (推荐)

  1. 打开终端,运行以下命令全局安装 MindBridge:

    npm install -g @pinkpixel/mindbridge
  2. 安装完成后,即可通过 'mindbridge' 命令或 'npx @pinkpixel/mindbridge' 启动服务器。

方法二:从源代码安装

  1. 克隆 GitHub 仓库到本地:

    git clone https://github.com/pinkpixel-dev/mindbridge.git
    cd mindbridge
  2. 运行安装脚本安装依赖:

    chmod +x install.sh
    ./install.sh
  3. 复制 '.env.example' 文件并重命名为 '.env',然后编辑 '.env' 文件,填入您希望使用的 LLM 供应商的 API 密钥。

服务器配置

为了让 MCP 客户端(如 Cursor 或 Windsurf)连接到 MindBridge MCP Server,您需要在客户端的 'mcp.json' 配置文件中添加服务器配置。以下是一个示例配置,请根据您的实际情况进行调整:

{
  "mcpServers": {
    "mindbridge": {
      "command": "npx",
      "args": [
        "-y",
        "@pinkpixel/mindbridge"
      ],
      "env": {
        // 在这里配置您的 API 密钥,或者留空并在运行环境中设置
        "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY",
        "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY",
        "GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY",
        "DEEPSEEK_API_KEY": "YOUR_DEEPSEEK_API_KEY",
        "OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY"
      },
      "provider_config": {
        // 这里可以配置各个供应商的默认模型等参数
        "openai": {
          "default_model": "gpt-4o"
        },
        "anthropic": {
          "default_model": "claude-3-5-sonnet-20241022"
        },
        "google": {
          "default_model": "gemini-2.0-flash"
        },
        "deepseek": {
          "default_model": "deepseek-chat"
        },
        "openrouter": {
          "default_model": "openai/gpt-4o"
        },
        "ollama": {
          "base_url": "http://localhost:11434",
          "default_model": "llama3"
        },
        "openai_compatible": {
          "api_key": "YOUR_API_KEY_HERE_OR_REMOVE_IF_NOT_NEEDED",
          "base_url": "FULL_API_URL_HERE",
          "available_models": ["MODEL1", "MODEL2"],
          "default_model": "MODEL1"
        }
      },
      "default_params": {
        // 这里可以设置默认的请求参数
        "temperature": 0.7,
        "reasoning_effort": "medium"
      },
      "alwaysAllow": [
        // 默认允许访问的工具
        "getSecondOpinion",
        "listProviders",
        "listReasoningModels"
      ]
    }
  }
}

请注意:

  • 'command': 指定启动 MindBridge 服务器的命令,这里使用 'npx' 来运行全局安装的 '@pinkpixel/mindbridge' 包。
  • 'args': 传递给启动命令的参数,'-y' 可能是 'npx' 的参数,具体含义请参考 'npx' 文档。 '["-y", "@pinkpixel/mindbridge"]' 表示运行 'npx -y @pinkpixel/mindbridge' 命令。
  • 'env': 配置环境变量,您可以在这里设置 API 密钥,或者在运行服务器的环境中设置。 示例中 'OPENAI_API_KEY: "YOUR_OPENAI_API_KEY"' 需要替换为您的实际 OpenAI API 密钥。 其他供应商的密钥配置方式类似。
  • 'provider_config': 用于配置各个 LLM 供应商的参数,例如默认模型。
  • 'default_params': 设置请求的默认参数,例如 'temperature' 和 'reasoning_effort'。
  • 'alwaysAllow': 列出始终允许客户端调用的工具名称。

基本使用方法

  1. 启动服务器: 根据您的安装方式,使用 'mindbridge' 命令、'npx @pinkpixel/mindbridge' 或 'npm start' 启动 MindBridge MCP Server。

  2. 在 MCP 客户端中使用: 在支持 MCP 协议的客户端(如 Cursor 或 Windsurf)中,配置上述 'mcp.json' 文件,客户端即可连接到 MindBridge 服务器,并调用其提供的工具,例如 'getSecondOpinion'、'listProviders' 和 'listReasoningModels'。

  3. 调用工具示例: 以下是一些通过 'getSecondOpinion' 工具调用不同模型的示例(JSON 格式,用于在 MCP 客户端中构造请求):

    // 从 GPT-4o 获取意见
    {
      "tool_call_id": "tool_call_1",
      "tool_name": "getSecondOpinion",
      "tool_arguments": {
        "provider": "openai",
        "model": "gpt-4o",
        "prompt": "数据库分片需要考虑哪些关键因素?",
        "temperature": 0.7,
        "maxTokens": 1000
      }
    }
    
    // 从 OpenAI 的 o1 模型获取推理响应
    {
      "tool_call_id": "tool_call_2",
      "tool_name": "getSecondOpinion",
      "tool_arguments": {
        "provider": "openai",
        "model": "o1",
        "prompt": "解释数据库索引背后的数学原理",
        "reasoning_effort": "high",
        "maxTokens": 4000
      }
    }
    
    // 从 DeepSeek 获取推理响应
    {
      "tool_call_id": "tool_call_3",
      "tool_name": "getSecondOpinion",
      "tool_arguments": {
        "provider": "deepseek",
        "model": "deepseek-reasoner",
        "prompt": "微服务和单体架构之间有什么权衡?",
        "reasoning_effort": "high",
        "maxTokens": 2000
      }
    }
    
    // 使用 OpenAI 兼容的供应商
    {
      "tool_call_id": "tool_call_4",
      "tool_name": "getSecondOpinion",
      "tool_arguments": {
        "provider": "openaiCompatible",
        "model": "YOUR_MODEL_NAME",
        "prompt": "解释分布式系统中最终一致性的概念",
        "temperature": 0.5,
        "maxTokens": 1500
      }
    }

    请根据您的实际需求和 MCP 客户端的使用方式,构造相应的工具调用请求。

信息

分类

AI与计算