这才是MCP 爆火的原因!

发布于 2025-4-28 23:17
浏览
0收藏

这才是MCP 爆火的原因!-AI.x社区

现在很多人让大模型调用外部工具,最常见的做法就是 Function Calling。

乍一看,能调起来没问题。但真要接多个服务、跑一个完整流程,Function Calling 就显得太粗糙了——定义繁琐、结构不统一、模型换一个就得重写一遍。

本质上,它解决的只是“能不能调用”,但没解决“怎么标准、高效地调用”。

而 MCP 出现,就是为了解决这个“工程化不成体系”的问题。

我认为 Function Calling 更像是“你教模型怎么用某个函数”;而 MCP,是“你把这些函数变成服务,模型自然知道怎么用”。

MCP像是给你写的工具函数装了一个“USB标准口”,以后不管哪个模型来,都能直接插上用。

一、什么是 MCP?

MCP(Model Context Protocol)是一套协议,专门让大模型更稳、更方便地调用外部服务。

它不是工具、不是框架,而是像 HTTP、SQL 一样的“语言规范”,

让大模型在面对不同的工具时,说话有标准,调用有格式,接入有规矩。

我们先明确一点:MCP 不会帮你写代码,你该写服务还是得写服务。

这才是MCP 爆火的原因!-AI.x社区

那 MCP 到底解决了啥?

很多人一听 MCP 就头大,总觉得它是某种框架或者平台,但其实本质非常简单。

场景设定:调用一个“查天气”的工具

我们希望:大模型收到一句自然语言,比如“请帮我查一下北京今天的天气”,就能触发一个查天气的工具,返回结果。

写法一:传统 Function Calling 写法(OpenAI 风格)

你得自己写一个函数,并且注册到模型里,同时描述这个函数:

{
  "name": "get_weather",
  "description": "获取指定城市的天气",
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "查询天气的城市名"
      }
    },
    "required": ["city"]
  }
}

然后你在代码里写这个函数:

def get_weather(city):
    # 调用真实的天气 API
    return f"{city} 今天多云,最高温 26°C"

整个流程:

你注册函数描述

用户问话 → 模型判断要用这个函数 → 填参 → 调用 → 返回

这样的问题:

  • 函数定义和调用分开写,靠自己绑定;
  • 函数描述得自己写一遍;
  • 多个服务无法统一管理;
  • 不能“自动注册、自动识别”,全部靠人工维护;
  • 接入多种服务,写法冗余、难复用。

写法二:使用 MCP 协议 + MCP SDK 实现

第一步:你写一个“天气服务”的 MCP Server(可以用 Flask)

from flask import Flask, request, jsonify


app = Flask(__name__)


@app.route("/invoke", methods=["POST"])
def handle():
    req = request.get_json()
    city = req["params"]["city"]
    result = f"{city} 今天多云,最高温 26°C"
    return jsonify({
        "status": "ok",
        "result": result
    })

注意,这个服务只要实现了 /invoke 接口,格式遵循 MCP 协议,就可以被任意支持 MCP 的模型接入。

第二步:模型那边(Client)用 MCP SDK 发请求

from mcp import MCPClient


client = MCPClient("http://your-mcp-server-url")


response = client.invoke(
    tool="weather",  # 工具名
    params={"city": "北京"}
)


print(response["result"])

关键点在这儿:

  • MCP 定义了一套【工具格式、参数结构、通信协议】;
  • 工具只要部署成 MCP Server,就能自动接入;
  • 模型这边只要用 MCP Client 发请求,就能统一对接任何符合协议的工具。

总结一下

我们可以这样理解:

HTTP 是浏览器和服务器之间说话的协议;

SQL 是你和数据库之间说话的协议;

MCP 是大模型和外部工具之间说话的协议。

有了 HTTP,网页才能统一访问后端服务,不用每个页面自己发明新格式;

有了 MCP,大模型也能统一调用你写的工具,不用每个模型手动绑接口、拼参数、猜格式。

它不是要替你写业务代码,

而是让模型知道:“你要想用我这个函数,得按照 MCP 的方式来交流。”

三、最后几点感悟

这才是MCP 爆火的原因!-AI.x社区

MCP 本质上不是“新能力”,而是把原本凌乱的工具接入方式,变成了一套大家都能理解、能协作的规范。

它不会让大模型变聪明,但它会让模型调用外部服务这件事,更稳、更标准、更能规模化落地。

这可能不是最酷炫的技术方向,但却是让大模型真正走向业务系统的一步关键工程基础。

不管你做的是 Agent、RAG、还是企业内智能系统,理解 MCP、会用 MCP,会是你构建长期可维护系统的底座能力之一。

本文转载自​​大圣数据星球​​,作者:大圣


收藏
回复
举报
回复
相关推荐