⚠️ Experimental proof‑of‑concept. Potentially unsafe. Treat skills like untrusted code and run in sandboxes/containers. Use at your own risk.
skillz.py is a single‑file MCP server that exposes Anthropic‑style skills (directories with a SKILL.md that starts with YAML front‑matter) to any MCP client. It recursively discovers skills, registers one tool per skill, returns authored instructions and absolute file paths, and can optionally run a helper script from the skill in a temporary workspace.
- Python 3.12 or newer (managed automatically when using uv)
- uv package manager (the script metadata declares runtime dependencies)
-
Populate a directory with skills following Anthropic’s format (SKILL.md + optional resources).
-
Run the server with the directory path:
uv run skillz.py /path/to/skills --verboseBy default the server listens over stdio. Pass --transport http or --transport sse with --host, --port, and --path if your client needs a network transport.
-
Use --list-skills to validate parsing without starting the transport:
uv run skillz.py /path/to/skills --list-skills
- Recursively walks the skills root and loads every SKILL.md (nesting supported).
- One MCP tool is registered per skill. Tool name = the slug of name (e.g., algorithmic-art).
- Tool description = the description from front‑matter (no extra metadata included).
Note: Skillz returns absolute paths but does not register MCP resources for file reads. Clients should read files directly from disk or provide their own file‑access flow.
- This code is experimental, untested, and should be treated as unsafe.
- Script execution happens outside any sandbox besides a temporary directory. Use only with trusted skill content and within controlled environments.
- Review and harden before exposing to real users or sensitive workflows.
Released under the MIT License (see LICENSE).
.png)
![SpaceX launches 28 Starlink satellites from California's central coast [video]](https://cdn.mos.cms.futurecdn.net/rRpg3oTzu7U7VF2N37c6kZ-1200-80.jpg)
