MCP:让 AI 工具互联互通的“普通话“

还记得那个"南听不懂北,上听不懂下"的年代吗?方言的差异让交流变得困难。直到推广普通话,才让全国各地的人们能够顺畅交流。在 AI 工具的世界里,MCP 就像是这样一个"普通话"标准,让不同的 AI 工具能够无障碍沟通。

MCP 的前世今生

2022年11月,OpenAI 首次发布 ChatGPT,掀起了全球大模型应用的热潮。ChatGPT 的出现显著降低了大模型应用的开发门槛,让开发者能够快速构建智能应用。

2023年6月,OpenAI 在 Chat Completions API 中引入了 Function Calling 功能,为开发者提供了通过 API 方式实现 ChatGPT 插件数据交互的能力。

2024年11月,Anthropic 公司开源了 MCP(Model Context Protocol),为应用程序与 AI 大模型之间提供了统一的交互标准,使开发者能够以一致的方式将各类数据源、工具和功能连接到 AI 模型。

MCP 一经推出,立刻获得了广泛支持。国内外各大公司纷纷加入:

  • • Cursor、CLine、continue.dev 等代码工具率先支持

  • • 国内一夜成名的的 Manus 工具作为通用AI助手面世

  • • 百度更是在前几天(2025年3月21日)宣布地图 API 和千帆平台全面支持 MCP

MCP 是什么

MCP(Model Context Protocol)是一个创新性的协议标准,它为应用程序提供了与 AI 大模型交互的统一接口。通过 MCP,我们可以实现各类工具、服务和数据源与 AI 模型的无缝集成,如下图所示:

MCP 的核心功能包括:

  • • 连接数据源:可以连接数据库、日志、代码仓库等各种数据来源

  • • 统一对话方式:帮助 AI 更好地理解用户的需求

  • • 提供标准工具:封装了各种常用功能,比如代码管理、调试等

  • • 保障数据安全:严格控制工具的操作权限,防止误操作

一个实际应用场景

让我们通过一个具体的应用场景来展示 MCP 的强大功能。假设我们构建了一个支持 MCP 的服务器,它能够访问产品需求系统和代码仓库。我们可以向 AI 大模型发送如下指令:

请编写代码完成{产品需求}的需求,并将代码提交到代码仓库中。需要保证如下要求:
1. 代码必须有完整的单元测试覆盖
2. 代码必须包含详尽的文档注释

在这个场景中,AI 大模型会执行以下步骤:

  1. 1. 通过 MCP 的产品需求服务获取详细的需求信息

  2. 2. 基于需求生成符合规范的代码

  3. 3. 编写相应的单元测试

  4. 4. 通过测试执行服务验证代码质量

  5. 5. 必要时根据测试结果优化代码

  6. 6. 最后通过 GitLab 服务将代码提交到仓库

这个例子展示了 MCP 如何让 AI 与各种开发工具无缝协作,实现自动化的代码开发流程。(程序员可能真要失业了)

动手试试 MCP

想要体验 MCP 的魔力,我们先从一个简单的例子开始。下面是一个最基础的 MCP 服务,它能做两件事:

  1. 1. 帮你计算 1+1

  2. 2. 跟你说"你好"

## calculator_server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Demo")

@mcp.tool()
defadd(a: int, b: int) -> int:
    return a + b

@mcp.resource("greeting://{name}")
defget_greeting(name: str) -> str:
    returnf"你好, {name}!"

mcp.run()

就这么简单!MCP 社区已经为我们准备好了各种开发工具:

  • • Python SDK[1]:最成熟的实现,文档完善

  • • TypeScript SDK[2]:适合前端开发者

  • • Java SDK[3]:企业级应用的理想选择

注:MCP Golang[4] 目前是个人维护版本,已经有两个月不更新了,暂不支持 resource template,与 CLine 存在兼容性问题。

MCP 调试

官方提供了一个名为 mcp 的调试工具,用于验证和测试 MCP 服务的功能:

mcp dev calculator_server.py # 启动调试服务器
启动后会打开调试界面:

连接后,我们就可以测试示例中的加法工具和查看资源了。(讲道理,debug工具对中文展示并不友好)

CLine 配置

虽然 Cursor 是一个功能强大的付费工具,但我们可以使用开源的 CLine 来实现同样的功能。只需将以下配置添加到 mcpServers 配置中:

"calculator-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/lpf/Source/github.com/mcp-example/calculator-server",
        "run",
        "calculator_server.py"
      ],
      "disabled": false,
      "autoApprove": []
    }

当我们输入:请告诉我 901 加上95 等于几,会告诉我答案是996

如下是,cline 中自动调用mcp 服务。

MCP 的未来:机遇与挑战

相对于 ChatGPT 的 Function Calling 和自定义 Agent,MCP 的出现确实是一个颠覆性的创新。虽然不用 MCP,通过自定义 Agent 也能实现类似功能,但 MCP 就像是"车同轨,书同文"一样,统一了工具的使用方式,大大降低了接入成本,提高了复用性。

🌟 新机遇

  1. 1. 工具生态爆发

  • • 更多公司会推出支持 MCP 的工具

  • • 开发者可以更容易地创建和分享 AI 工具

  • • 工具之间的互操作性大大提升

  • 2. 开发效率提升

    • • 统一的接口降低学习成本

    • • 工具可以轻松组合使用

    • • 代码复用更加方便

    ⚠️ 安全隐患

    如果大模型误解了你的 prompt,一个 drop database 就让你变成背锅侠了。所以在使用 MCP 时,一定要注意工具的权限控制、确认机制、安全防护机制。

    写在最后

    MCP 的出现,让我们看到了 AI 工具互联互通的曙光。就像当年推广普通话一样,统一的标准能带来巨大的便利。但同时,我们也要警惕安全风险,在享受便利的同时做好防护。

    未来已来,让我们一起拥抱这个 AI 工具能够"无障碍沟通"的新时代!

    引用链接

    [1] Python SDK: https://github.com/modelcontextprotocol/python-sdk
    [2] TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
    [3] Java SDK: https://github.com/modelcontextprotocol/java-sdk
    [4] MCP Golang: https://github.com/metoro-io/mcp-golang

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值