Hierarchical Skills For AI MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hierarchical Skills For AI MCP Serversearch for FastAPI"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hierarchical Skills For AI - A Skills Serving Hierarchical MCP Server
A hierarchical MCP (Model Context Protocol) server for managing skill definitions. Skills are stored as folders containing SKILL.md with YAML frontmatter, organized in a browsable tree structure with full-text search and a web UI.
When to Use / When Not to Use
Use this when
You have many skills (100+) and including all their frontmatter in the AI's context window would waste tokens
You want structured, hierarchical organization of skills by domain (coding, security, writing...)
You want search + browse so the AI can find the right skill without knowing the exact path
You want usage tracking so popular skills naturally rank higher over time
You want a web UI for humans to browse the same skill tree
Don't use this when
You have few skills (< 15) — just install them as per your agents' instructions, no server needed
Your skills are ephemeral or one-shot — the server setup overhead isn't worth it
You need real-time editing or CRUD from the web UI — it's read-only by design
You need multi-user auth or permissions — not built for that
You need relational queries or a database backend — this is filesystem + in-memory index
Related MCP server: agentskill-mcp
Architecture
Agent (MCP client) Human (browser)
↓ ↓
Skills MCP Server ← python mcp_server.py --port 8080
│ │
├── MCP (stdio) ├── HTTP (web UI)
│ browse(path, depth=1) │ GET /api/browse?path=&depth=
│ read(path) │ GET /api/search?q=
│ search(query) │ GET /api/read?path=
│ info(path) │ GET /api/info?path=
│ use(path) │
│ steps(path) │
│ reload() │
│ │
└──────────────────────────────┘
↓
┌───────────┼───────────┐
↓ ↓ ↓
File system Index Usage stats
(SKILL.md) (tags, (uses count,
aliases, last_used)
body,
relations)Quick Start
# Install
python3 -m venv venv
source venv/bin/activate
pip install -e .
# Run with sample skills (activate venv first)
python mcp_server.py --port 8080
# Open web UI
open http://localhost:8080CLI Arguments
Argument | Required | Default | Description |
| No |
| Path to root folder containing grouped skills |
| No | 4 | Maximum folder depth to walk |
| No | 8080 | Port for web UI |
| No | localhost | Host for web UI |
MCP Tools
Tool | Input | Output | Description |
|
| Child groups + skills (nested if | Navigate the skill hierarchy |
|
| Full SKILL.md body | Load skill content |
|
| Ranked paths | Search by name, tags, aliases, description, path segments |
|
| YAML metadata (no body) | Lightweight skill inspection |
|
| Updated metadata | Track skill usage (boosts search ranking) |
|
| Ordered step list | Get workflow sub-skills |
| — | Status | Re-scan repo, re-validate, re-index |
Skill File Format
Each skill lives in its own folder containing a SKILL.md file with YAML frontmatter delimited by ---.
Folder structure rules
skills/
coding/ # group folder (has subfolders, no SKILL.md)
python/
fastapi/ # skill folder → contains SKILL.md
SKILL.md
pytest/
SKILL.md
rust/
tokio/
SKILL.mdA folder is a skill if it contains
SKILL.mdA folder is a group if it has subfolders but no
SKILL.mdA folder can be dual (both group + skill) — has
SKILL.mdAND subfoldersFolders beyond
--max-depthare silently ignoredEmpty folders (no
SKILL.md, no subfolders) are silently ignoredUse lowercase with hyphens for folder names:
web-scrapingAll path lookups are case-insensitive —
"Coding/Python"and"coding/python"resolve to the same nodeCase collisions are rejected at startup: having both
Coding/andcoding/folders will abort the server — use consistent casing
Frontmatter fields
Field | Required | Type | Description |
| Yes | string | Unique identifier across the entire tree. Does not need to match folder name. |
| No | list | Keywords for search: |
| No | list | Alternative names an AI might search by: |
| No | string | One or two sentences explaining the skill. Indexed for search. |
| No | list of paths | Prerequisites the AI should know first: |
| No | list of paths | Conceptually similar skills: |
| No | list of paths | Natural next skills after mastering this one |
| No | list of paths | Ordered sub-skill paths for multi-step workflows |
| Auto | integer | Usage counter — auto-incremented by |
| Auto | string or null | ISO timestamp — auto-set by |
Example
---
name: fastapi
tags: [python, api, web]
aliases: [fast api, fastapi framework]
description: Python web framework for building APIs
depends_on: [python/basics]
related: [flask, starlette]
followed_by: [sqlalchemy, pytest]
uses: 0
last_used: null
steps: [setup/project-scaffold, coding/python/fastapi/routing]
---After the closing ---, write standard Markdown body content. The server never modifies the body — only uses and last_used in the frontmatter are updated automatically.
Validation rules
On startup and reload() the server validates every skill:
SKILL.mdmust exist and have valid YAML frontmatternamefield is required and must be unique across the entire treeDuplicate names cause an abort with per-skill error logging
Folders with case-colliding paths (e.g.
Coding/andcoding/) cause an abort — use consistent casingFolders beyond
--max-depthare silently ignored
Hierarchy guidelines
Keep
--max-depthbetween 3 and 5 levelsAim for 5–15 children per group node; split into sub-groups if exceeding 20
Use dual nodes (folder with
SKILL.md+ subfolders) when a group has general content applying to all childrenPrefer 3–8 tags per skill, lowercase, singular form
Project Structure
skills-mcp-server/
├── mcp_server.py # Root-level entry point
├── pyproject.toml # Project configuration
├── src/
│ ├── __init__.py # Package init
│ ├── __main__.py # Entry point
│ ├── main.py # CLI + server orchestration
│ ├── models.py # Data models
│ ├── frontmatter.py # YAML frontmatter parser
│ ├── discovery.py # Folder walker
│ ├── tree.py # In-memory skill tree
│ ├── index.py # Search index
│ ├── mcp_server.py # MCP tool definitions
│ ├── http_server.py # HTTP server for web UI
│ └── static/
│ └── index.html # Web UI (vanilla HTML/CSS/JS)
├── tests/
│ ├── test_discovery.py # Tests for discovery
│ ├── test_frontmatter.py # Tests for YAML parsing
│ └── test_tools.py # Tests for tree tools & search
├── sample_skills/ # Demo skills
├── HANDOFF.md # Session handoff notes
├── AGENTS.md # Agent conventions
└── IMPLEMENTATION_PLAN.md # Full implementation planDesign Principles
Hierarchy for humans, search for models — tree browsing and full-text search coexist
Filesystem as source of truth — no database needed
Minimal dependencies — only
mcpandpyyamlRead-only web UI — no editing, no auth, no build step
Self-improving index — usage tracking boosts popular/recent skills in search results
Tests
python -m pytest tests/ -vThis server cannot be deployed
Maintenance
Related MCP Connectors
Search engine for AI agents to find MCP servers, A2A agents, and skills on their own.
Governed AI agent skills — one library, distributed to devs and exposed to remote agents over MCP.
Search & install 13,000+ AI agent skills from skills-hub.ai inside any MCP tool.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA management toolkit for AI agent skills that provides an MCP server for search-first skill discovery and on-demand loading. It enables users to validate, organize, and serve standardized skills to MCP-compatible clients like Cursor and GitHub Copilot.567 PyPI414MIT

agentskill-mcpofficial
AlicenseAqualityFmaintenanceMCP server for discovering and installing AI agent skills from agentskill.sh. Search skills across platforms, browse trending skills, and install them with built-in security scanning.410 npm4MIT- AlicenseNot gradedqualityDmaintenanceA high-performance MCP server that provides BM25-ranked search and structured access to over 1,300 AI skills, enabling context-efficient discovery and usage of AI capabilities while minimizing token consumption.14 npmISC
- AlicenseNot gradedqualityCmaintenanceMCP server for SkillDB that enables AI assistants to search, load, and manage AI agent skills directly.177 npm1MIT