MCP使用介绍 MCP传输协议 MCP消息详解 AI编程
- 2025-12-19 20:22:00
- admin
- 原创 94
一、MCP使用介绍
1、Dify帮助文档:https://docs.dify.ai/zh-hans/introduction
2、mcp生命周期:https://modelcontextprotocol.io/specification/2025-11-25/basic/lifecycle
3、mcp传输协议:https://modelcontextprotocol.io/specification/2025-11-25/basic/transports
4、mcp鉴权规范:https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization
5、mcp调试工具:https://www.npmjs.com/package/@modelcontextprotocol/inspector
6、mcp调试工具运行:npx @modelcontextprotocol/inspector
sse传输协议:
1、sse传输协议使用两个端点endpoint,/sse是get请求,/messages是post请求;
2、/sse接收服务端消息,使用eventstream,收到的第一个消息是客户端发送消息的端点;
3、/messages发送消息给服务端,通常是提交请求给服务端,接受请求则返回状态码202;
4、发送消息端点:/messages/?session_id=506a1b89ac6547a582b2027d08fcc392;
二、MCP消息详解
1、消息分类:https://modelcontextprotocol.io/specification/2024-11-05/basic/messages
2、消息分类:请求、响应、通知,请求响应必须使用唯一ID,通知不能使用ID;
mcp消息序列:
1、client -> "method":"initialize"
2、client -> "method":"notifications/initialized"
3、client -> "method":"tools/list"
4、client -> "method":"tools/call"
mcp实用工具:
1、ether -> "method": "ping",检活请求,检测对端是否存活;
2、ether -> "method": "some_method",进度请求,progressToken参数表示一个唯一的活跃操作;
3、ether -> "method": "notifications/cancelled",取消请求,参数包含唯一ID,可以包含取消原因;
mcp客户端特性:针对本客户端
1、roots,服务端获取可操作的文件系统范围;
2、sampling,服务端通过客户端访问大模型;
mcp服务端特性:
1、tools,model-controlled,执行指定工具,模型驱动选择使用;
2、prompts,user-controlled,获取指定提示词,用户主动选择使用;
3、resources,application-driven,获取指定资源内容,应用驱动选择使用;
mcp服务端小工具:
1、completion/complete,prompts和resources参数自动完成;
2、notifications/message,服务端发送日志到客户端,需要设置日志级别;
3、pagination/cursor,支持分页查询各种资源列表,服务端决定pagesize;
三、AI编程
安装claude-code:
1、安装cluade-code:npm install -g @anthropic-ai/claude-code