MCP server that enables any agent to use Claude Skills via progressive disclosure
Project description
AgentSkill MCP
Bring Claude Agent Skills to ANY MCP-compatible Agent
A universal MCP server that enables any Agent application with MCP support to use Anthropic's official Claude Agent Skills with progressive disclosure - reducing context overhead while maximizing capability.
Package Name: agentskill-mcp | PyPI: agentskill-mcp
English | 简体中文
Why AgentSkill MCP?
Claude Agent Skills are brilliantly designed but locked to Claude's ecosystem. This project breaks that limitation by:
- ✅ Universal Compatibility: Works with ANY MCP-compatible agent (Kilo Code, Cursor, Roo Code, Codex, and more)
- ✅ 100% Claude Skill Compatible: Uses official Anthropic Skill format - no modifications needed
- ✅ Progressive Disclosure: Implements the same smart context loading as Claude Code
- ✅ Zero Lock-in: Standard MCP protocol means you're never tied to one platform
The Problem Skills Solve
Traditional MCP tools load ALL documentation upfront, consuming massive amounts of tokens before you even start. With 15+ tools, your agent is context-starved before doing any real work.
Skills fix this through progressive disclosure: agents see a lightweight skill list initially, then load full details only when needed. This project brings that same efficiency to every MCP-compatible agent.
Features
- 🚀 One-Line Installation:
pip install agentskill-mcporuvx agentskill-mcp - 🔌 Universal MCP Compatibility (gradual testing): Works with Kilo Code, Cursor, Roo Code, Codex, Cherry Studio, and any MCP-compatible agent
- 📦 Official Skill Format: Fully compatible with Anthropic's Claude Skills
- 🎯 Progressive Disclosure: Smart context loading - minimal overhead until skills are needed
- 🔄 Hot Reload (not yet implemented): File changes detected and updated in real-time (where protocol supported)
- 🗂️ Smart Path Discovery: Auto-detects
.claude/skills/,.skill/, or custom directories - 🌍 Environment Aware: Project-level and global skill directories with automatic detection
- 🎨 ClaudeCode Compatible: Supports both
.claude/skills/(ClaudeCode format) and.skill/(custom format for this project)
Project Status
⚠️ Early Development - This project is in early stages. Currently tested on Windows only.
Tested Platforms:
- ✅ Kilo Code (AI coding assistant) - Windows
- ✅ Roo Code (AI coding assistant) - Windows
- ✅ Cline (AI coding assistant) - Windows
Next Steps:
- 🔄 Testing on more MCP-compatible agents (Codex, Cursor, QwenCode, etc.)
- 🔄 Cross-platform testing (macOS, Linux)
- 🔄 Broader compatibility verification
- 🔄 Hot reload feasibility testing (based on MCP's List Changed Notification) see: https://modelcontextprotocol.io/specification/2025-06-18/server/tools#list-changed-notification
In theory: Any agent implementing the Model Context Protocol should work, but we're actively testing to confirm.
Quick Start
Configuration
⚠️ Current Recommended Usage: Specify skills directory via --skills-dir parameter
Add to your MCP client configuration file. Find the configuration location in your agent's documentation:
- Kilo Code:
.kilocode/mcp.jsonin your workspace - Roo Code: Check agent documentation
- Cursor:
.cursor/mcp.jsonin your workspace - Other agents: Refer to agent-specific MCP configuration guide
Recommended Configuration (Windows):
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\Users\\YourName\\path\\to\\skills"
]
}
}
}
For macOS/Linux:
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"/Users/YourName/path/to/skills"
]
}
}
}
Using pip-installed version:
Replace "command": "uvx" with "command": "agentskill-mcp" and remove it from args:
{
"mcpServers": {
"skills": {
"command": "agentskill-mcp",
"args": [
"--skills-dir",
"C:\\Users\\YourName\\path\\to\\skills"
]
}
}
}
💡 Tips:
- Use absolute paths in
--skills-dirto avoid ambiguity - After configuration changes, restart your agent application or reload MCP servers
- Test with
examples/directory first before creating custom skills
Loading Skills
Create a skills directory and add skill packages:
Format 1: ClaudeCode Format (Recommended for ClaudeCode users)
# Create in current project (recommended)
Create .claude/skills/ in project root directory
# Or create globally
mkdir -p ~/.claude/skills # Linux/Mac
mkdir C:\Users\YourName\.claude\skills # Windows
Format 2: Custom Format for This Project (Compatible with other agents)
# Create in current project
Create .skill/ in project root directory
# Or create globally
mkdir ~/.skill # Linux/Mac
mkdir C:\Users\YourName\.skill # Windows
Then place your Skill packages in the skills directory. The ./examples directory contains several official Anthropic Skill packages, which are sufficient for testing.
# Example of migrating skills (ClaudeCode format)
Copy examples/canvas-design -> .claude/skills/
Copy examples/brand-guidelines -> .claude/skills/
# Or (Custom format for this project)
Copy examples/canvas-design -> .skill/
Copy examples/brand-guidelines -> .skill/
The final structure should look like:
- ClaudeCode format:
.claude/skills/canvas-design/ - Custom format for this project:
.skill/canvas-design/
Try It Out
Restart your Agent application and test with:
Create a 1920x1080 promotional poster using Anthropic brand style.
Theme: "AI belongs to the future? AI is just a means, not an end"
What happens:
- Agent sees available skills in the
load_skilltool description - Agent identifies relevant skills (
canvas-design,brand-guidelines) - Agent calls
load_skillto get full skill details - Agent follows skill instructions to create the poster
Note: The agent may call only one skill depending on how it interprets the task. This is normal - AI agents have some inherent randomness in tool selection.
Skill Format
Skills follow the official Claude Skill format:
Frontmatter (YAML)
---
name: skill-name # Required: matches folder name
description: | # Required: detailed description for agent matching
What this skill does and when to use it.
Include keywords that agents should match on.
license: MIT # Optional: license information
---
Skill Content
After the frontmatter, provide detailed Markdown instructions:
- Clear, actionable guidance
- Examples and best practices
- References to auxiliary resources
Auxiliary Resources
Skills can include resources like templates, fonts, scripts:
# ClaudeCode format
.claude/skills/
├── algorithmic-art/
│ ├── SKILL.md
│ └── templates/
│ ├── viewer.html
│ └── generator.js
# Or legacy format
.skill/
├── algorithmic-art/
│ ├── SKILL.md
│ └── templates/
│ ├── viewer.html
│ └── generator.js
Reference resources in your skill:
Read `templates/viewer.html` using the Read tool
How It Works
Progressive Disclosure Implementation
The Challenge: How to implement progressive disclosure within the MCP framework?
Official Claude Implementation (inferred from behavior):
- Built-in Skill system integrated in agent's system prompt
- Initial display shows only
<available_skills>list - Special
load_skillcommand triggers full content loading
Our MCP Implementation:
-
Single MCP Tool:
load_skill- Embeds all available skill metadata in the tool's
description - Agents see the skill list without loading full content
- Embeds all available skill metadata in the tool's
-
Tool Description Structure:
Tool(
name="load_skill",
description="""Execute a skill within the main conversation
<skills_instructions>
When users ask you to perform tasks, check if any of the
available skills below can help...
</skills_instructions>
<available_skills>
<skill>
<name>code-reviewer</name>
<description>Comprehensive code review framework...</description>
</skill>
<skill>
<name>calculator</name>
<description>Mathematical calculations...</description>
</skill>
</available_skills>
""",
inputSchema={
"type": "object",
"properties": {
"skill": {"type": "string"}
}
}
)
- On-Demand Loading:
- Agent matches task with skills from
<available_skills> - Calls
load_skill(skill="code-reviewer") - Server reads
.skill/code-reviewer/SKILL.md - Returns full skill content
- Agent matches task with skills from
Current Implementation Note
Version 0.1.3 focuses on the most reliable usage pattern:
- ✅ Recommended: Specify skills directory via
--skills-dirparameter - ⚠️ Experimental: Dynamic
set_skills_directorytool (currently disabled in production)
This approach ensures maximum compatibility across different agent implementations while we continue testing and refining more advanced features.
Path Discovery
The server automatically finds skills using this priority:
- Command-line argument:
--skills-dir /path/to/skills⭐ Recommended - Environment variable:
MCP_SKILLS_DIR=/path/to/skills - Project-level:
.claude/skills/or.skill/in project root (detects.git,.claude/,package.json, etc.) - Global fallback:
~/.skill
Note: The project-level discovery prioritizes .claude/skills/ (ClaudeCode format) over .skill/ (custom format for this project) when both exist.
Current Recommendation: Always use --skills-dir parameter for best compatibility.
Usage Examples
Example 1: Using Absolute Path (Recommended)
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\userfolder\\DevFolder\\my-skills"
]
}
}
}
Example 2: Using Project Examples
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\path\\to\\Open-ClaudeSkill\\examples"
]
}
}
}
Tools Provided
load_skill
Load and activate a skill by name.
Parameters:
skill(string): Name of the skill to load
Example:
load_skill(skill="code-reviewer")
Advanced Configuration
Environment Variables
MCP_SKILLS_DIR: Override default skills directory
Command-Line Arguments
agentskill-mcp --skills-dir /custom/path --log-level DEBUG
Logging
Set log level for debugging:
agentskill-mcp --log-level DEBUG
Levels: DEBUG, INFO, WARNING, ERROR
Examples
See the examples/ directory for sample skills:
- algorithmic-art: Create generative art using p5.js
- canvas-design: Design visual art and posters
- brand-guidelines: Apply Anthropic brand styling
- code-reviewer: Comprehensive code review framework
- calculator: Mathematical calculations
Installation
Method 1: Using pip (Recommended)
pip install agentskill-mcp
Method 2: Using uvx (No installation needed for trial)
# Run directly without installing
uvx agentskill-mcp --help
Method 3: Using uv
uv pip install agentskill-mcp
Verify Installation:
agentskill-mcp --help
# Expected output:
# usage: agentskill-mcp [-h] [--skills-dir SKILLS_DIR]
# [--log-level {DEBUG,INFO,WARNING,ERROR}]
#
# AgentSkill MCP - MCP Server for Claude Skills with progressive disclosure
For Development (if you want to modify the code):
git clone https://github.com/QianjieTech/Open-ClaudeSkill.git
cd Open-ClaudeSkill
pip install -e .
Development
Running from Source
# Install development dependencies
uv pip install -e .
# Run the server
uv run agentskill-mcp
# Run with debug logging
uv run agentskill-mcp --log-level DEBUG
Creating Custom Skills
- Copy an example skill as a template
- Modify the frontmatter (name, description)
- Update the instructions
- Add any auxiliary resources
- Test with your agent
Architecture
Core Components
- ServerState: Manages runtime state and path discovery
- SkillLoader: Discovers and parses skill files
- SkillFileHandler: Monitors file changes with debouncing
- SkillMCPServer: Main MCP server implementation
Progressive Disclosure
Skills are exposed via a single load_skill tool that lists all available skills in its description. This minimizes initial token usage while providing full discovery.
Hot Reload
File changes are detected via watchdog and trigger skill reloading. Changes take effect immediately for the next agent request.
Note: Hot reload functionality is implemented in the codebase but not yet verified to work reliably across all MCP-compatible agents in practice.
Contributing
Contributions welcome! Please see CONTRIBUTING.md for guidelines.
License
Apache License 2.0 - See LICENSE for details.
Resources
- Documentation: Official Docs
- Agent Skills Spec: Anthropic Spec
- MCP Protocol: Model Context Protocol
- Issues: GitHub Issues
Acknowledgments
This project is built upon the following open-source projects:
- MCP (Model Context Protocol) - Anthropic
- Claude Skills - Anthropic
- watchdog - File system monitoring
- PyYAML - YAML parsing
Contact
QQ Group: 1065081197
Made with ❤️ by the Open-ClaudeSkill community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_qianjietech_agentskill_mcp-0.1.3.tar.gz.
File metadata
- Download URL: iflow_mcp_qianjietech_agentskill_mcp-0.1.3.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
988049fb7a8344dfc21bc0663b97dbce2bb21e390f9052611bb7043f298bf5cd
|
|
| MD5 |
49c0adc461ebaee9730ba129d9ab89da
|
|
| BLAKE2b-256 |
5fa6943354214bc58e356bf2656f0f78544bd62cb806f0f6889df034ef6dc642
|
File details
Details for the file iflow_mcp_qianjietech_agentskill_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_qianjietech_agentskill_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8cae0f2b203dcaf8a7b5dd3af13bc4991f3800c4bfcf4319980b881ac9e28d7
|
|
| MD5 |
55cdd4c5f9dbef0eaf2c43f32390e079
|
|
| BLAKE2b-256 |
0218e9bd55e464ad03c521d918e7f25ec165846a395c4632a21eca5294e95b0f
|