Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
MCP server that loads and serves skills from a mounted directory with hot reload.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
MCP_SKILLS_DIR, MCP_SKILLS_HOT_RELOAD, MCP_SKILLS_LOG_LEVEL필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"skill-hub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_SKILLS_DIR",
"-e",
"MCP_SKILLS_HOT_RELOAD",
"-e",
"MCP_SKILLS_LOG_LEVEL",
"docker.io/srprasanna/mcp-skill-hub:1.0.0"
],
"env": {
"MCP_SKILLS_DIR": "your-value",
"MCP_SKILLS_HOT_RELOAD": "your-value",
"MCP_SKILLS_LOG_LEVEL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add skill-hub --env MCP_SKILLS_DIR=your-value --env MCP_SKILLS_HOT_RELOAD=your-value --env MCP_SKILLS_LOG_LEVEL=your-value -- docker run -i --rm -e MCP_SKILLS_DIR -e MCP_SKILLS_HOT_RELOAD -e MCP_SKILLS_LOG_LEVEL docker.io/srprasanna/mcp-skill-hub:1.0.0실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"skill-hub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_SKILLS_DIR",
"-e",
"MCP_SKILLS_HOT_RELOAD",
"-e",
"MCP_SKILLS_LOG_LEVEL",
"docker.io/srprasanna/mcp-skill-hub:1.0.0"
],
"env": {
"MCP_SKILLS_DIR": "your-value",
"MCP_SKILLS_HOT_RELOAD": "your-value",
"MCP_SKILLS_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"skill-hub": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_SKILLS_DIR",
"-e",
"MCP_SKILLS_HOT_RELOAD",
"-e",
"MCP_SKILLS_LOG_LEVEL",
"docker.io/srprasanna/mcp-skill-hub:1.0.0"
],
"env": {
"MCP_SKILLS_DIR": "your-value",
"MCP_SKILLS_HOT_RELOAD": "your-value",
"MCP_SKILLS_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
MCP_SKILLS_DIR envMCP_SKILLS_HOT_RELOAD envMCP_SKILLS_LOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 srprasanna 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 13개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, SubA by entendu.
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI-assisted subtitle localization with project rules, glossaries, review and export.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
A production-ready Model Context Protocol (MCP) server that dynamically loads and exposes skills from a mounted volume with hot-reloading support.
📦 Available on [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.srprasanna%2Fmcp-skill-hub/versions) - Install with one command!
CRITICAL REQUIREMENT: Each skill MUST be in its own dedicated folder within the skills directory. The server will ONLY recognize skills that follow this structure.
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
Valid folder names:
my-skill-nameexcel_advancedskill-name-v2Invalid (will be skipped):
.___pycache__, node_modules, .git, etc.mkdir -p ~/claude-skills/my-first-skill
cat > ~/claude-skills/my-first-skill/SKILL.md << 'EOF'
name: "my-first-skill" description: "My first Claude skill"
This is my first skill for Claude!
Simply describe what your skill does here. EOF
docker run -i --rm \
-v ~/claude-skills:/skills:ro \ mcp-skill-hub
git clone https://github.com/srprasanna/mcp-skill-hub.git
cd mcp-skill-hub poetry install
mkdir -p ~/claude-skills/my-first-skill
export MCP_SKILLS_DIR=~/claude-skills
poetry run mcp-skills
# Clone the repository
git clone https://github.com/srprasanna/mcp-skill-hub.git cd mcp-skill-hub
poetry install
poetry run mcp-skills --help
# Build the image
docker build -t mcp-skill-hub .
docker-compose build
# Set the skills directory
export MCP_SKILLS_DIR=/path/to/your/skills
poetry run mcp-skills
docker run -i --rm \
-v /path/to/your/skills:/skills:ro \ -e MCP_SKILLS_LOG_LEVEL=INFO \ mcp-skill-hub
# Edit docker-compose.yml to set your skills directory path
docker-compose up mcp-skills
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": { "skills": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "${HOME}/claude-skills:/skills:ro", "mcp-skill-hub" ] } } }
Or using Poetry:
{
"mcpServers": { "skills": { "command": "poetry", "args": ["run", "mcp-skills"], "cwd": "/path/to/mcp-skill-hub", "env": { "MCP_SKILLS_DIR": "/path/to/your/skills" } } } }
Important: Make sure your ${HOME}/claude-skills directory contains skill folders, not loose SKILL.md files!
Configuration is done via environment variables with the prefix MCP_SKILLS_:
| Variable | Default | Description |
|---|---|---|
MCP_SKILLS_DIR | /skills | Root directory containing skill folders |
MCP_SKILLS_HOT_RELOAD | true | Enable automatic reloading |
MCP_SKILLS_DEBOUNCE_DELAY | 0.5 | Delay (seconds) before reload |
MCP_SKILLS_LOG_LEVEL | INFO | Log level (DEBUG, INFO, WARNING, ERROR) |
MCP_SKILLS_SCAN_DEPTH | 1 | Scan depth (always 1) |
MCP_SKILLS_DIR=/path/to/skills
MCP_SKILLS_HOT_RELOAD=true MCP_SKILLS_DEBOUNCE_DELAY=0.5 MCP_SKILLS_LOG_LEVEL=INFO
Skills are defined in SKILL.md files with YAML frontmatter:
---
name: "my-skill" description: "Brief description"
Your skill content here in Markdown.
---
name: "excel-advanced" description: "Advanced Excel automation techniques"
version: "1.2.0" author: "Your Name" created: "2025-01-15" updated: "2025-10-23"
dependencies: python: ["openpyxl>=3.0.0", "pandas>=2.0.0"] system: ["libreoffice"]
category: "office-automation" tags: ["excel", "spreadsheet", "automation"] complexity: "intermediate" # beginner|intermediate|advanced
when_to_use:
related_skills: ["csv-processing", "data-analysis"]
has_examples: true example_files: ["examples/report_generator.py", "templates/report_template.xlsx"]
This skill covers advanced Excel automation techniques...
See examples/report_generator.py for a working example.
Required:
name: Unique identifier (kebab-case recommended)description: Brief descriptionOptional:
version: Semantic versionauthor: Creator namecreated, updated: ISO dates (YYYY-MM-DD)dependencies: Python packages or system toolscategory: Main category for groupingtags: Array of tags for searchcomplexity: beginner, intermediate, or advancedwhen_to_use: Array of usage scenariosrelated_skills: Names of related skillshas_examples: Boolean flagexample_files: Paths to example files (relative to skill folder)The server exposes these MCP resources:
Four tools are available for interacting with skills:
search_skillsSearch for skills by query, category, tag, or complexity.
{
"query": "excel", "category": "office-automation", "tag": "automation", "complexity": "intermediate" }
reload_skillsManually trigger a reload of all skills from the directory.
{}
get_skill_infoGet metadata for a specific skill without loading full content.
{
"name": "excel-advanced" }
list_skill_foldersList all valid skill folders found in the skills directory.
{}
# Clone repository
git clone https://github.com/srprasanna/mcp-skill-hub.git cd mcp-skill-hub
poetry install
poetry shell
# Run all tests
poetry run pytest
poetry run pytest --cov=mcp_skills --cov-report=html
poetry run pytest tests/test_scanner.py
poetry run pytest -v
# Format code
poetry run black .
poetry run ruff check .
poetry run mypy src
poetry run black . && poetry run ruff check . && poetry run mypy src
git checkout -b feature/my-feature
poetry run pytest
poetry run mypy src
poetry run black .
poetry run ruff check .
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
Problem: No skills are loaded when the server starts.
Solution:
/skills/my-skill/SKILL.md ✓
/skills/SKILL.md ✗
2. Verify folder names don't start with `.` or `_`
Problem: Changes to SKILL.md files aren't detected.
Solution:
MCP_SKILLS_HOT_RELOAD=trueSKILL.mdProblem: SKILL.md files fail to parse.
Solution:
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요