MCP 课程文档

第一单元回顾

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

第一单元回顾

模型上下文协议 (MCP)

MCP 是一种标准化协议,旨在将 AI 模型与外部工具、数据源和环境连接起来。它通过实现互操作性和实时信息访问来解决现有 AI 系统的局限性。

关键概念

客户端-服务器架构

MCP 遵循客户端-服务器模型,其中客户端管理用户和服务器之间的通信。这种架构促进了模块化,允许轻松添加新服务器而无需更改现有主机。

组件

主机

面向用户的 AI 应用程序,作为最终用户的界面。

客户端

主机应用程序中的一个组件,负责管理与特定 MCP 服务器的通信。客户端与服务器保持 1:1 连接并处理协议级别细节。

服务器

通过 MCP 协议提供对工具、数据源或服务访问的外部程序或服务。服务器充当现有功能的轻量级封装。

能力

工具

可执行函数,可以执行操作(例如,发送消息、查询 API)。工具通常由模型控制,由于其能够执行具有副作用的操作,因此需要用户批准。

资源

用于上下文检索的只读数据源,无需大量计算。资源由应用程序控制,设计用于数据检索,类似于 REST API 中的 GET 端点。

提示

预定义模板或工作流,用于指导用户、AI 模型和可用能力之间的交互。提示由用户控制,并设置交互的上下文。

采样

服务器发起的 LLM 处理请求,支持服务器驱动的代理行为以及潜在的递归或多步交互。采样操作通常需要用户批准。

通信协议

MCP 协议使用 JSON-RPC 2.0 作为客户端和服务器之间通信的消息格式。支持两种主要传输机制:stdio(用于本地通信)和 HTTP+SSE(用于远程通信)。消息包括请求、响应和通知。

发现过程

MCP 允许客户端通过列表方法(例如,tools/list)动态发现可用的工具、资源和提示。这种动态发现机制使客户端能够适应每个服务器提供的特定能力,而无需硬编码服务器功能的知识。

MCP SDKs

提供多种编程语言的官方 SDK,用于实现 MCP 客户端和服务器。这些 SDK 处理协议级别通信、能力注册和错误处理,从而简化了开发过程。

Gradio 集成

Gradio 允许轻松创建 Web 界面,将功能暴露给 MCP 协议,使其可供人类和 AI 模型访问。这种集成在提供 AI 可访问工具的同时,以最少的代码提供了人性化的界面。

< > 在 GitHub 上更新