Skip to main content

agentcard-disco

Score and optimise A2A Agent Cards for discoverability.

agentcard-disco analyses an Agent Card JSON file and gives it a discoverability score across four heuristic dimensions (plus optional AI-assisted analysis), surfacing exactly what to fix before publishing to an A2A registry.

┌─────────────────────────────────────────────────────────────┐
│  agentcard-disco          discoverability score             │
│                                                             │
│  🏆  DataPulse Analytics Agent                              │
│    Source: tests/fixtures/good_card.json                    │
│                                                             │
│    Score: 88.0 / 100   (88%)   Grade:  A                   │
└─────────────────────────────────────────────────────────────┘

Installation

pip install agentcard-disco

For AI-assisted scoring (--deep):

pip install "agentcard-disco[deep]"

Quick start

# Score a local card
agentcard-disco score ./agent-card.json
agentcard-disco score ./tests/fixtures/good_card.json --deep

# Score from a URL
agentcard-disco score https://api.example.com/.well-known/agent-card.json

# + AI quality analysis (requires GROQ_API_KEY in .env)
agentcard-disco score ./agent-card.json --deep

# Export report as JSON or Markdown
agentcard-disco score ./agent-card.json --format json --output report.json
agentcard-disco score ./agent-card.json --format markdown --output report.md

# CI gate — exit 1 if score is below 70%
agentcard-disco score ./agent-card.json --fail-under 70

# Get improvement suggestions only
agentcard-disco suggest ./agent-card.json --priority high

# Compare two cards side-by-side
agentcard-disco compare ./v1.json ./v2.json

Scoring dimensions

Dimension Points What it measures
Metadata Richness 0–30 Description length, tags, examples, provider info
Semantic Specificity 0–30 Filler-word ratio, skill distinctness, action-verb density
Search Alignment 0–20 Tag and keyword coverage vs A2A registry query vocabulary
Completeness 0–20 SemVer, capabilities, auth declaration, protocol version
AI Quality (--deep) 0–20 Categorical quality judgments via Groq

Grade scale:

Grade Score
A 85–100%
B 70–84%
C 50–69%
D 30–49%
F 0–29%

AI scoring setup (--deep)

  1. Install the deep extra: pip install "agentcard-disco[deep]"
  2. Add your Groq API key to a .env file in your working directory:
GROQ_API_KEY="gsk_your_key_here"
  1. Run with --deep:
agentcard-disco score ./agent-card.json --deep

Python API

from agentcard_disco.parser import load
from agentcard_disco.scoring.engine import score

card = load("agent-card.json")        # also accepts http(s):// URLs
report = score(card)                  # Tier 1 only
report = score(card, deep=True)       # + AI analysis

print(report.grade.value)            # "A", "B", ...
print(report.percentage)             # 88.0
print(report.total_score)            # 88.0

for suggestion in report.all_suggestions:
    print(suggestion.priority, suggestion.field, suggestion.message)

Commands

score

agentcard-disco score SOURCE [OPTIONS]
Option Default Description
--deep off Enable Tier 2 AI analysis (+20 pts)
--format terminal terminal, json, or markdown
--output FILE stdout Write output to file
--fail-under SCORE Exit 1 if percentage < SCORE
--no-suggestions off Hide suggestions table
--no-detail off Hide per-dimension details

suggest

agentcard-disco suggest SOURCE [OPTIONS]
Option Default Description
--priority all Filter: all, high, medium, low
--format terminal terminal or json
--limit N 20 Max suggestions to show
--deep off Include AI suggestions

compare

agentcard-disco compare SOURCE SOURCE [SOURCE ...] [OPTIONS]
Option Default Description
--format terminal terminal or json

Development

git clone https://github.com/chinemeze/agentcard-disco
cd agentcard-disco
pip install -e ".[deep]"
pip install pytest pytest-cov mypy ruff

# Run tests
pytest tests/ -v

# Lint
ruff check src/

# Type check
mypy src/

License

MIT

Release files for agentcard-disco 0.2.2

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

Source distribution (sdist)

Source distribution for agentcard-disco 0.2.2
File Size Uploaded
agentcard_disco-0.2.2.tar.gz 58.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentcard-disco 0.2.2
File Interpreter ABI Platform
agentcard_disco-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 100.9 kB

Release files / agentcard_disco-0.2.2.tar.gz

Download URL agentcard_disco-0.2.2.tar.gz
Size 58.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cf78c2fffc03f20ff755b895d98fb5e01de5b606ce8faf1627ebae477e24a896
BLAKE2b-256 checksum
How to use checksums
ffec259a2d5ef874c64a8d2205a4d5edef74663f8197189ff75c685d4067885c
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 Jun 7, 2026.

Transparency log

Release files / agentcard_disco-0.2.2-py3-none-any.whl

Download URL agentcard_disco-0.2.2-py3-none-any.whl
Size 42.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93b222f2d5bc3ed55ebf3fd8d84e7cc2aa535d2a95f334098691933840d556b3
BLAKE2b-256 checksum
How to use checksums
6487135ec56827f3cd6ae92f85d4241fe934bd462a6b099320af463a104c84d6
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 Jun 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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