摘要音频
本节课没有语音摘要。
学习笔记
学习笔记:MCP 客户端与服务器协议
💡 核心概念 (Key Concepts)
- 客户端 (Client) 的作用:
- 作为服务器与 MCP 服务器之间的通信媒介。
- 是访问 MCP 服务器所有工具的接入点。
- MCP 传输无关性 (Transport Agnostic):
- 客户端和服务器可以利用多种协议进行通信。
- 常见连接方式包括:标准输入/输出 (Standard I/O)、HTTP、WebSockets 等。
- 通信机制:
- 客户端和服务器通过交换符合 MCP 规范定义的消息进行通信。
🛠️ 关键消息类型 (Key Message Types)
- 工具列表请求/结果 (List Tools):
- list tools request (客户端 → 服务器):请求服务器列出所有可用工具。
- list tools result (服务器 → 客户端):返回服务器提供的工具列表。
- 工具调用请求/结果 (Call Tool):
- call tool request (服务器 → 客户端):要求服务器使用特定参数运行一个工具。
- call tool result (服务器 → 客户端):包含工具运行后的结果。
🔄 复杂工作流程示例 (Workflow Example)
(以用户提问 → 访问 GitHub 数据为例)
- 用户提问 → 我们的服务器 (Our Server)
- 服务器请求工具列表:
- 服务器 → MCP 客户端 (请求工具列表)
- MCP 客户端 → MCP 服务器 (list tools request)
- MCP 服务器 → MCP 客户端 (list tools result)
- MCP 客户端 → 服务器 (返回工具列表)
- 服务器请求 Claude:
- 服务器将用户原始问题 + 工具列表发送给 Claude。
- Claude 决定调用工具:
- Claude → 服务器 (发送 tool use 消息)
- 执行工具:
- 服务器 → MCP 客户端 (请求运行工具)
- MCP 客户端 → MCP 服务器 (call tool request)
- MCP 服务器 → 外部服务 (如 GitHub API)
- 外部服务 → MCP 服务器 (返回数据)
- MCP 服务器 → MCP 客户端 (call tool result)
- MCP 客户端 → 服务器 (返回工具执行结果)
- 生成最终回复:
- 服务器将工具结果封装为用户消息 → Claude。
- Claude 生成最终文本回复 → 服务器 → 用户。
Takeaways
- 客户端是连接服务器与MCP服务器的通信媒介,是访问所有工具的接入点。
- MCP协议具有传输无关性,支持标准I/O、HTTP、WebSockets等多种连接方式。
- 通信机制依赖于交换符合规范定义的请求和结果消息。
- 核心消息类型包括用于发现工具的“list tools”和用于执行工具的“call tool”。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.