Dolphin MCP 使用指南:通过 OpenAI API 扩展 MCP 协议与 GPT 模型集成

作者:API传播员 · 2025-10-20 · 阅读时间:5分钟
Dolphin-MCP是一个开源实现,扩展了Anthropic的模型上下文协议,使其能与多种语言模型协同工作。本指南详细介绍了如何通过OpenAI的API配置和使用Dolphin-MCP,以利用MCP架构充分发挥GPT模型的潜力。内容包括安装步骤、配置方法、基本和高级用法示例,以及性能优化和常见问题排除。

简介

Claude 之外的多种语言模型协同工作。本技术指南将详细介绍如何通过 OpenAI 的 API 配置和使用 Dolphin-MCP,从而利用 MCP 架构充分发挥 GPT 模型的潜力。


技术概述

Dolphin-MCP 作为 MCP 规范与多种大型语言模型(LLM)API 之间的转换层,主要功能包括:

  • 将 MCP 协议消息转换为 OpenAI API 格式。
  • 处理不同模型之间的令牌映射差异。
  • 管理对话状态及历史记录。
  • 提供与模型无关的工具执行功能。

先决条件

在开始使用 Dolphin-MCP 之前,请确保满足以下条件:

  • 已安装 Python 3.8+。
  • 配备 pip(包管理器)。
  • 拥有有效的 OpenAI API 密钥。
  • 已安装 Git。
  • 对 LLM 和 API 概念有基本了解。

安装步骤

按照以下步骤安装 Dolphin-MCP:

# 克隆 Dolphin MCP 仓库
git clone https://github.com/cognitivecomputations/dolphin-mcp.git
cd dolphin-mcp

# 创建虚拟环境
python -m venv venv
source venv/bin/activate# Windows 用户请使用 venvScriptsactivate# 安装依赖项
pip install -r requirements.txt# 以开发模式安装软件包
pip install -e .

配置

1. 设置环境变量

在项目根目录中创建 .env 文件,并添加以下内容:

OPENAI_API_KEY=sk-your-OPENAI-API-KEY-here
MCP_MODEL=gpt-4-0125-preview
MCP_PROVIDER=OPENAI

2. 创建配置文件

在项目根目录创建 config.json 文件,内容如下:

{
  "provider": "openai",
  "model_settings": {
    "model": "gpt-4-0125-preview",
    "temperature": 0.7,
    "max_tokens": 2048
  },
  "api_config": {
    "base_url": "https://api.openai.com/v1",
    "timeout": 120
  }
}

基本用法示例

示例 1:简单对话

以下代码展示了如何使用 Dolphin-MCP 进行简单的对话:

from dolphin_mcp import DolphinMCP

# 初始化客户端
mcp_client = DolphinMCP.from_config("./config.json")# 创建对话
conversation = mcp_client.create_conversation()# 添加系统消息
conversation.add_system_message("你是一个有用的 AI 助手。")

示例 2:在 OpenAI 中使用工具

以下代码展示了如何通过 Dolphin-MCP 使用工具:

from dolphin_mcp import DolphinMCP
from dolphin_mcp.tools import WebSearchTool, CodeExecutionTool

# 初始化客户端并注册工具
mcp_client = DolphinMCP.from_config("./config.json")
conversation = mcp_client.create_conversation()# 用户查询
response = conversation.add_user_message(
    "纽约的当前天气如何?另外,你能告诉我如何计算 Python 中数字的因子吗?"
)# 输出响应及工具执行结果
print(response.content)
print("nTool executions:")
for tool_name, tool_result in response.tool_results.items():
    print(f"{tool_name}: {tool_result}")

高级配置

使用与 OpenAI 兼容的端点

如果需要使用其他 自托管模型),可以修改 config.json 文件:

{
  "provider": "openai",
  "model_settings": {
    "model": "your-custom-model-deployment",
    "temperature": 0.7,
    "max_tokens": 2048
  },
  "api_config": {
    "api_key": "your-api-key",
    "base_url": "https://your-custom-endpoint.com/v1",
    "api_version": "2023-07-01-preview",
    "api_type": "azure"
  }
}

自定义工具的实现

Dolphin-MCP 支持为 OpenAI 模型创建自定义工具。以下是一个实现简单计算器工具的示例:

from dolphin_mcp.tools import BaseTool
import math

class CalculatorTool(BaseTool):
    name = "calculator"
    description = "执行数学计算"    async def execute(self, expression: str):
        try:# 安全环境下执行数学表达式
            safe_env = {
                "sqrt": math.sqrt,
                "sin": math.sin,
                "cos": math.cos,
                "tan": math.tan,
                "pi": math.pi,
                "e": math.e
            }
            result = eval(expression, {"__builtins__": {}}, safe_env)
            return str(result)
        except Exception as e:
            return f"计算错误:{str(e)}"    @property
    def parameters(self):
        return {
            "type": "object",
            "properties": {
                "expression": {
                    "type": "string",
                    "description": "要计算的数学表达式"
                }
            },
            "required": ["expression"]
        }# 注册工具
mcp_client = DolphinMCP.from_config("./config.json")
mcp_client.register_tool(CalculatorTool())

性能优化

在生产环境中,可以通过以下方式优化性能:

  • 复用连接池以减少网络开销。
  • 使用异步任务高效处理多个对话。

示例代码如下:

from dolphin_mcp import DolphinMCP
import aiohttp
import asyncio

async def optimized_mcp_usage():
    async with aiohttp.ClientSession() as session:
        mcp_client = DolphinMCP.from_config(
            "./config.json",
            session=session,
            request_timeout=60,
            connection_pool_size=10
        )        tasks = []
        for i in range(5):
            conversation = mcp_client.create_conversation()
            conversation.add_system_message("你是一个有用的助手。")
            tasks.append(conversation.add_user_message_async(f"问题 {i}: 什么是机器学习?"))        responses = await asyncio.gather(*tasks)
        for i, response in enumerate(responses):
            print(f"响应 {i}: {response.content[:100]}...")

常见问题排除

错误 1:API 密钥无效

  • 检查 OpenAI API 密钥是否正确。
  • 确保密钥具有足够的权限。

错误 2:请求超时

  • 增加超时时间。
  • 检查网络连接。

错误 3:模型名称无效

  • 验证模型名称是否在 OpenAI 提供的模型列表中。

结论

Dolphin-MCP 是一个灵活的开源解决方案,能够将 OpenAI 模型与 MCP 协议结合使用。通过本指南的步骤,开发者可以轻松配置和使用 Dolphin-MCP,从而在不同的 LLM 提供商之间实现一致的接口,充分利用 GPT 模型的强大功能。

原文链接: http://anakin.ai/blog/how-to-use-mcp-with-openais-api-using-dolphin-mcp/