MCP:让大语言模型不只是聊天,更能"动手做事"的开放协议

简介: MCP(Model Context Protocol,模型上下文协议)是一种开放协议,旨在标准化应用程序向大语言模型提供上下文的方式。通过 MCP,大模型不仅能聊天,还能执行如查数据库、写代码等任务。相比 Function Calling,MCP 解耦了工具调用,提升灵活性和复用性,实现“一次开发,多处调用”。其架构包括 MCP Hosts、Clients、Servers,以及本地数据源和远程服务,支持安全访问多种资源。相关资源可在 GitHub 和 mcp.so 获取。

MCP 是什么

MCP(Model Context Protocol,模型上下文协议)是一个开放协议,用于标准化应用程序向大语言模型提供上下文的方式。

有了 MCP,大模型不只是聊天工具了,还能“动手做事”——比如查数据库、记笔记、写代码等等。

为什么需要 MCP?

大语言模型(LLM)在训练完成后,只能基于训练数据预测并回答用户问题。

这就使得 大语言模型 存在局限性——它们无法主动获取实时数据、控制外部系统或访问特定数据库等操作。

这种情况下怎么办呢?OpenAI 于2023年6月13日正式推出的 Function Calling 就解决了这个问题。

通过编写一个函数,去主动获取实时数据、控制外部系统或访问特定数据库等操作,再将结果给到大语言模型

Function calling

官网介绍:https://platform.openai.com/docs/guides/function-calling

Function calling 就是让大语言模型拥有了调用外部工具或者函数的能力。

大语言模型本身不具备调用工具的能力,但通过在训练阶段的设计和微调,可以让模型学会判断在什么情况下需要调用工具,生成结构化的数据(如函数名和参数),然后告诉外部程序需要调用哪些函数。

调用流程

程序(如OpenAI、DeepSeek)与大语言模型(如GPT-4o、DeepSeek R1)的交互流程:

第一步:用户查询 用户向系统提出请求,例如:"今天天气怎么样?"

第二步:构建完整请求 程序将以下内容组合后发送给大语言模型:

  • 系统提示词(如果有)
  • 用户提示词("今天北京的天气怎么样")
  • 工具定义(告知模型可调用的工具及其参数要求)

工具定义示例:

{
    "type": "function",
    "name": "get_weather",
    "description": "获取指定地点的当前温度。",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "城市和国家,例如:北京,香港"
            }
        },
        "required": ["location"],
        "additionalProperties": false
    }
}

第三步:模型智能解析 大语言模型理解用户意图(获取北京天气),并按照预定义的接口格式生成结构化的函数调用请求:

{
    "type": "function_call",
    "id": "fc_12345xyz",
    "call_id": "call_12345xyz",
    "name": "get_weather",
    "arguments": "{\"location\":\"北京\"}"
}

第四步:执行工具调用 程序执行实际函数调用:get_weather("北京")

第五步:回传信息 程序将上下文信息(原始用户输入和工具调用指令)以及工具调用结果发送给大语言模型

第六步:生成自然语言回复 模型根据工具调用结果,合成流畅、自然的回答

第七步:程序将生成的回复展示给用户,完成一轮完整对话

能用 Function Calling,为什么还要 MCP?

维护困难:Function Calling 通常与特定模型服务绑定,随着项目规模扩大,会导致函数调用关系复杂、难以维护。

灵活性不足:如果有新的项目需要使用这些外部函数,往往需要复制或迁移函数实现。如果新项目使用的编程语言与原项目不一致,还需要进行语言转换,增加了开发和维护成本。

缺乏统一标准:Function Calling 的实现方式因平台不同而异,缺少统一标准,容易导致代码库碎片化、功能重复开发的问题。

MCP 的优势:

MCP 的出现,将工具调用解耦为独立服务,使项目与外部函数分离,并以标准化的服务调用方式,提升了灵活性,实现“一次开发,多处调用”。

MCP 协议规定了统一的调用标准,开发者可以基于该协议编写 MCP Server,并开放出 MCP 服务,供其他项目和开发者复用,极大提升开发效率。

MCP 总体架构

  • MCP Hosts:支持 MCP 的应用平台,如 Claude Desktop、Cursor 或 Cherry Studio 等,负责托管和管理多智能体对话程序
  • MCP Clients:与服务器维持一对一连接的协议客户端
  • MCP Servers:专用 MCP 服务实例,通过标准化的模型上下文协议对外提供特定功能
  • Local Data Sources:MCP 服务器可安全访问的本地计算资源,包括文件系统、数据库和本地服务
  • Remote Services:MCP 服务器可通过互联网 API 连接的外部系统和服务

MCP Server 资源

https://github.com/modelcontextprotocol/servers

https://github.com/yzfly/Awesome-MCP-ZH

https://mcp.so/zh

目录
相关文章
|
人工智能 API 开发工具
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
|
1月前
|
API 数据安全/隐私保护 开发者
GPT-6 Astra 在 Plus 订阅中不显示的原因及 Chat、Work、Codex 入口差异解析
本文详解ChatGPT Plus用户如何正确查找GPT-6 Astra:它不在普通Chat界面,而需通过Work或Codex入口访问;权限按套餐逐步开放,需核对账号、工作区、客户端版本及官方开放进度。排查请按入口→账号→版本顺序进行。
|
6月前
|
人工智能 搜索推荐 机器人
打造你的赛博女友/男友 —— AstrBot 完全指南
AstrBot 是开源全能AI聊天机器人框架,支持本地部署、多平台(微信/QQ等)、大模型接入及深度定制。主打极致隐私、人格化陪伴、情感亲密度与Agent能力,助你打造专属赛博伴侣。
4917 3
|
人工智能 安全 API
MCP协议的具体技术实现原理
MCP(Model Context Protocol)是由Anthropic提出的开放协议,旨在标准化大语言模型(LLM)与外部工具、数据源的交互方式。通过客户端-服务器架构与JSON-RPC通信,实现工具的动态发现、安全调用与灵活扩展,提升LLM的实用性与集成效率。
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》
阿里云联合阿里巴巴爱橙科技,共同发布《AI 原生应用架构白皮书》,围绕 AI 原生应用的 DevOps 全生命周期,从架构设计、技术选型、工程实践到运维优化,对概念和重难点进行系统的拆解,并尝试提供一些解题思路。白皮书覆盖 AI 原生应用的 11 大关键要素,获得 15 位业界专家联名推荐,来自 40 多位一线工程师实践心的,全书合计超 20w 字,分为 11 章。
5005 91
|
人工智能 JavaScript 开发工具
MCP详解:背景、架构与应用
模型上下文协议(MCP)是由Anthropic提出的开源标准,旨在解决大语言模型与外部数据源和工具集成的难题。作为AI领域的“USB-C接口”,MCP通过标准化、双向通信通道连接模型与外部服务,支持资源访问、工具调用及提示模板交互。其架构基于客户端-服务器模型,提供Python、TypeScript等多语言SDK,方便开发者快速构建服务。MCP已广泛应用于文件系统、数据库、网页浏览等领域,并被阿里云百炼平台引入,助力快速搭建智能助手。未来,MCP有望成为连接大模型与现实世界的通用标准,推动AI生态繁荣发展。
10623 66
|
人工智能 中间件 程序员
LLM 不断提升智能下限,MCP 不断提升创意上限
LLM 是大脑,MCP 是手脚。LLM 不断提升智能下限,MCP 不断提升创意上限。所有的应用和软件都会被 AI 改造,将向所有的应用和软件都会被 MCP 改造的新范式演进。
1468 25
|
人工智能 搜索推荐 IDE
MCP 是什么?一文看懂模型上下文协议
MCP(模型上下文协议)由Anthropic于2024年推出,旨在解决AI大模型的数据滞后问题,通过连接第三方数据源提升回答的时效性和相关性。传统联网搜索依赖公开信息,难以满足行业内部或定制化需求。MCP提供统一标准,使开发者能安全双向连接数据源与AI工具,简化集成流程。例如,Apifox MCP Server可将API文档作为数据源提供给支持MCP的IDE,助力智能代码生成。未来,MCP有望推动AI工具从封闭系统转向开放协作网络,显著提升开发效率与创新能力。
|
人工智能 并行计算 数据可视化
ms-swift 微调 internlm3-8b-instruct(论文分类任务)
本文介绍了使用InternLM系列模型进行论文分类任务的微调全过程,包括环境配置、数据准备、预训练与SFT(监督微调)、权重合并、模型评测及上传至魔搭社区等步骤。使用ms-swift框架和Lora训练方法,在具备40GB显存的A100 GPU环境下完成训练,并通过Swift工具进行效果评估。
1382 5
ms-swift 微调 internlm3-8b-instruct(论文分类任务)

热门文章

最新文章