上周调一个 PHP 实现的 MCP Server,遇到个诡异的问题:Claude Code 发起工具调用后,返回的数据总是少一段。不是数据丢包,不是网络断开,返回的 JSON 格式也对,但就是「不全」。折腾了半天,寻思直接扒一下协议层到底怎么跑的。结果这一扒,发现了很多平时写 MCP Server 时根本不会注意到的细节。如果你也在写或者打算写 MCP Server,这几个坑值得提前知道。工具调用的完整生命周期先说结论:一次 MCP 工具调用,从客户端请求到服务端返回,中间走的是 JSON-RPC 2.0 协议。你平时调个接口返回数据可能就几十毫秒,但 MCP 的一轮调用要经过下面这几个环节:Capability 协商 → ListTools → 客户端发起工具调用请求 → 服务端校验 → 执行 → 返回结果。每一步都比想象中多了一些细枝末节的约定。Capability 协商不是白送的我最早写 MCP Server 的时候,以为 capability 就是走个形式。双方握手时报一下「我支持什么」就完了。后来发现不是这样的。在initialize阶段,客户端发起的 capabilities 和服务端回复的 capabilities 决定了整个会话里哪些功能可用。比如客户端不报toolscapability,服务端就不该响应tools/list请求。// 客户端 initialize 请求 { "jsonrpc": "2.0", "id": 1, "method":
MCP 协议拆解:一次工具调用背后,到底发生了什么?
上周调一个 PHP 实现的 MCP Server,遇到个诡异的问题:Claude Code 发起工具调用后,返回的数据总是少一段。不是数据丢包,不是网络断开,返回的 JSON 格式也对,但就是「不全」。折腾了半天,寻思直接扒一下协议层到底怎么跑的。结果这一扒,发现了很多平时写 MCP Server 时根本不会注意到的细节。如果你也在写或者打算写 MCP Server,这几个坑值得提前知道。工具调用的完整生命周期先说结论:一次 MCP 工具调用,从客户端请求到服务端返回,中间走的是 JSON-RPC 2.0 协议。你平时调个接口返回数据可能就几十毫秒,但 MCP 的一轮调用要经过下面这几个环节:Capability 协商 → ListTools → 客户端发起工具调用请求 → 服务端校验 → 执行 → 返回结果。每一步都比想象中多了一些细枝末节的约定。Capability 协商不是白送的我最早写 MCP Server 的时候,以为 capability 就是走个形式。双方握手时报一下「我支持什么」就完了。后来发现不是这样的。在initialize阶段,客户端发起的 capabilities 和服务端回复的 capabilities 决定了整个会话里哪些功能可用。比如客户端不报toolscapability,服务端就不该响应tools/list请求。// 客户端 initialize 请求 { "jsonrpc": "2.0", "id": 1, "method":
相关文章
GSV9001S@普及型4K视频处理芯片|轻量化物理AI可视化普惠落地核心(普及型工控/教育/边缘终端专用)
一、行业前言:物理AI可视化全面下沉,高性价比视频处理成为普惠设备刚需2026年物理AI产业正式进入全场景可视化落地时代,区别于高端超算集群的极致算力渲染、多屏8K超清输出需求,占据市场80%以上增量的中端普惠设备,核心…
高空气象探空站目录采集:用 Python 把编号型站点资料规整入库
㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐⭐☆☆(进阶级) 🉐福利: 一次订阅后,专栏内的所有文章可永久免费看,持续更新中,保底1000+(篇)硬核实战内容。 全文目录: 🌟…
RocketMQ 基础知识全解析:从入门到理解
一、引言在分布式系统架构中,消息中间件是连接各个服务的“神经系统”。当服务之间的调用从同步变为异步,从紧耦合变为松耦合,消息队列就成了不可或缺的基础设施。在众多消息中间件中,RocketMQ 是一个不得不提的名字。它由阿里巴巴…
如何将闲置USB-C显示屏变身高颜值系统监控中心?
如何将闲置USB-C显示屏变身高颜值系统监控中心? 【免费下载链接】turing-smart-screen-python Unofficial Python system monitor and library for small IPS USB-C displays like Turing Smart Screen / TURZX 项目地址: https://gitcode.com/GitHub_Trending/tu…
Paperxie 毕业论文智能写作|师生对话版干货解读
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图毕业论文 - PaperXie智能写作PaperXieAi论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Aigc查重、降重报告、文献资料。只需一个标题,从开…
MockServer:现代API测试与开发的终极解决方案,7个核心功能彻底改变你的开发流程
MockServer:现代API测试与开发的终极解决方案,7个核心功能彻底改变你的开发流程 【免费下载链接】mockserver-monorepo MockServer is an HTTP(S) mock server and proxy for testing that lets you mock APIs, inspect and modify live traffic, and in…
2023 AI元年复盘:技术突破、商业落地与社会认知的三大驱动力
1. 项目概述:为什么我们需要复盘2023年的AI浪潮?如果你在2023年从事任何与技术、内容、商业甚至教育相关的工作,那么“AI”这个词几乎不可能从你的视野中消失。它不再是实验室里的遥远概念,而是变成了我们每天都会用到的工具、讨论…
3D模型轻量化实战:threestudio网格优化与纹理压缩深度指南
3D模型轻量化实战:threestudio网格优化与纹理压缩深度指南 【免费下载链接】threestudio A unified framework for 3D content generation. 项目地址: https://gitcode.com/gh_mirrors/th/threestudio threestudio作为统一的三维内容生成框架,在3…
UI.Vision RPA完全指南:5分钟快速上手的免费自动化工具终极方案
UI.Vision RPA完全指南:5分钟快速上手的免费自动化工具终极方案 【免费下载链接】RPA Ui.Vision Open-Source RPA Software with Computer Vision, OCR, Anthropic Computer Use/LLM. Selenium IDE import/export. 项目地址: https://gitcode.com/gh_mirrors/rp/R…
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_m…
私有云管理平台登录绕过漏洞:从客户端信任模型到安全防御实践
1. 项目概述:一次典型的私有云管理平台登录绕过漏洞复现最近在整理内部安全测试案例库时,翻到了一个挺有意思的旧案例,是关于一个私有云管理平台的登录绕过漏洞。这个漏洞的利用方式非常“经典”,属于那种在特定开发框架或编码习惯…
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…
从GitHub安全案例解析常见漏洞与防护实践
1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用
# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…
FAE放射组学分析工具:医学影像特征探索的完整解决方案
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
0.69B参数实现中文多模态AI:揭秘Qwen3-SmVL模型融合技术的完整实战指南
0.69B参数实现中文多模态AI:揭秘Qwen3-SmVL模型融合技术的完整实战指南 【免费下载链接】happy-llm 📚 从零开始构建大模型 项目地址: https://gitcode.com/GitHub_Trending/ha/happy-llm 还在为大型多模态模型动辄数十亿参数、显存占用高而烦恼&…
解锁AMD Ryzen处理器性能潜力的SMU调试神器:从新手到专家的完整指南
解锁AMD Ryzen处理器性能潜力的SMU调试神器:从新手到专家的完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…