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

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/),访问速度不错,可以按工具类型筛选:

http://www.xdnf.cn/news/3091.html

相关文章:

  • C++从入门到实战(十一)详细讲解C/C++语言中内存分布与C与C++内存管理对比
  • 一种动态分配内存错误的解决办法
  • Chrome插件备忘
  • Godot笔记:入门索引
  • 卷积神经网络
  • 解析2.4G射频芯片采用DFN封装的技术原因
  • 32单片机——串口
  • 精选10个好用的WordPress免费主题
  • Day106 | 灵神 | 二叉树 二叉树中的最长交错路径
  • OpenAI 2025 4月最新动态综述
  • DINOv2 - 无监督学习鲁棒视觉特征
  • Webpack 和 Vite 中静态资源动态加载的实现原理与方法详解
  • kotlin中Triple的作用
  • C#基础简述
  • Elasticsearch入门速通01:核心概念与选型指南
  • Unity URPShader:实现和PS一样的色相/饱和度调整参数效果(修复)
  • Springboot使用ThreadLocal提供线程局部变量,传递登录用户名
  • 计算机考研精炼 操作系统
  • Smart Link+Monitor Link组网
  • 【solidity基础】一文说清楚合约函数的大小事
  • HFI笔记
  • 数据库与大数据技术教程资料
  • 麒麟(Kylin)系统下安装MySQL 8.4.5(离线版)
  • 09 Python字典揭秘:数据的高效存储
  • 基于Docker的内网穿透实战:frp 0.68 + Nginx最佳实践
  • SQL Server数据库提权的几种方法——提权教程
  • Spring Data JPA 提供的功能在性能方面有哪些需要注意的地方?
  • 完美解决 mobile-ffmpeg Not overwriting - exiting
  • Ubuntu ZLMediakit的标准配置文件(rtsp->rtmp->hls)
  • 用于实时辐射场渲染的3D高斯溅射——3D Gaussian Splatting for Real-Time Radiance Field Rendering