gtfs-scorecard
The scoring pipeline, command-line tool, and read-only MCP server behind GTFS Scorecard, which grades public GTFS Schedule feeds and turns validator notices into plain-language fixes.
What it does
scorecard try <feed-url>scores one GTFS Schedule zip with the MobilityData validator (Java 17 or newer must be onPATH) and prints the grade, the category scores, and the top fixes.scorecard-mcpis a read-only Model Context Protocol server over stdio. Its tools read the published scorecards on gtfsscorecard.org: search tracked agencies, get a scorecard and its fixes, read a feed's grade history, and explain a validator finding. It needs no key and has no write surface.gtfs-scorecardis the same MCP server under the distribution's name, souvx gtfs-scorecardstarts it.
The Python import package is scorecard_pipeline. The distribution was named
scorecard-pipeline until 1.5.1; PyPI refused that name as too similar to an
existing project, and nothing was uploaded under it.
Install
Once gtfs-scorecard is on PyPI, these work:
uvx gtfs-scorecard
uvx --from gtfs-scorecard scorecard try https://example.org/gtfs.zip
pip install gtfs-scorecard
The first starts the MCP server. The second runs the command-line tool, which
has its own name, so uvx needs --from to find the package that provides it.
Check https://pypi.org/project/gtfs-scorecard/ for the versions that exist.
Before then, or to run code that is not released yet, install from the
repository:
uvx --from "git+https://github.com/ChelseaKR/gtfs-scorecard#subdirectory=pipeline" scorecard-mcp
Connect an assistant
An MCP client config that starts the server from PyPI (once it is there; use the repository form above until then):
{
"mcpServers": {
"gtfs-scorecard": {
"command": "uvx",
"args": ["gtfs-scorecard"]
}
}
}
Set SCORECARD_BASE_URL to point it at a fork or a local preview.
More
- Site and scorecards: https://gtfsscorecard.org/
- Report bundle for programs that support many agencies: https://gtfsscorecard.org/bundle/
- MCP tools and what they refuse to say: https://github.com/ChelseaKR/gtfs-scorecard/blob/main/docs/mcp.md
- GitHub Action that gates a build on a feed's grade: https://github.com/marketplace/actions/gtfs-scorecard-gate
- Source, issues, and changelog: https://github.com/ChelseaKR/gtfs-scorecard
Apache-2.0.
Metadata
Release files for gtfs-scorecard 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gtfs_scorecard-1.5.1.tar.gz | 874.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gtfs_scorecard-1.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / gtfs_scorecard-1.5.1.tar.gz
| Download URL | gtfs_scorecard-1.5.1.tar.gz |
|---|---|
| Size | 874.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4aeeedd704344831adfb4b3bc2fa7b30357ac8a2477d358279b7dc4e1c3b6f02
|
|
BLAKE2b-256 checksum How to use checksums |
16a108135b3e0a19a93b7e11fb416b965ba6d83abdbd1e8c16ecbf770b2650e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 11, 2026.
Transparency logRelease files / gtfs_scorecard-1.5.1-py3-none-any.whl
| Download URL | gtfs_scorecard-1.5.1-py3-none-any.whl |
|---|---|
| Size | 959.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bd1d7cc15f522a9c5ad3bebaaef72faefb356c885b85bc8f0f8e803028067b4
|
|
BLAKE2b-256 checksum How to use checksums |
ec798b29f75dd1ddcf1d8349b53c8ea069d7ac1a7ffda50616c53aef6749f2de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 11, 2026.
Transparency log