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.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม 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": "ใส่ค่าของคุณ",
"MCP_SKILLS_HOT_RELOAD": "ใส่ค่าของคุณ",
"MCP_SKILLS_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add skill-hub --env MCP_SKILLS_DIR='ใส่ค่าของคุณ' --env MCP_SKILLS_HOT_RELOAD='ใส่ค่าของคุณ' --env MCP_SKILLS_LOG_LEVEL='ใส่ค่าของคุณ' -- 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": "ใส่ค่าของคุณ",
"MCP_SKILLS_HOT_RELOAD": "ใส่ค่าของคุณ",
"MCP_SKILLS_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .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": "ใส่ค่าของคุณ",
"MCP_SKILLS_HOT_RELOAD": "ใส่ค่าของคุณ",
"MCP_SKILLS_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_SKILLS_DIR envMCP_SKILLS_HOT_RELOAD envMCP_SKILLS_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub srprasanna ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 13 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MONS
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Build and adjust your clients' MONS training plans: programs, templates, exercises, sets, reps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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:
ตัดมาแค่ช่วงต้น อ่านต่อใน repo