Skip to content
🔗 分享本题
查看我的学习进度 →

MCP Tools API与托管平台对比图解

🧠 图解记忆: Tools 是模型能力,MCP 是开放连接协议,托管平台是应用运行环境。

💡 答案要点

三者定位对比:

维度MCPOpenAI Tools APIGPTs
定位协议标准模型API能力应用平台
厂商开放标准(Anthropic发起)OpenAI专属OpenAI专属
互操作性✅ 跨模型跨厂商❌ 仅OpenAI模型❌ 仅OpenAI生态
工具生态数千个官方+社区Server需要自行开发OpenAI官方Actions
部署方式本地/云端均可必须调用OpenAI APIOpenAI托管
数据安全完全可控数据需发送OpenAI数据发送OpenAI

OpenAI Tools API:

展开 Python 代码示例(35 行)
python
# OpenAI的Function Calling(也叫Tools API)
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "查一下北京天气"}],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "get_weather",
                "description": "获取城市天气",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "city": {"type": "string"}
                    }
                }
            }
        }
    ]
)

# 模型输出
# {
#   "tool_calls": [{
#     "id": "call_xxx",
#     "type": "function",
#     "function": {"name": "get_weather", "arguments": "{\"city\":\"北京\"}"}
#   }]
# }

# 开发者需要:
# 1. 解析tool_calls
# 2. 调用实际函数
# 3. 把结果拼回messages
# 4. 再次调用API获取最终回复

MCP:

python
# MCP Server注册工具后,Client自动发现
# 模型输出JSON-RPC,Client自动处理

# Claude Code / Cursor中的MCP:
# 用户说"查北京天气" → AI自动调用MCP Server的工具
# → Server执行get_weather → 返回结果 → AI生成回复
# 全程无需开发者写适配代码

GPTs Actions:

yaml
# GPTs的Actions定义(类似OpenAPI)
openapi-actions:
  action_name: get_weather
  definition:
    path: /weather
    method: GET
    parameters:
      city: string
# → GPTs自动生成调用代码
# 问题:只能调用符合OpenAPI规范的API
# 局限性:无法访问本地文件、数据库、GitHub等

核心结论:

OpenAI Tools API = "让GPT能调用我的API"
GPTs Actions = "让GPTs能调用我的Web服务"
MCP = "让任何AI模型能调用任何工具(文件/数据库/GitHub/本地进程)"

MCP的优势:
1. 开放标准,不绑死在OpenAI
2. 支持本地工具(文件、数据库)—— 不需要暴露到公网
3. 企业可完全私有部署,数据不出内网
4. 一次开发,Claude/GPT/Gemini都能用

面试话术:

"MCP和OpenAI Tools/GPTs的本质区别是'开放vs封闭'。OpenAI的方案绑死在OpenAI生态,工具需要暴露到公网,数据安全合规有风险;MCP是开放标准,本地数据库、文件、GitHub都能连,数据不出企业内网。企业选型:快速验证用OpenAI Tools API,企业生产用MCP——安全合规是生死线。"