当前位置: 首页 > news >正文

大模型 MCP:开启 AI 与现实世界的无缝交互革命

前言

MCP 无疑是当前最受关注的前沿技术之一,无论是在公司内部还是外部,都引起了广泛的讨论与实践。作为一名互联网从业者,笔者自然不愿错过这一科技浪潮。

本篇文章分享笔者最近的一些实践经验和心得,希望能抛砖引玉。

WHAT:什么是MCP?

MCP(Model Context Protocol,模型上下文协议)是由Anthropic推出的开源协议,旨在实现大型语言模型(LLM)与外部数据源和工具的无缝集成,用来在大模型和数据源之间建立安全双向的链接。

总体架构

MCP 的核心是一个client-server架构,host 应用程序可以连接到多个服务器:

引自:https://modelcontextprotocol.io/introduction

核心组件

  • MCP Hosts:像Claude Desktop、IDEs 或 AI 工具这样的程序,它们希望通过 MCP 访问资源
  • MCP Clients:维护与服务器 1:1 连接的协议客户端
  • MCP Server:轻量级程序,通过标准化的 Model Context Protocol 暴露特定功能
  • Local Resources:你的计算机资源(数据库、文件、服务),MCP 服务器可以安全地访问这些资源
  • Remote Resource:通过互联网可用的资源(例如,通过APIs),MCP 服务器可以连接到这些资源

如果对以上的定义还是不太理解,参考以下这张图来理解 MCP是如何实现“即插即用

可以说,MCP就是大语言模型的USB协议

关于协议层面,MCP 采用JSON-RPC 2.0作为消息格式,并支持两种传输方式:

  • 标准输入 / 输出 (stdio):适用于本地工具集成,如命令行程序。
  • Server-Sent Events(SSE):支持服务器向客户端流式传输数据,适用于实时任务(如长时间运行的数据分析)。

关键技术突破

  • 动态工具发现:客户端通过GET /discovery接口获取服务器支持的工具列表,避免硬编码依赖。
  • 流式响应:支持异步任务的实时进度反馈,例如在分析销售数据时,服务器可分阶段推送处理进度。
  • 安全机制:内置 OAuth 2.0 认证和数据加密,确保敏感信息在传输过程中不被泄露。

WHY:为什么我们需要MCP?

MCP VS Function Calling

MCP 出现之前,AI 的交互方式一般是以Function Calling来实现,以下是两者之间的对比:

特性MCPFunction Calling
功能定位数据和功能的通用桥梁完成特定任务的工具
适用范围多数据源、多功能单一数据源或功能
开发复杂度低:通过统一协议实现多源兼容高:需要为每个人物单独开发函数
复用性高:一次开发,可多场景使用低:函数通常为特定任务设计
灵活性高:支持动态适配和扩展较低:功能扩展需要额外开发
适配场景复杂场景,如跨平台数据访问与整合简单任务,如天气查询、翻译等

从表格中对比,我们可以得出MCP有以下优点:

  • 统一标准:无需为每个数据源单独开发接口,MCP提供了一种通用的交互方式
  • 全面兼容:支持结构化数据(如数据库表)和非结构化数据(如文本文件)
  • 即插即用:通过MCP,AI应用可以轻松访问多种数据源,如本地文档、API、云服务等

MCP 目前呈生态繁荣发展之势

除了官方提供的MCP Server之外,我们还可以从科技巨头、开源社区以及独立开发者等多个渠道获取到实用的服务资源,这极大地减少了重复开发的工作量。即使面对特定的定制化需求,也能够以相对较低的成本实现。

MCP 市场地图

https://a16z.com/a-deep-dive-into-mcp-and-the-future-of-ai-tooling/


官方提供的MCP Servers

更多参考:https://github.com/modelcontextprotocol/servers/tree/main

mcp.so 收录了有5000+ MCP Servers

https://mcp.so/

HOW:Cline MCP实践

这里笔者以VSCode Cline插件为例,演示如何使用MCP Servers。

Cline 配置MCP Server

示例配置

配置内容(json):

{
  "mcpServers": {
    "fetch": {
      "command": "python3",
      "args": [
        "-m",
        "mcp_server_fetch"
      ],
      "disabled": false,
      "autoApprove": [
        "fetch"
      ]
    },
    "mcp-server-sqlite": {
      "command": "uvx",
      "args": [
        "mcp-server-sqlite",
        "--db-path",
        "/Users/[YOUR_NAME]/[YOUR_PATH]/test.db"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

使用案例:fetch 实现网页抓取分析

这里演示的是通过fetch MCP Server抓取网页信息,并总结文章内容。

使用案例:SQLite 操作本地数据库

这里演示的是通过SQLite MCP Server查询数据里的表。

使用案例:高德地图路线规划

需要先申请高德地图API Key

参考:https://lbs.amap.com/api/mcp-server/create-project-and-key

添加mcp server配置

{
    "mcpServers": {
        "amap-maps": {
            "command": "npx",
            "args": [
                "-y",
                "@amap/amap-maps-mcp-server"
            ],
            "env": {
                "AMAP_MAPS_API_KEY": "您在高德官网上申请的key"
            }
        }
    }
}

参考:https://mcp.so/server/amap-maps/amap?tab=content

当然,你还可以进一步让Cline帮你生成可视化网页:

可以看到有了MCP,很多想象力空间就被打开了,我们可以结合自己的需求,添加不同的MCP Server到你所用的客户端当中。

总结

MCP 的出现标志着 AI 从 “单机智能” 向 “网络智能” 的跃迁。它通过标准化协议解决了大模型与外部世界的交互难题,催生了一个全新的生态系统:

  • 开发者:专注于构建标准化的 MCP 服务器,降低工具开发门槛。
  • 企业:通过组合不同工具快速落地 AI 应用,缩短项目周期。
  • 用户:享受到更智能、更个性化的服务,例如实时数据驱动的决策支持。

正如 HTTP 协议重塑了互联网,MCP 或许正在成为 AI 时代的基础设施。随着 OpenAI、微软等巨头的加入,以及开源社区的蓬勃发展,MCP 有望推动 AI 从实验室走向更广阔的现实世界,最终实现 “万物互联,智联世界” 的愿景。

附录

支持MCP的Client端

更多支持MCP的客户端参考:https://modelcontextprotocol.io/clients

参考连接

  • MCP官方文档
  • https://mcp.so/
  • https://www.claudemcp.com/zh/docs/introduction
  • https://www.pulsemcp.com/

相关文章:

  • 外贸网站外贸网站建设行吗成都网站seo报价
  • 张家港建设局网站网络seo推广
  • 南宁网站设计推广推推蛙seo顾问
  • 小区住宅可以注册公司吗黑帽seo是作弊手法
  • 信誉好的江苏网站建设百度seo可能消失
  • 医院网站开发违法吗百度软文
  • CSS语言的学习路线
  • Android DiaLog全屏设置,带有叉号的弹窗,这个弹窗分为两个部分,一个是主体,另一个是关闭部分。自定义布局弹窗
  • BN 层的作用, 为什么有这个作用?
  • 常见的HR面问题汇总
  • 知识图谱:知识图谱多模态推理技术详解
  • Spring Boot 中利用 Jasypt 实现数据库字段的透明加密解密
  • OBS 录屏软件 for Mac 视频录制
  • 大数据(4.2)Hive核心操作实战指南:表创建、数据加载与分区/分桶设计深度解析
  • AI Agent开发大全第二十课-如何开发一个MCP(从0开发一个MCP Server)
  • MyBatis Plus 在 ZKmall开源商城持久层的优化实践
  • Android学习总结之算法篇五(字符串)
  • 什么是接口测试,如何做接口测试?
  • node_modules\deasync: Command failed.
  • cursor机器码重置
  • K8s安全体系全面剖析:从攻击面到最佳实践
  • [创业之路-352]:从创业和公司经营的角度看:分析美国的三大财务报表
  • AI随身翻译设备:从翻译工具到智能生活伴侣
  • SpringBoot+MyBatis Plus+PageHelper+vue+mysql 实现用户信息增删改查功能
  • easy-poi 一对多导出
  • 戴尔笔记本 ubuntu 22.04 开机后进入initramfs界面