MCP的基础知识
一、了解MCP的基础知识
1.函数调用Function Calling
Function Calling是openai在2023年推出的一个非常重要的概念:Function Calling(函数调用)本质上就是提供了大模型与外部系统的交互能力,类似于给大模型安装了一个“外挂工具箱“,当大模型自己无法直接回答问题时,他会主动调用预设的函数(如查询天气、计算数据、访问外部数据库)、获取实时的或者精准信息后再生成回复。
如果需要使用Function Calling功能,首先大模型要支持Function Calling功能。openAI在提出Function Calling时并没有提出函数调用的标准。
Function Calling的核心特点:
模型专属:不同模型的调用规则不同。
即时触发:解析用户意图后直接调用工具,简单直接。
协议碎片化:需要为每个模型单独开发适配层。
功能扩展难:新增工具需要重新调整接口。
2.MCP(model context protocol)模型上下文协议
MCP(model context protocol)模型上下文协议是由Anthropic公司推出的一个开放标准协议,目的是为了解决AI模型与外部数据源工具交互的问题。
MCP就像一个“通用插头”或者“USB接口”,制定了统一的规范,不管连接数据库、第三方API,还是本地文件等各种外部资源,都可以通过这个“通用接口”来完成,让AI模型与外部工具或者数据源之间的交互更加标准化、可复用,最近,openai也宣布了对MCP提供了支持。
开发者按照 MCP 协议进行开发,无需为每个模型与不同资源的对接重复编写适配代码,可以大大节省开发工作量,另外已经开发出的 MCP Server,因为协议是通用的,能够直接开放出来给大家使用,这也大幅减少了开发者的重复劳动。
比如,你如果想开发一个同样逻辑的插件,你不需要在 Coze 写一遍,再去 Dify 写一遍,如果它们都支持了 MCP,那就可以直接使用同一个插件逻辑。
核心特点
- 协议标准化:统一工具调用格式(请求/响应/错误处理)
- 生态兼容性:一次开发即可对接所有兼容MCP的模型
- 动态扩展:新增工具无需修改模型代码,即插即用
核心价值,解决三大问题
- 数据孤岛 → 打通本地/云端数据源
- 重复开发 → 工具开发者只需适配MCP协议
- 生态割裂 → 形成统一工具市场
类比
- USB-C 接口:手机/电脑/外设通过统一标准互联
二、MCP的基本使用
从上面 MCP 的架构图中我们可以看到,想要使用 MCP 技术,首先就是得找到一个支持 MCP 协议的客户端,然后就是找到符合我们需求到 MCP 服务器,然后在 MCP 客户端里调用这些服务。
2.1 MCP 客户端(Host)
在 MCP 官方文档中,我们看到已经支持了 MCP 协议的一些客户端/工具列表:
https://modelcontextprotocol.io/clients
从表格里,我们可以看到,MCP 对支持的客户端划分了五大能力,这里我们先简单了解即可:
- Tools:服务器暴露可执行功能,供 LLM 调用以与外部系统交互。
- Resources:服务器暴露数据和内容,供客户端读取并作为 LLM 上下文。
- Prompts:服务器定义可复用的提示模板,引导 LLM 交互。
- Sampling:让服务器借助客户端向 LLM 发起完成请求,实现复杂的智能行为。
- Roots:客户端给服务器指定的一些地址,用来告诉服务器该关注哪些资源和去哪里找这些资源。
目前最常用,并且被支持最广泛的就是 Tools
工具调用。
对于上面这些已经支持 MCP 的工具,其实整体划分一下就是这么几类:
- AI 聊天工具:如 5ire、LibreChat、Cherry Studio
- AI 编码工具:如 Cursor、Windsurf、Cline
- AI 开发框架:如 Genkit、GenAIScript、BeeAI
2.2 MCP Server
MCP Server
的官方描述:一个轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能。
简单理解,就是通过标准化协议与客户端交互,能够让模型调用特定的数据源或工具功能。常见的 MCP Server
有:
- 文件和数据访问类:让大模型能够操作、访问本地文件或数据库,如 File System MCP Server;
- Web 自动化类:让大模型能够操作浏览器,如 Pupteer MCP Server;
- 三方工具集成类:让大模型能够调用三方平台暴露的 API,如 高德地图 MCP Server;
下面是一些可以查找到你需要的 MCP Server
的途径:
第一个是官方的 MCP Server
集合 Github 仓库(https://github.com/modelcontextprotocol/servers),里面包含了作为官方参考示例的 MCP Server
、被官方集成的 MCP Server
以及一些社区开发的第三方 MCP Server
:
另外一个是 MCP.so(https://mcp.so/):一个三方的 MCP Server 聚合平台,目前收录了 5000+ MCP Server:
其提供了非常友好的展示方式,每个 MCP Server 都有具体的配置示例:
- MCP Market(https://mcpmarket.cn/),访问速度不错,可以按工具类型筛选: