MCP 课程文档
第一单元回顾
并获得增强的文档体验
开始使用
第一单元回顾
模型上下文协议 (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 上更新