Skills Manager Server
FreeNot checkedA visual web interface and MCP server for managing Claude MCP Skills, enabling users to create, edit, browse, and load skill sets through a browser UI or direct
About
A visual web interface and MCP server for managing Claude MCP Skills, enabling users to create, edit, browse, and load skill sets through a browser UI or directly from Claude Desktop.
README
A visual web interface for managing Claude MCP Skills with Claude Code CLI integration.
Project Overview
This project provides a browser-based UI for managing skills in an MCP (Model Context Protocol) server. Skills are markdown-based instruction sets that Claude can load on-demand to gain specialized knowledge.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Skills Manager │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌──────────────────────────┐ │
│ │ Claude Desktop │ │ Browser UI │ │
│ │ (MCP Client) │ │ skills-manager.html │ │
│ └────────┬─────────┘ └────────────┬─────────────┘ │
│ │ │ │
│ │ stdio/MCP │ HTTP REST │
│ │ │ │
│ ┌────────▼─────────┐ ┌────────────▼─────────────┐ │
│ │ server.py │ │ skills_manager_api.py │ │
│ │ (MCP Server) │ │ (Flask API :5050) │ │
│ └────────┬─────────┘ └────────────┬─────────────┘ │
│ │ │ │
│ └────────────┬───────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ skills/ │ │
│ │ (folder) │ │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
File Structure
skills-mcp/
├── server.py # MCP server (FastMCP) - connects to Claude Desktop
├── skills_manager_api.py # Flask HTTP API server (port 5050)
├── skills_manager_app.py # Standalone all-in-one app (for .exe build)
├── skills-manager.html # Web UI (single-file, Tailwind + Lucide)
├── requirements.txt # Python dependencies
├── build.bat # Windows build script for .exe
├── skills/ # Skills directory
│ ├── my-skill/
│ │ ├── SKILL.md # Main skill content
│ │ ├── _meta.json # Metadata (tags, description)
│ │ ├── scripts/ # Optional helper scripts
│ │ └── references/ # Optional reference docs
│ └── another-skill/
│ └── ...
└── dist/ # Built executable + assets
├── SkillsManager.exe
├── skills-manager.html
└── README.md
Setup
Prerequisites
- Python 3.10+
- Node.js (optional, for Claude Code CLI)
- Claude Code CLI (optional, for AI features)
Installation
cd skills-mcp
pip install -r requirements.txt
Running the API Server
python skills_manager_api.py
Opens at: http://localhost:5050
Running the MCP Server (for Claude Desktop)
The MCP server runs automatically when Claude Desktop starts (configured in claude_desktop_config.json).
Manual test:
python server.py
Daily Skills Catalogue Audit
The repo ships an automated review system that grades every skill daily and
surfaces improvement opportunities. See reports/ for the latest output.
What it does
- Pass 1 (deterministic, every run): structural defects — missing files,
description drift between
_meta.jsonand SKILL.md frontmatter, broken references, unknowndepends_ontargets, oversized SKILL.md files, thin asset-less skills, duplicate sub-skill triggers, stale reviews. - Pass 2 (one skill per run): content audit of the skill whose
last_reviewed_atis oldest. Runs a deterministic rubric (description distinctness vs. tag-cluster siblings, library version mentions, asset richness, cross-references), proposes arelevance_tier(A/B/C/D), and optionally calls the Claude CLI for an LLM-assisted rubric. - Pass 3 (weekly): catalogue-level review — sibling description overlap, router necessity, tag-cluster drift vs. last week's snapshot, source distribution.
Running locally
# Add the audit metadata fields once (idempotent):
python scripts/backfill_audit_meta.py
# Daily run (writes reports/YYYY-MM-DD.md):
python scripts/run_daily_audit.py
# With weekly Pass 3 + the LLM rubric:
python scripts/run_daily_audit.py --weekly --use-llm
The GitHub Actions workflow .github/workflows/skills-audit.yml runs the
daily audit at 06:30 UTC and commits the resulting report. The Monday run
also performs Pass 3.
Metadata fields added to _meta.json
| Field | Type | Meaning |
|---|---|---|
last_reviewed_at |
ISO date or null | When Pass 2 last audited this skill |
review_score |
int 0–100 or null | Composite of distinctness + asset richness + freshness + cross-references |
relevance_tier |
"A" / "B" / "C" / "D" / null | A = irreplaceable, B = trim & keep, C = redundant with base-model output, D = obsolete |
The Skills Manager UI shows these as a filter dropdown and a per-card badge.
Development
Key Files to Edit
| File | Purpose |
|---|---|
skills-manager.html |
Frontend UI (vanilla JS, Tailwind CSS, Lucide icons) |
skills_manager_api.py |
Backend REST API (Flask) |
server.py |
MCP server for Claude Desktop integration |
skills_manager_app.py |
Standalone app (combines API + launcher for .exe) |
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/skills |
List all skills |
| GET | /api/skills/<name> |
Get skill details |
| POST | /api/skills |
Create new skill |
| PUT | /api/skills/<name> |
Update skill |
| DELETE | /api/skills/<name> |
Delete skill |
| POST | /api/import/folder |
Import skill from folder path |
| POST | /api/import/json |
Import files via JSON |
| GET | /api/browse?path= |
Browse filesystem |
| GET | /api/claude/status |
Check Claude CLI availability |
| POST | /api/claude/run |
Run Claude with prompt |
| POST | /api/claude/generate-skill |
Generate skill with AI |
Frontend Structure
The UI is a single HTML file with embedded CSS and JavaScript:
- Modals: Import, Folder Browser, File Upload, Generate, View, Claude Console
- State:
skills[],selectedFolderPath,browsePathCache{}, etc. - Key Functions:
browsePath(path)- Navigate filesystemimportSelectedFolder()- Copy folder to skills/uploadFiles()- Upload files as new skillgenerateSkill()- AI skill generationrunConsoleCommand()- Execute Claude prompts
Building the Executable
# Windows
build.bat
# Or manually
pip install pyinstaller
python -m PyInstaller --onefile --name "SkillsManager" --console ^
--add-data "skills-manager.html;." skills_manager_app.py
Output: dist/SkillsManager.exe
Skill Format
SKILL.md Structure
---
name: skill-name
description: When Claude should use this skill
---
# Skill Name
## Overview
What this skill helps with.
## When to Use
- Trigger condition 1
- Trigger condition 2
## Quick Start
\`\`\`code
Example usage
\`\`\`
## Best Practices
- Practice 1
- Practice 2
## Examples
Practical examples here.
_meta.json Structure
{
"name": "skill-name",
"description": "One-line description",
"tags": ["tag1", "tag2"],
"sub_skills": [],
"source": "imported"
}
Claude Desktop Configuration
Location: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"skills": {
"command": "python",
"args": ["C:/Users/<YOUR_USERNAME>/skills-mcp/server.py"]
}
}
}
MCP Tools (for Claude)
The MCP server exposes these tools to Claude:
| Tool | Description |
|---|---|
list_skills() |
List all available skills |
get_skill(name) |
Load a skill's SKILL.md content |
search_skills(query) |
Search skills by metadata |
search_content(query) |
Full-text search across all skills |
get_skills_batch([...]) |
Load multiple skills at once |
reload_index() |
Refresh skill index |
validate_skills() |
Check skill integrity |
Known Issues / TODO
- Folder browser doesn't show drive letters on initial load (starts at root drives)
- No confirmation before overwriting existing skills
- File upload doesn't preserve folder structure from drag-drop
- Claude Console output doesn't syntax highlight
- No skill versioning or backup
Tech Stack
- Backend: Python 3.11, Flask, Flask-CORS, FastMCP
- Frontend: Vanilla JS, Tailwind CSS (CDN), Lucide Icons (CDN)
- Build: PyInstaller
- Protocol: MCP (Model Context Protocol)
Installing Skills Manager Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Bbeierle12/Skill-MCP-ClaudeFAQ
Is Skills Manager Server MCP free?
Yes, Skills Manager Server MCP is free — one-click install via Unyly at no cost.
Does Skills Manager Server need an API key?
No, Skills Manager Server runs without API keys or environment variables.
Is Skills Manager Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Skills Manager Server in Claude Desktop, Claude Code or Cursor?
Open Skills Manager Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951PIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123Compare Skills Manager Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
