SuperAPI AI 工具集

dolphin-mcp

Dolphin-MCP 是一个开源的多服务器桥接客户端,用于连接任意兼容 MCP(Model Context Protocol)的服务器与任意 LLM(本地或远程),支持实时灵活的工具调用和资源访问。它同时提供 Python 库和命令行工具,可通过自然语言查询并操作 MCP 服务器中的数据。

访问官网

工具介绍

Dolphin MCP 是一个灵活的 Python 库和命令行工具,用于通过自然语言与 MCP(Model Context Protocol)服务器交互。它可以连接任意数量已配置的 MCP 服务器,将其工具提供给语言模型(OpenAI、Anthropic、Ollama、LMStudio),并提供会话式界面来访问和操作这些服务器中的数据。

主要能力

  • 多提供商支持:兼容 OpenAI、Anthropic、Ollama 和 LMStudio 模型。
  • 模块化架构:按提供商分离模块,职责清晰。
  • 双接口:既可作为 Python 库使用,也可作为命令行工具使用。
  • MCP 服务器集成:可同时连接任意数量的 MCP 服务器。
  • 工具发现:自动发现并使用 MCP 服务器提供的工具。
  • 灵活配置:通过 JSON 配置模型和服务器。
  • 环境变量支持:安全地将 API 密钥存储在环境变量中。
  • 详尽文档:提供详细的使用示例和 API 文档。
  • 可安装包:通过 pip 安装,提供 dolphin-mcp-cli 命令。

安装前提

需要 Python 3.10+、SQLite(演示用轻量数据库)、uv/uvx(快速 Python 包安装器和解析器)。各平台安装方式见官方文档。

安装方式

方式一:从 PyPI 安装(推荐),同时安装库和 dolphin-mcp-cli 命令行工具。 方式二:从源码安装:

git clone https://github.com/QuixiAI/dolphin-mcp.git
cd dolphin-mcp
pip install -e .

设置环境变量:复制示例文件并添加 OpenAI API 密钥:

cp .env.example .env

然后编辑 .env 文件添加 OpenAI API 密钥。 (可选)设置演示海豚数据库:python setup_db.py,创建一个包含海豚信息的示例 SQLite 数据库用于测试。

配置

项目使用两个主要配置文件:

  • .env:包含 OpenAI API 配置:
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o
# OPENAI_BASE_URL=https://api.openai.com/v1  # 如使用自定义 base url 可取消注释并修改
  • mcp_config.json:定义要连接的 MCP 服务器:
{
  "mcpServers": {
    "server1": {
      "command": "command-to-start-server",
      "args": ["arg1", "arg2"],
      "env": {
        "ENV_VAR1": "value1",
        "ENV_VAR2": "value2"
      }
    },
    "server2": {
      "command": "another-server-command",
      "args": ["--option", "value"]
    }
  }
}

可按需添加任意数量的 MCP 服务器,客户端将连接所有服务器并使其工具可用。

使用方式

命令行用法:以查询作为参数运行 CLI 命令,支持多种命令行选项。 交互式聊天模式:使用 --interactive 或 -i 标志启动,可提供初始问题,对话保持上下文,输入 exit 或 quit 结束会话。 作为库编程使用:可在 Python 代码中导入 Dolphin MCP 作为库。 原始脚本(遗留):仍可直接运行原始脚本。

工作原理

  1. 连接所有已配置的 MCP 服务器。
  2. 列出每个服务器可用的工具。
  3. 将用户查询和可用工具一起发送给语言模型 API。
  4. 执行模型请求的任何工具调用。
  5. 以会话格式返回结果。 此过程持续进行,直到模型获得提供最终回复所需的所有信息。

示例查询

示例取决于所配置的 MCP 服务器。使用演示海豚数据库、自定义 MCP 服务器或指定模型均可。也可使用 LMStudio 提供商,或通过选项抑制中间结果输出。更多示例见 examples README。

演示数据库

运行 setup_db.py 会创建一个包含海豚物种信息的示例 SQLite 数据库,用于演示系统如何与简单 MCP 服务器配合工作。数据库包含:各类海豚物种信息、物种间进化关系、保护状态和物理特征。这只是 Dolphin MCP 客户端的一个示例,可连接任何提供数据或服务访问工具的 MCP 服务器。

依赖

需要 OpenAI API 密钥(或其他支持提供商的 API 密钥)。核心依赖、开发依赖、演示依赖(mcp-server-sqlite)在使用 pip 安装时自动安装。

包结构

  • dolphin_mcp/:主包目录
    • init.py:包初始化和导出
    • client.py:核心 MCPClient 实现和 run_interaction 函数
    • cli.py:命令行界面
    • utils.py:配置和参数解析工具函数
    • providers/:提供商特定实现
      • openai.py:OpenAI API 集成
      • anthropic.py:Anthropic API 集成
      • ollama.py:Ollama API 集成
      • lmstudio.py:LMStudio SDK 集成

限制

具体收费、价格等信息暂未提供。