ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

mcp-server-dev 技能版本钉住清单:Claude Code 插件中版本敏感声明的一站式核对表与验证方法

mcp-server-dev 技能版本钉住清单:Claude Code 插件中版本敏感声明的一站式核对表与验证方法 AI 插件开发工具插件系统【免费下载链接】claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.项目地址https://gitcode.com/GitHub_Trending/cl/claude-plugins-official点击查看免费下载在claude-plugins-official仓库的mcp-server-dev插件中skills/build-mcp-server/references/versions.md是一份特殊的版本敏感声明台账。它不讲解任何一条 API 的用法而是把整套 MCP 服务器开发技能里所有与版本、日期、CDN 钉住、Schema 版本相关的断言集中到一张表里并给出逐条可执行的验证命令供技能维护者在更新时优先核对。本文以该文档为骨架结合build-mcp-server、build-mcp-app、build-mcpb三个技能及其 reference 文件的源码细节说明这张核对表背后的每条声明为什么存在、落在哪些文件里以及如何用官方命令快速验证帮助你正确维护或审阅这套 Claude Code 插件技能。一、这份文档的定位技能库的版本敏感声明台账mcp-server-dev是 README.md 中描述的一组用于设计并构建与 Claude 无缝协作的 MCP 服务器的技能集合入口技能build-mcp-server负责引导开发者依次完成用例探查、部署模型选型、工具设计模式选型、框架选型和脚手架交接五个阶段并可进一步转交build-mcp-app在会话内渲染交互式 UI 组件与build-mcpb把本地 stdio 服务器连同运行时打包发布。这类技能文档有一个共性风险正文里散布着大量与时间强相关的断言——某个 npm 包的 CDN 钉住版本、某条 MCP 规范草案的升级状态、某个 CLI 的最低版本要求、某个远程模板的仓库路径。这些声明一旦过时就会让技能给出错误指导。versions.md的存在意义正是把这类声明从各个正文文件中抽出来集中登记形成一张可逐条复核的表格Every version-sensitive claim in this skill, in one place. When updating the skill, check these first.本技能中所有版本敏感声明集中一处。更新技能时先核对这些。这是技能维护的最佳实践版本声明集中化version-pin ledger。修改技能正文前先对照台账避免只改了正文、漏了另一处引用或只更新了一处导致全技能自相矛盾。二、逐条解读台账中的六个版本声明台账表格使用Claim | Where stated | Last verified三列结构登记了 2026-03 验证的六类声明。1.modelcontextprotocol/ext-apps1.2.2CDN 钉住声明落点最后验证modelcontextprotocol/ext-apps1.2.2CDN 钉住build-mcp-app/SKILL.md、build-mcp-app/references/widget-templates.md共 4 处2026-03modelcontextprotocol/ext-apps是 MCP app在聊天界面内联渲染表单、选择器、确认对话框等交互组件所依赖的 SDK。build-mcp-app技能在 SKILL.md 中定义了标准 MCP 服务器 附加 UI 资源的架构其 UI 层就是通过ui://资源与ext-apps运行时协作实现的。该声明在正文里出现 4 次SKILL.md 与 widget-templates.md 各若干处意味着任何一次版本升级都需要同步修改全部 4 处引用否则会出现主文档已升级、模板示例仍引用旧版 CDN的不一致。验证命令见第三节用npm view查询最新版本号与台账中的1.2.2对比即可判断是否过期。2. Claude Code ≥ 2.1.76elicitation 能力声明落点最后验证Claude Code ≥2.1.76 支持 elicitationelicitation.md:15、build-mcp-server/SKILL.md:43,762026-03Elicitation 是 MCP 规范原生的工具执行中途向用户索取结构化输入能力服务端发送一份扁平 JSON Schema宿主渲染原生表单用户填写后服务端继续执行——零 UI 代码。台账指明该能力的最低宿主版本是 Claude Code 2.1.76相关声明精确到行号elicitation.md宿主支持状态表与 build-mcp-server/SKILL.mdPhase 1 第 4 问、SKILL.mdElicitation 部署模型小节。为什么这份声明如此重要因为 elicitation 有一个残酷的兼容性现实elicitation.md 明确记载SDK 在客户端未声明 elicitation 能力时会直接抛出CapabilityNotSupported没有内置的优雅降级。因此技能强制要求先检查clientCapabilities.elicitation再决定是否调用elicitInput()并提供纯文本兜底方案。台账里钉住 2.1.76 这个最低版本正是为了让技能能准确告知用户你的 Claude Code 是否够新。3. MCP 规范 2025-11-25 中 CIMD / DCR 的状态声明落点最后验证MCP 规范 2025-11-25 中 CIMD/DCR 状态auth.md:20,24,412026-03这指向认证参考文档 auth.md 中的三个关键结论分别对应其第 20、24、41 行附近CIMDClient ID Metadata Document被规范提升为 SHOULD推荐MCP 宿主把客户端元数据发布在一个 HTTPS URL 上并以该 URL 作为client_id授权服务器获取文档、校验后直接走授权码流程无需注册端点、无需存储客户端记录。DCRDynamic Client Registration被降级为 MAY可选宿主向registration_endpointPOST 元数据完成动态注册的旧流程退居向后兼容的备选方案。客户端优先级顺序预注册 → CIMD若授权服务器通告client_id_metadata_document_supported→ DCR若有registration_endpoint→ 提示用户。这条台账声明意味着技能文档里所有关于推荐 CIMD、DCR 仅作兼容的表述都以 2025-11-25 版规范为准。规范一旦再次修订必须先改台账、再改 auth.md 中对应的三处表述。4. MCPB manifest schema v0.4声明落点最后验证MCPB manifest schema v0.4build-mcpb/references/manifest-schema.md2026-03MCPB 是把本地 stdio 服务器连同运行时打包、让用户无需安装 Node/Python 即可使用的分发格式。manifest-schema.md 记录了 manifest 的字段定义其中明确清单需校验于github.com/anthropics/mcpb/schemas/mcpb-manifest-v0.4.schema.json且schema 使用additionalProperties: false未知键会被直接拒绝建议在 manifest 中显式声明$schema以获得编辑器校验。台账钉住 v0.4提醒维护者一旦上游 schema 升到 v0.5manifest-schema.md 中所有字段表、manifest_version建议值0.4、server.type取值node/python/binary与${__dirname}、${user_config.key}等替换变量说明都需要整体复核。5. CloudflareagentsSDK /McpAgentAPI声明落点最后验证CFagentsSDK /McpAgentAPIdeploy-cloudflare-workers.md2026-03Cloudflare Workers 是技能推荐的两条命令从零到线上 URL的最快部署路径deploy-cloudflare-workers.md 开篇即称 Fastest path from zero to a livehttps://MCP URL. Free tier, no credit card to start, two commands to deploy.。该文档的核心实现是McpAgent包装类import { McpServer } from modelcontextprotocol/sdk/server/mcp.js; import { McpAgent } from agents/mcp; import { z } from zod; export class MyMCP extends McpAgent { server new McpServer( { name: my-service, version: 0.1.0 }, { instructions: Prefer search_items before get_item — IDs arent guessable. }, ); async init() { this.server.registerTool( search_items, { description: Search items by keyword. Returns up to limit matches., inputSchema: { query: z.string().describe(Search keywords), limit: z.number().int().min(1).max(50).default(10), }, annotations: { readOnlyHint: true }, }, async ({ query, limit }) { const results await upstreamApi.search(query, limit); return { content: [{ type: text, text: JSON.stringify(results, null, 2) }] }; }, ); } } export default { fetch(request: Request, env: Env, ctx: ExecutionContext) { const url new URL(request.url); if (url.pathname /mcp) { return MyMCP.serve(/mcp).fetch(request, env, ctx); } return new Response(Not found, { status: 404 }); }, };McpAgent是 Cloudflare 对 streamable-HTTP 传输、会话路由与 Durable Object 管道的封装——开发者只需操作与 Express 脚手架完全一致的McpServer实例因此tool-design.md与server-capabilities.md中的全部指导无需改动即可复用。台账钉住agentsSDK 与McpAgentAPI 的形态提醒维护者关注该 SDK 的演进。6. CF 模板路径cloudflare/ai/demos/remote-mcp-authless声明落点最后验证CF 模板路径cloudflare/ai/demos/remote-mcp-authlessdeploy-cloudflare-workers.md2026-03同一文档中的脚手架命令依赖该模板存在且可用npm create cloudflarelatest -- my-mcp-server \ --templatecloudflare/ai/demos/remote-mcp-authless cd my-mcp-server该模板自带agents、zod依赖与可运行的wrangler.jsonc。台账把它单列一条是因为远程模板路径可能被上游移动或删除——验证命令直接通过 GitHub API 检查该路径下的src/index.ts是否仍存在见第三节一旦 404 就必须更新脚手架命令。三、How to verify三条命令逐项复核台账versions.md的如何验证一节给出了三条 Bash 命令分别对应台账中的三类外部依赖。这些命令设计得可离线审阅、可重复执行是维护这套技能的核心操作。1. 验证 ext-apps 最新版本npm view modelcontextprotocol/ext-apps versionnpm view pkg version直接输出 npm registry 上该包的最新版本号。将输出与台账中的1.2.2对比若不一致说明 CDN 钉住版本已过期需要同步更新 build-mcp-app/SKILL.md 与 widget-templates.md 中全部 4 处引用并更新台账的 Last verified 日期。2. 验证 Cloudflare 模板仍存在gh api repos/cloudflare/ai/contents/demos/remote-mcp-authless/src/index.ts --jq .sha使用 GitHub CLI 的gh api请求 Cloudflare 的ai仓库中该模板的src/index.ts文件内容元数据并用--jq .sha只提取文件 blob 的 SHA。只要命令返回一个 SHA 值而不是 404 错误就说明模板路径仍然有效这是对远程模板存活性最直接的探测。3. 验证 MCPB schema 可达性curl -sI https://raw.githubusercontent.com/anthropics/mcpb/main/schemas/mcpb-manifest-v0.4.schema.json | head -1curl -sI发送 HEAD 请求-I静默模式-s| head -1只保留响应首行——即 HTTP 状态行。返回HTTP/2 200说明 schema 仍可访问返回 404 则意味着上游 schema 路径已变动需要同步修订 manifest-schema.md。需要指出的是这三条命令在验证外部依赖时非常高效但台账中关于Claude Code 版本≥2.1.76与 MCP 规范状态2025-11-25的两条声明无法用命令探测只能依赖官方发布公告与规范文本的人工核对——这正是台账保留 Last verified 列的意义让读者知道每条声明的时效窗口。四、从源码看这些声明为什么值得被钉住把台账与技能正文对照阅读可以更清楚地理解每条版本声明背后的实际影响面。Elicitation最低版本直接决定兜底逻辑elicitation.md 的宿主支持状态表记载Claude Code 自 v2.1.76 起支持form与url两种模式Claude Desktop 未确认claude.ai 未知。而 SDK 在客户端未通告能力时会直接抛CapabilityNotSupported因此技能的规范模式是server.registerTool(delete_all, { description: Delete all items after confirmation, inputSchema: {}, }, async ({}, extra) { const caps server.getClientCapabilities(); if (caps?.elicitation) { const r await server.elicitInput({ mode: form, message: Delete all items? This cannot be undone., requestedSchema: { type: object, properties: { confirm: { type: boolean, title: Confirm deletion } }, required: [confirm], }, }); if (r.action accept r.content?.confirm) { await deleteAll(); return { content: [{ type: text, text: Deleted. }] }; } return { content: [{ type: text, text: Cancelled. }] }; } // Fallback: return text asking Claude to relay the question return { content: [{ type: text, text: Confirmation required. Please ask the user: Delete all items? This cannot be undone. Then call this tool again with their answer. }] }; });如果台账把版本从 2.1.76 上移而技能正文仍要求用户做能力检查与兜底两者并不冲突——但反过来如果技能正文因旧版本号而误判所有 Claude Code 都不支持 elicitation、从而引导用户放弃这个规范原生的输入方案损失就大了。台账的价值正是把这类宿主版本决定功能可用性的声明钉死避免维护者凭印象改文档。CIMD/DCR规范状态决定 OAuth 选型建议auth.md 中Claude 的 MCP 客户端支持的认证类型表列出了oauth_dcr、oauth_cimd、oauth_anthropic_creds、custom_connection、none五类并明确不支持用户粘贴的 bearer tokenstatic_bearer与无用户同意的纯机器间client_credentials。CIMD 之所以被优先推荐是因为它免去了注册端点与客户端记录存储其授权服务器职责包括在/.well-known/oauth-authorization-server提供 RFC 8414 授权服务器元数据并通告client_id_metadata_document_supported: true提供指向该元数据的 MCP 受保护资源元数据文档在授权时把client_id当作 HTTPS URL 拉取并校验客户端元数据校验进入/mcp的 bearer token。台账里规范 2025-11-25 把 CIMD 提为 SHOULD、DCR 降为 MAY这条声明直接决定了技能所有 OAuth 场景的推荐排序。规范一旦演进影响面是整个 auth.md 的认证类型表与服务器职责清单。MCPB schema版本决定清单字段与替换变量manifest-schema.md 的字段表中manifest_version必填且建议值为0.4server对象使用typenode/python/binary、entry_point与mcp_config其中mcp_config.args与mcp_config.env支持${__dirname}解包后 bundle 目录的绝对路径与${user_config.key}安装时用户输入值两类替换变量。schema 的additionalProperties: false意味着任何未登记字段都会导致校验失败——这也解释了为什么版本台账必须存在schema 升级往往伴随字段增删而字段增删又会连锁影响所有示例 manifest 与user_config文档。Cloudflare 部署SDK 与模板是外部契约deploy-cloudflare-workers.md 同时依赖两类外部契约agentsSDK 的McpAgentAPI以及cloudflare/ai仓库中的模板路径。前者决定init()/registerTool()的写法后者决定脚手架命令能否成功拉取。台账把两者分列两条正是因为它们的失效模式不同SDK API 变动是代码编译错误模板路径失效是脚手架命令 404需要不同的验证手段前者靠发布公告后者靠gh api探测。五、维护建议把版本台账机制复制到自己的技能里versions.md虽然只有一页表格加三行命令但它代表了一个可复用的工程实践值得任何长期维护的 Claude Code 技能库借鉴集中登记把正文中所有与版本号、日期、Schema 版本、远程路径相关的断言集中到一张versions.md表格用Claim | Where stated | Last verified三列记录声明内容、落点文件精确到行号更佳与验证时间。先核对再修改把该文档定位为更新技能的入口检查点——任何正文改动前先读台账避免出现多处引用不同步。给每条声明配验证命令能通过npm view、gh api、curl -sI等命令探测的附上可执行命令依赖人工核对规范/公告的保留Last verified列明确时效。按失效模式区分验证方式包版本看 registry模板路径看仓库内容Schema 看 HTTP 可达性宿主功能版本看官方发布——一种验证方式无法覆盖所有声明类型。结语versions.md 是mcp-server-dev技能库中最小却最关键的维护文档。六条声明分别钉住了ext-apps1.2.2CDN、Claude Code ≥2.1.76、MCP 规范 2025-11-25 的 CIMD/DCR 状态、MCPB manifest v0.4、CloudflareagentsSDK 的McpAgentAPI 与remote-mcp-authless模板路径每条都精确指向正文落点并配有验证手段。无论你是这套技能的维护者还是想为自己的技能库建立类似的版本管理机制都可以从这份台账开始先核对再修改用命令验证让文档里的每个版本断言都经得起时间检验。赞分享AI 插件开发工具插件系统【免费下载链接】claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.项目地址https://gitcode.com/GitHub_Trending/cl/claude-plugins-official点击查看免费下载相关推荐claude-hud 发布指南Claude Code 插件的版本发布全流程与验证清单claude hud 发布指南Claude Code 插件的版本发布全流程与验证清单 导读 本文围绕 claude hud 仓库的 RELEASING.mdAI 插件开发工具mcp-server-dev用 Claude Code 插件从零构建生产级 MCP 服务器mcp server dev用 Claude Code 插件从零构建生产级 MCP 服务器 导读 本指南围绕 claude plugins officialAI 插件开发工具插件系统终极指南Zellij插件与核心版本兼容性完全对照表终极指南Zellij插件与核心版本兼容性完全对照表 Zellij作为一款功能强大的终端工作区工具其丰富的插件生态系统极大扩展了使用体验。然而随着版本迭代插开发工具CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表