Skip to main content

capdisc

PyPI Python versions CI codecov Dependabot License: MIT

Discovers Claude Code capabilities — skills, agents, plugins, MCP servers, hooks — into typed Pydantic catalogs and an environment report.

Install

uv add claude-code-capabilities
# or
pip install claude-code-capabilities

CLI

capdisc            # scan this machine, write discovery-report.json + .html
capdisc --oauth     # also allow the interactive OAuth flow for HTTP MCP servers
                    # with a pre-registered client (forces a fresh MCP harvest)

Both files are written to ~/.claude/capdisc/ by default. Configure paths and MCP auth via env vars (CAPDISC_ prefix), a .env file, or ~/.claude/capdisc/config.json/config.yaml — see DiscoverySettings in settings.py for every field.

Library

Scan the machine into a typed catalog:

from pathlib import Path
from capdisc.discovery import scan_environment
from capdisc.scope import ScopeRoots

roots = ScopeRoots.discover(start=Path.cwd(), home_dir=Path.home())
catalog = scan_environment(roots)
for entry in catalog.entries:
    ...  # CatalogSkill | CatalogTool | CatalogMcpServer | CatalogPlugin

Build and persist the full environment report (what the CLI does):

from capdisc.report import build_report, write_report

report = build_report(oauth=False)
write_report(report)  # -> ~/.claude/capdisc/discovery-report.{json,html}

Inspect the on-disk scope inventory directly — every skill/agent/command/hook found, its precedence, and which ones actually win a collision:

from capdisc.scope import ScopeInventory, ScopeRoots

inventory = ScopeInventory.scan(ScopeRoots.discover(start=Path.cwd(), home_dir=Path.home()))
print(len(inventory.artifacts), "captured,", len(inventory.effective), "in effect")
for hooks in inventory.hook_configs:
    ...  # HookConfig, unified from settings.json and component frontmatter

MCP servers

Read the last harvested tool inventory (fast, no network — served from a 12h cache):

from capdisc.mcp_harvest import read_mcp_cache, cache_is_stale

servers = read_mcp_cache()  # [] if there's no cache yet
if cache_is_stale():
    ...  # trigger a refresh (below) before trusting this

Force a fresh harvest — connects to every configured server concurrently (bounded) and lists their real tool schemas:

from capdisc.mcp_harvest import refresh_mcp_cache

servers = refresh_mcp_cache(oauth=False)  # also (re)writes the cache
for server in servers:
    print(server.ref, [t.name for t in server.tools])

Bearer/OAuth auth for HTTP servers is opt-in via settings, bound to an exact hostname so a same-named server elsewhere can never receive a credential meant for another:

export CAPDISC_MCP_BEARER_ENV='{"github": {"env": "GH_TOKEN", "host": "api.githubcopilot.com"}}'

report.EnvironmentReport captures the full discovery harvest (scan roots, on-disk inventory, skills, builtin tools, plugins with per-component token cost, MCP servers). mcp_harvest and mcp_catalog enumerate connected MCP servers; plugin_catalog reads installed plugins; scope resolves which roots to scan.

The package ships py.typed.

Tests

uv run pytest
uv run mypy src
uv run ruff check .

Metadata

Release files for claude-code-capabilities 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-code-capabilities 0.1.4
File Size Uploaded Provenance Actions
claude_code_capabilities-0.1.4.tar.gz 150.8 kB With provenance Details for claude_code_capabilities-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for claude-code-capabilities 0.1.4
File Interpreter ABI Platform Actions
claude_code_capabilities-0.1.4-py3-none-any.whl Python 3 none any Details for claude_code_capabilities-0.1.4-py3-none-any.whl

Total release size: 225.5 kB

Release files / claude_code_capabilities-0.1.4.tar.gz

Download URL claude_code_capabilities-0.1.4.tar.gz
Size 150.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e172cacd38b8d36f6edcbcb607a4c0082397abb5e3e038fb7f0247e261275ba3
BLAKE2b-256 checksum
How to use checksums
1047968718b6a4bcab90166f2f37e0872733ecdc55fdbbeb144463d4d81f4316
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.

Transparency log

Release files / claude_code_capabilities-0.1.4-py3-none-any.whl

Download URL claude_code_capabilities-0.1.4-py3-none-any.whl
Size 74.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e28f4aef37f675081b755436e459dc2c96b4c16f146aa4a1c55912942c3db1a6
BLAKE2b-256 checksum
How to use checksums
7595d9238889b8038b77cef6e01a26a3dc17dd981e99dc41290e2341fa26714c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.

Transparency log

Security for claude-code-capabilities 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for claude_code_capabilities-0.1.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page