Skip to main content

MCP server for discovering, reading, and installing agent skills from curated GitHub repositories.

Project description

GitHub Skills MCP

This project provides an MCP server for working with skill libraries stored in one or more GitHub repositories.

It is designed for the workflow you described:

  • search across a growing collection of skill repos
  • inspect a matching skill directly from GitHub
  • download a skill locally when the agent should install it
  • return a grounded starter scaffold when a close match exists but a direct download is not the right move

What the server exposes

  • github_skills_list_repositories
  • github_skills_search_skills
  • github_skills_get_skill
  • github_skills_install_skill
  • github_skills_suggest_skill_scaffold

Configuration

The server ships with these built-in default sources:

  • pinkpixel-dev/skills-collection-1
  • pinkpixel-dev/skills-collection-2

That means the server works out of the box with no repos.json at all.

Users can add more repositories in either of these ways:

  1. Create repos.json in the project root by copying repos.example.json
  2. Or set GITHUB_SKILLS_REPOS to a JSON array with the same schema

Each repo entry supports:

  • name: short alias used in skill slugs
  • owner: GitHub owner or org
  • repo: GitHub repo name
  • ref: branch or tag to read from
  • root: optional subdirectory that contains skills
  • github_token_env: optional environment variable holding a GitHub token

For public repositories, a GitHub token is optional. Users can run anonymously, or provide their own GITHUB_TOKEN for higher rate limits.

For private repositories, each user should provide their own token with the access they need. Do not ship your personal token with the server.

Default and custom source behavior

  • By default, custom repos are added on top of the built-in two repos.
  • If a custom repo uses the same name as a built-in repo, the custom one wins.
  • To disable the built-in repos entirely, set GITHUB_SKILLS_REPLACE_DEFAULTS=true.
  • To disable built-in repos without replacement, set GITHUB_SKILLS_INCLUDE_DEFAULTS=false.

Install

uv sync

If a user wants to add more sources, they can create repos.json from the example:

cp repos.example.json repos.json

Run

For stdio transport:

uv run agentskills-mcp

For a quick smoke test without leaving a hanging process:

timeout 5s uv run agentskills-mcp

Example Claude Code registration

claude mcp add github-skills --env GITHUB_TOKEN=$GITHUB_TOKEN -- uv run agentskills-mcp

For public repos, users can also add the server without any token:

claude mcp add github-skills -- uv run agentskills-mcp

If you also want a default install target for downloaded skills:

claude mcp add github-skills \
  --env GITHUB_TOKEN=$GITHUB_TOKEN \
  --env GITHUB_SKILLS_INSTALL_ROOT=/absolute/path/to/skills \
  -- uv run agentskills-mcp

PyPI and uvx

Once published, users can run the server without cloning the repo:

uvx pinkpixel-agentskills-mcp

For release steps, see PUBLISHING.md.

Notes

  • Skill discovery is currently based on finding SKILL.md files in configured repos.
  • Built-in defaults make the server usable immediately, while optional config lets users extend the source list.
  • Search ranking is intentionally simple for the first version and can be upgraded later with repo-specific metadata or embeddings.
  • The scaffold tool is meant to help another agent create a new skill grounded in existing examples; it does not replace a full generation pipeline by itself.
  • Public-repo access works without credentials; tokens are an optional per-user enhancement, not a baked-in server secret.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pinkpixel_agentskills_mcp-0.1.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file pinkpixel_agentskills_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pinkpixel_agentskills_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pinkpixel_agentskills_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 225fa7fb7517161c0213d526b8864a0acd4087d7cd28015282674a369261151f
MD5 fcc8e10d8636d66913df6e3bbef42154
BLAKE2b-256 f9759d50261904950aa4a30995bc1b55e66b7fa09316fcd72cd4f02d4872eccc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page