MCP server that exposes Claude-style skills to any MCP client.
Project description
Skillz MCP Server
⚠️ Experimental proof‑of‑concept. Potentially unsafe. Treat skills like untrusted code and run in sandboxes/containers. Use at your own risk.
skillz is a Python package and CLI 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. Now that the package is on PyPI you can run it anywhere with uvx skillz.
Prerequisites
- Python 3.12 or newer (managed automatically when using
uv) uvpackage manager (the script metadata declares runtime dependencies)
Quick Start
-
Populate a directory with skills following Anthropic’s format (
SKILL.md+ optional resources). -
Run the server with the directory path (downloads and caches the latest PyPI release automatically):
uvx skillz /path/to/skills --verbose
By default the server listens over
stdio. Pass--transport httpor--transport ssewith--host,--port, and--pathif your client needs a network transport. -
Use
--list-skillsto validate parsing without starting the transport:uvx skillz /path/to/skills --list-skills
Local development workflow
-
Install uv and Python 3.12+.
-
Sync an isolated environment with all runtime and developer dependencies (only needed when developing locally in the repo):
uv sync -
Run the test suite:
uv run pytest
-
Launch the CLI against your local checkout while iterating:
uv run python -m skillz /path/to/skills --list-skills
Packaging status
- The repository now ships a
pyproject.toml,src/skillz/package layout, anduv.lockfor reproducible builds. - Console entry point
skillzresolves topython -m skillzwhen installed as a package. - GitHub Actions workflow
.github/workflows/publish.ymlbuilds/tests and, on published GitHub Releases, publishes via PyPI trusted publisher once thepypienvironment is approved in project settings.
Discovery and tool registration
- 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
descriptionfrom 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.
Security & Safety Notice
- 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.
License
Released under the MIT License (see LICENSE).
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 skillz-0.1.1.tar.gz.
File metadata
- Download URL: skillz-0.1.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea4fe29f7427cc18da26c5a5a2cf710db77b072c8557bc158b4537b9f776187
|
|
| MD5 |
3a1d71b764c913751c3cd292e29c23ce
|
|
| BLAKE2b-256 |
e8cc84a155186a0d11d5ab760a0fe60bb46ad3b60bd347d3b59c87312bf7c670
|
Provenance
The following attestation bundles were made for skillz-0.1.1.tar.gz:
Publisher:
publish.yml on intellectronica/skillz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillz-0.1.1.tar.gz -
Subject digest:
6ea4fe29f7427cc18da26c5a5a2cf710db77b072c8557bc158b4537b9f776187 - Sigstore transparency entry: 634172195
- Sigstore integration time:
-
Permalink:
intellectronica/skillz@929b110175b3ae8d20fdb160bdedf70feeb5455b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/intellectronica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@929b110175b3ae8d20fdb160bdedf70feeb5455b -
Trigger Event:
release
-
Statement type:
File details
Details for the file skillz-0.1.1-py3-none-any.whl.
File metadata
- Download URL: skillz-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08c49b89f84d7044fd5d6cfb8f99c9aa271a580d8c699eb7c554738e6035fa49
|
|
| MD5 |
655d7b73eb2809c39b387b5faad903f9
|
|
| BLAKE2b-256 |
508ea38b1287a0550dfe35e701744cb07134e2fa04fd72bef85ed30ba9f2c6c0
|
Provenance
The following attestation bundles were made for skillz-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on intellectronica/skillz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillz-0.1.1-py3-none-any.whl -
Subject digest:
08c49b89f84d7044fd5d6cfb8f99c9aa271a580d8c699eb7c554738e6035fa49 - Sigstore transparency entry: 634172210
- Sigstore integration time:
-
Permalink:
intellectronica/skillz@929b110175b3ae8d20fdb160bdedf70feeb5455b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/intellectronica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@929b110175b3ae8d20fdb160bdedf70feeb5455b -
Trigger Event:
release
-
Statement type: