技能元数据服务

skills-mcp是一个通过MCP服务器和CLI提供技能元数据的服务,支持技能发现、验证和管理。

  • by cdfuller
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cdfuller/skills-mcp

使用说明

技能-MCP(可能指“Microsoft Certified Professional”,微软认证专业人员)

通过MCP服务器暴露Claude技能。

skills-mcp 是一个只读桥接器,用于跨注册表发现技能,并验证每个技能 SKILL.md并通过MCP服务器和CLI提供元数据服务。
你可以列出你所拥有的技能,检查缺失的前置信息,搭建一个新的技能目录,或者将元数据交给一个与MCP兼容的代理——而无需接触上游源代码。

快速入门

  • uv pip install -e . — 以可编辑模式安装该包。
  • uv run pytest — 执行测试套件。
  • uv run python -m skills_mcp.server — 启动(占位符)MCP服务器以验证注册表发现。
  • uv run skills-cli --help — 安装包后,探索CLI(命令行界面)。

要求

  • Python 3.13(或更新版本)——推荐的Homebrew解释器 /opt/homebrew/bin/python3.13。
  • 紫外线 用于依赖管理和执行。
  • 对任何引用的注册表进行读取访问(例如。, anthropic-skills/ 或本地 skills/ (目录)。

运行MCP服务器

在传输线路构建完成之前,MCP(微控制器外设)入口点仍是一个存根,但您可以使用以下命令来确认配置:

uv run python -m skills_mcp.server

该命令列出所有已发现的注册表和可用的工具(skills.search, skills.detail, skills.registry_info, skills.changes_since)。 当stdio传输实现后,此模块将无需进一步修改即可托管Codex MCP循环。

CLI 使用方法

skills-cli 重用共享的注册表缓存和解析器逻辑。示例工作流:

# Show configured registries and skill counts
uv run skills-cli status

# List up to 20 skills tagged with "demo" from the local registry
uv run skills-cli list --registry local --tag demo --limit 20

# Validate every configured skill and surface warnings
uv run skills-cli validate

# Scaffold a new skill into the first writable registry using the built-in template
uv run skills-cli scaffold my-new-skill

# Export a skill as JSON for inspection
uv run skills-cli export local my-new-skill --format json

# Compare two skills side-by-side
uv run skills-cli diff local my-new-skill anthropic template-skill

模板存放在以下位置 src/skills_mcp/templates/ — scaffold 在复制之前执行可写注册表检查 basic_skill 将脚手架(或框架)放入目标目录。

验证与警告

解析器强制要求使用YAML前置信息分隔符,且为必填项 name/description 字段,以及映射形状的元数据。缺少字段或YAML格式错误会导致警告显示在:

  • uv run skills-cli validate
  • skills_mcp.registry.SkillRegistry.warning_report()
  • MCP工具响应(服务器连接完成后)

在发布新技能之前,使用命令行界面(CLI)在本地进行故障排除。

变更检测与缓存

SkillRegistry 它维护一个基于注册表和目录别名(slug)的内存缓存。仅当磁盘上的数据发生变化时,它才会刷新缓存条目 SKILL.md mtime(修改时间)发生了变化,所以 list, export并且MCP工具在后续调用中响应迅速。编辑或删除文件会触发下一次的新解析 refresh(); scaffold 创建新技能后自动调用刷新功能。

缓存TTL(Time To Live,生存时间)

  • SKILLS_MCP_CACHE_TTL=<seconds> — 可选的环境变量,用于在指定的秒数后强制刷新。设置为 0 始终重新扫描,或保持未设置以无限期重用缓存。

记录日志

  • SKILLS_MCP_LOG_LEVEL=DEBUG (or INFO/WARNING/ERROR) 控制包的日志记录。CLI 和 MCP 服务器在每次运行时配置一次 Python 的日志记录。

故障排除

  • uv 沙盒错误: 当提示时,以提升的权限重试失败的命令;CLI 可能需要读取缓存的源代码分发包(sdist)位于 ~/.cache/uv/。
  • 缺失的注册表项: 设定 SKILLS_MCP_HOME 或者编辑 ~/.config/skills-mcp/skills_mcp.toml 声明额外的注册表路径。
  • 模板问题: 确保 src/skills_mcp/templates/basic_skill/SKILL.md 存在; scaffold 如果找不到模板,则中止。
  • 验证失败: 跑 uv run skills-cli validate -- path/to/skill_dir 单独检查一项特定技能。