Skill MCP Claude
Visual web interface for managing Claude MCP skills with Flask API and Claude Code CLI integration β Python
Ask AI about Skill MCP Claude
Powered by Claude Β· Grounded in docs
I know everything about Skill MCP Claude. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Skills Manager
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
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)
