news 2025/12/23 7:03:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!