skills-mcp
by raymatos
README.md
# skills-mcp
MCP server that serves **agent skills** (`SKILL.md` bundles, the format used by
Claude Code plugin skill repos like [cloudflare/skills](https://github.com/cloudflare/skills))
to any MCP client — including clients that can't install plugins, such as
claude.ai / Claude Desktop connectors or an aggregator like MetaMCP.
Skills are exposed two ways:
- **Tools** — `list_skills`, `read_skill`, `read_skill_file` for tool-oriented
clients. The server's MCP `instructions` list every skill so models know
when to load one.
- **Resources** — `skill://<name>/SKILL.md` (plus each bundled file) for
resource-aware clients.
## Configuration
| Env var | Meaning |
|---|---|
| `SKILLS_SOURCES` | Comma-separated skill sources (required). Each entry is `owner/repo`, `owner/repo#ref`, or an absolute local path. |
| `SKILLS_CACHE_DIR` | Cache directory for GitHub tarballs (default: OS tmpdir). |
GitHub sources are fetched as tarballs on startup (no `git` needed) and fall
back to the cached copy if the fetch fails.
## Usage
```bash
SKILLS_SOURCES=cloudflare/skills,raymatos/my-skills npx -y skills-mcp-server
```
Any directory containing a `SKILL.md` (searched up to 6 levels deep) is a
skill; YAML frontmatter `name:` and `description:` are used when present.
## License
MIT
TDQS
A4.4/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a distinct, non-overlapping role: listing skills, reading the main skill instructions, and reading supporting files. There is no ambiguity about which tool to use for a given step.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern: list_skills, read_skill, read_skill_file. The verb and noun are clear and predictable.
Tool Count5/5
Three tools is perfectly scoped for a skills management server. Each tool is necessary and there are no redundant or extraneous tools.
Completeness5/5
The tool surface covers the full workflow for accessing skills: discovery, reading the primary instructions, and accessing bundled files. No obvious gaps for the stated purpose.
Maintenance
ActivityMaintained
ResponsivenessNo issues