README
🚀 更新忽略端点技能
本技能通过分析Umbraco管理API并与已实现的MCP工具进行对比,自动更新docs/analysis/IGNORED_ENDPOINTS.md文件。
🚀 快速开始
运行方式
从项目根目录下,可通过以下两种方式运行此技能:
- 命令行方式:运行以下命令
npx ts-node .claude/skills/update-ignored-endpoints/scripts/update-ignored-endpoints.ts
- Claude Code方式:输入指令
Can you update the ignored endpoints documentation?
✨ 主要特性
- 从生成的Umbraco管理API TypeScript客户端中提取所有API端点。
- 扫描工具目录,识别哪些端点有MCP工具实现。
- 按API组对被忽略(未实现)的端点进行分类。
- 生成包含当前覆盖统计信息的更新后的
IGNORED_ENDPOINTS.md文件。 - 保留文档中现有的理由说明部分。
💻 使用示例
基础用法
在项目根目录下,使用命令行运行脚本:
npx ts-node .claude/skills/update-ignored-endpoints/scripts/update-ignored-endpoints.ts
高级用法
通过Claude Code调用技能:
Can you update the ignored endpoints documentation?
📚 详细文档
工作原理
TypeScript脚本会对以下内容进行分析:
- API端点:通过查找所有
Result类型的导出,从src/umb-management-api/api/api/umbracoManagementAPI.ts中提取。 - 已实现的工具:通过查找
CreateUmbracoTool调用及其对应的API客户端方法调用,从src/umb-management-api/tools/中扫描。 - 分类:按照常见模式(用户、安全、包等)对被忽略的端点进行分组。
输出内容
脚本会输出以下内容:
- 更新后的
docs/analysis/IGNORED_ENDPOINTS.md文件。 - 控制台摘要信息,显示:
- 发现的API端点总数。
- 已实现的端点数量。
- 被忽略的端点数量。
- API覆盖百分比。
示例输出
✅ IGNORED_ENDPOINTS.md has been updated successfully!
Summary:
Total API endpoints: 401
Implemented (unique endpoints): 323
Ignored: 82
Coverage: 80.5%
Note: 334 MCP tools implement 323 unique API endpoints
Some tools use multiple endpoints, and some endpoints are used by multiple tools.
数据解读
为什么工具数量和端点数量不同?
count-mcp-tools:334个MCP工具(包含CreateUmbracoTool或CreateUmbracoResource的文件)。update-ignored-endpoints:这些工具调用了323个唯一的API端点。
两者数量存在差异(334个工具 vs 323个端点)的原因如下:
- 一些工具使用多个API端点(例如,
publish-document-with-descendants调用2个端点)。 - 一些端点被多个工具使用(例如,
deleteDocumentById在不同上下文中被调用)。
这两个数字都是准确的,它们衡量的是不同方面:
- 334个工具 = 向大语言模型(LLMs)公开的MCP工具。
- 323个端点 = 所使用的唯一Umbraco API端点。
- 401个总数 = 所有可用的Umbraco管理API端点。
- 80.5%覆盖率 = 有工具实现的API端点百分比。
自定义设置
你可以通过设置环境变量来自定义脚本的行为:
PROJECT_ROOT:覆盖项目根目录(默认值:/Users/philw/Projects/umbraco-mcp)。
示例:
PROJECT_ROOT=/path/to/project npx ts-node .claude/skills/update-ignored-endpoints/scripts/update-ignored-endpoints.ts
🔧 技术细节
- 使用TypeScript编写,以确保类型安全并与项目保持一致。
- 使用
glob包进行高效的文件模式匹配。 - 保留现有文档中的“## Rationale”部分。
- 端点根据命名模式自动分类。
- 使用正则表达式匹配来查找API端点和工具实现。
- 覆盖统计信息有助于跟踪API完整实现的进度。
Scan to join WeChat group