Token导航 LogoToken导航TokenDH.com
MCP Skill Hub logo
运维云端stdio官方级别未说明来源级核验

MCP Skill Hub

MCP Server

一个生产就绪的Model Context Protocol (MCP)服务器,动态加载并暴露来自挂载卷的技能,支持热重载。

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
PythonClaude生产就绪Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

srprasanna

提供方

srprasanna

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i --rm \

详细介绍

MCP技能服务器

![Python 3.13+](https://www.python.org/downloads/) ![Poetry](https://python-poetry.org/) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.srprasanna%2Fmcp-skill-hub/versions) ](https://hub.docker.com/r/srprasanna/mcp-skill-hub) ](https://hub.docker.com/r/srprasanna/mcp-skill-hub)

生产准备就绪 模型上下文协议(MCP) 服务器,通过热重新加载支持从已挂载的卷动态加载和公开技能。

📦 可用时间: MCP注册表 -只需一个命令即可安装!

特性

  • 动态技能加载:自动从目录中发现和加载技能
  • 热重新加载:检测SKILL.md文件的更改,并在不重新启动的情况下重新加载
  • 文件夹结构验证:通过明确的错误消息强制实施最佳实践
  • 符合MCP协议:充分落实资源和工具
  • 生产就绪:全面的错误处理、日志记录和验证
  • Docker支持:在容量安装的容器中运行
  • 类型安全:使用Python 3.13功能的完整类型提示
  • 测试良好:>80%的代码覆盖率和全面的测试套件

目录

技能目录结构

必要条件:每个技能必须在技能目录中的专用文件夹中。服务器将只识别遵循此结构的技能。

✅ 有效结构

your-skills-directory/
├── skill-one/
│   └── SKILL.md          ← Required
├── skill-two/
│   ├── SKILL.md          ← Required
│   └── examples/         ← Optional
│       └── example.py
└── skill-three/
    ├── SKILL.md
    ├── examples/
    │   └── demo.py
    └── templates/
        └── template.txt

❌ 无效结构(将被忽略)

your-skills-directory/
├── SKILL.md                  ❌ Not in a folder - WILL BE SKIPPED
├── random-file.txt           ❌ Not a skill folder
├── .hidden-folder/           ❌ Hidden folder - WILL BE SKIPPED
│   └── SKILL.md
└── __pycache__/              ❌ System folder - WILL BE SKIPPED
    └── SKILL.md

文件夹命名约定

有效文件夹名称:

  • 带连字符的小写字母: my-skill-name
  • 下划线小写: excel_advanced
  • 字母数字: skill-name-v2

无效(将被跳过):

  • 以开头的隐藏文件夹 .
  • 以开头的私人文件夹 _
  • 系统文件夹: __pycache__, node_modules, .git等等。

快速开始

使用Docker(推荐)

  1. 创建技能目录:
mkdir -p ~/claude-skills/my-first-skill
  1. 创建技能档案:
cat > ~/claude-skills/my-first-skill/SKILL.md =3.0.0", "pandas>=2.0.0"]
  system: ["libreoffice"]

# Categorization
category: "office-automation"
tags: ["excel", "spreadsheet", "automation"]
complexity: "intermediate"  # beginner|intermediate|advanced

# Usage guidance
when_to_use:
  - "Automating Excel report generation"
  - "Processing multiple Excel files"
  - "Creating complex formulas programmatically"

# Relationships
related_skills: ["csv-processing", "data-analysis"]

# Examples
has_examples: true
example_files: ["examples/report_generator.py", "templates/report_template.xlsx"]
---

# Excel Advanced Automation

This skill covers advanced Excel automation techniques...

## Features

- Automated report generation
- Formula creation
- Bulk processing

## Examples

See `examples/report_generator.py` for a working example.

可用元数据字段

必修的:

  • name:唯一标识符(建议使用烤肉串大小写)
  • description:简要说明

可选:

  • version:语义版本
  • author:创建者名称
  • created, updated:ISO日期(YYYY-MM-DD)
  • dependencies:Python包或系统工具
  • category:分组的主要类别
  • tags:用于搜索的标签数组
  • complexity:初级、中级或高级
  • when_to_use:使用场景数组
  • related_skills:相关技能名称
  • has_examples:布尔标志
  • example_files:示例文件的路径(相对于技能文件夹)

MCP资源和工具

资源

服务器公开这些MCP资源:

  1. skill://catalog -包含元数据的所有技能的JSON目录
  2. skill://{name} -个人技能评分内容

工具

有四种工具可用于与技能互动:

1. search_skills

按查询、类别、标签或复杂性搜索技能。

{
  "query": "excel",
  "category": "office-automation",
  "tag": "automation",
  "complexity": "intermediate"
}

2. reload_skills

手动触发目录中所有技能的重新加载。

{}

3. get_skill_info

在不加载完整内容的情况下获取特定技能的元数据。

{
  "name": "excel-advanced"
}

4. list_skill_folders

列出技能目录中找到的所有有效技能文件夹。

{}

发展

设置开发环境

# Clone repository
git clone https://github.com/srprasanna/mcp-skill-hub.git
cd mcp-skill-hub

# Install dependencies (including dev dependencies)
poetry install

# Activate virtual environment
poetry shell

运行测试

# Run all tests
poetry run pytest

# Run with coverage
poetry run pytest --cov=mcp_skills --cov-report=html

# Run specific test file
poetry run pytest tests/test_scanner.py

# Run with verbose output
poetry run pytest -v

代码质量

# Format code
poetry run black .

# Lint code
poetry run ruff check .

# Type checking
poetry run mypy src

# Run all quality checks
poetry run black . && poetry run ruff check . && poetry run mypy src

开发工作流程

  1. 创建分支:
   git checkout -b feature/my-feature
  1. 进行更改和测试:
   poetry run pytest
   poetry run mypy src
  1. 格式和lint:
   poetry run black .
   poetry run ruff check .
  1. 承诺并推动:
   git commit -m "Add feature: description"
   git push origin feature/my-feature

项目结构

mcp-skill-hub/
├── src/mcp_skills/          # Source code
│   ├── models/              # Data models
│   ├── parsers/             # Skill parsers
│   ├── storage/             # Repository pattern
│   ├── scanner.py           # Directory scanning
│   ├── watcher.py           # Hot-reload watcher
│   ├── server.py            # MCP server
│   ├── config.py            # Configuration
│   └── __main__.py          # CLI entry point
├── tests/                   # Test suite
├── examples/                # Example skills
├── docs/                    # Documentation
└── pyproject.toml           # Poetry configuration

故障排除

常见问题

技能未加载

问题: 服务器启动时不会加载任何技能。

解决方案:

  1. 检查你的技能是否在专用文件夹中:
   /skills/my-skill/SKILL.md  ✓
   /skills/SKILL.md           ✗
  1. 验证文件夹名称是否以开头 ._
  2. 检查日志以获取详细的错误消息

热重载不工作

问题: 未检测到对SKILL.md文件的更改。

解决方案:

  1. 确保 MCP_SKILLS_HOT_RELOAD=true
  2. 检查文件名称是否准确 SKILL.md
  3. 验证文件是否在有效的技能文件夹中
  4. 在日志中查找文件监视器错误

解析错误

问题: SKILL.md文件无法解析。

解决方案:

  1. 验证YAML frontmatter语法
  2. 确保正面位于 --- 分隔符
  3. 检查必填字段(name, description)存在
  4. 使用YAML验证器检查语法

验证命令

检查您的技能目录结构:

poetry run mcp-skills --validate

预期产量:

✓ /skills/excel-advanced: Valid skill
✓ /skills/python-automation: Valid skill
✗ /skills/SKILL.md: Error - Skills must be in folders
✗ /skills/.hidden: Skipped - Hidden folder
⚠ /skills/empty-folder: Warning - No SKILL.md found

Summary: 2 valid, 1 error, 1 warning, 1 skipped

日志记录

启用调试日志记录以获取详细信息:

export MCP_SKILLS_LOG_LEVEL=DEBUG
poetry run mcp-skills

日志包括:

  • 文件夹结构验证消息
  • 扫描进度和结果
  • 解析成功与失败
  • 热重载事件
  • 详细的错误上下文

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

快速贡献指南

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 确保所有测试均已通过,且代码已格式化
  5. 提交拉取请求

代码规范

  • Python 3.13+ 带有类型提示
  • 黑色 用于格式化(88个字符行长度)
  • 拉夫 对于linting
  • 米皮 用于类型检查(严格模式)
  • Pytest 用于测试(覆盖率>80%)

发布

该项目通过GitHub Actions使用自动发布。

创建发布

  1. 首选 行动发布 工作流
  2. 点击 运行工作流
  3. 选择版本凹凸类型:

- patch -错误修复(0.1.0→0.1.1) - minor -新功能(0.1.0→0.2.0) - major -重大变化(0.1.0→1.0.0) - 或者指定确切的版本(例如。, 1.2.3)

  1. 选择Docker注册表(docker.ioghcr.io)
  2. 点击 运行工作流

工作流程将:

  • ✅ 凹凸版本 pyproject.toml
  • ✅ 创建Git标签和GitHub发布
  • ✅ 构建并推送Docker镜像
  • ✅ 运行测试以验证发布

Docker镜像:

  • Docker Hub: {username}/mcp-skill-hub:{version}
  • github: ghcr.io/{owner}/mcp-skill-hub:{version}

发布.md 获取详细的发布文档。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

  • 内置 MCP Python SDK
  • 受克劳德对动态技能管理需求的启发
  • 感谢所有贡献者!

______________________________________________________________________

注: 此服务器通过以下方式使人们无法误解文件夹结构要求:

  • 使用文件夹上下文清除错误消息
  • 综合录井
  • 多层次验证
  • 详细文件
  • 工作示例

每个技能都必须在自己的文件夹中。这一设计决策确保了清晰的组织、易于管理和明确的结构。 🎯

目录标签

目录标签

PythonClaude生产就绪动态技能加载本地部署热重载MCP协议兼容Docker支持

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP