# GTFS Scorecard (pypi · gtfs-scorecard)

Read-only GTFS transit feed scorecards: grades, plain-language fixes, and history.

- Trust score: 65/100 (medium)
- Change this week: +30
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-19

## Components

- pypi · `gtfs-scorecard`: 65/100 (this document), [markdown](https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard.md), [page](https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard)

## Channel facts

- Registry: `pypi`
- Package: `gtfs-scorecard`
- Version: `1.5.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-19.

- **Supply Chain Security**: 50/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 16 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to ChelseaKR/gtfs-scorecard).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 7 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 74/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 744 tokens (~82/item across 9 items; 9 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the GTFS Scorecard MCP server?

GTFS Scorecard runs locally as a PyPI package, launched with uvx gtfs-scorecard. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add chelseakr-gtfs-scorecard -- uvx gtfs-scorecard
```

### Cursor

```json
{
  "mcpServers": {
    "chelseakr-gtfs-scorecard": {
      "command": "uvx",
      "args": [
        "gtfs-scorecard"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "chelseakr-gtfs-scorecard": {
      "command": "uvx",
      "args": [
        "gtfs-scorecard"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add chelseakr-gtfs-scorecard -- uvx gtfs-scorecard
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chelseakr-gtfs-scorecard": {
      "type": "local",
      "command": [
        "uvx",
        "gtfs-scorecard"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add chelseakr-gtfs-scorecard --command uvx --arg gtfs-scorecard
```

### Hermes

```yaml
mcp_servers:
  chelseakr-gtfs-scorecard:
    command: "uvx"
    args: ["gtfs-scorecard"]
```

### Netclaw

```json
{
  "McpServers": {
    "chelseakr-gtfs-scorecard": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "gtfs-scorecard"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add chelseakr-gtfs-scorecard -t stdio -c uvx -a gtfs-scorecard
```

### Other

```json
{
  "mcpServers": {
    "chelseakr-gtfs-scorecard": {
      "command": "uvx",
      "args": [
        "gtfs-scorecard"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-14 (score 65, +15)

- [security regression] Malware scan: pass → unverified
- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: good
- [functional] First check of Tool coverage: 100

### 2026-10-13 (score 50, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-12 (score 35)

First indexed and scored.

## MCP tools (9)

### `search_agencies` (~151 tokens)

Search tracked transit agencies by name, id, ISO country, ISO subdivision or subdivision name, legacy state, or letter grade. Returns portable location, grade, score, expiry, and applicable readiness fields.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 country code, e.g. CA
- `grade` (string): Letter grade A-F
- `limit` (integer): Max results (default 20)
- `query` (string): Name fragment or exact agency id
- `state` (string): Legacy state/province-name filter; prefer subdivision
- `subdivision` (string): ISO 3166-2 code or subdivision name, e.g. CA-ON or Ontario

### `get_scorecard` (~61 tokens)

An agency's latest scorecard: overall grade, category scores and plain-language summaries, every finding with its fix and effort, top fixes, and NTD GTFS readiness.

Input parameters:

- `agency_id` (string, required): Agency slug, e.g. 'unitrans'

### `national_stats` (~42 tokens)

Legacy United States policy view: NTD GTFS readiness nationally and by state, plus the backwards-compatible covered-corpus stats member. Prefer coverage_stats for geography-neutral totals.

### `coverage_stats` (~27 tokens)

Coverage-wide quality totals and portable country/subdivision rollups over the feeds this scorecard tracks.

### `get_history` (~138 tokens)

One feed's dated grade and score history, with every measurement-contract boundary marked. A point marked comparable_with_previous: false was scored under a different rubric, scoring profile, validator, reader archive profile, or measured-category set, and the difference across it is not a change in the feed. Also reports findings that appeared or cleared between the two most recent snapshots, but only when those two are comparable.

Input parameters:

- `agency_id` (string, required): Agency slug, e.g. 'unitrans'
- `limit` (integer): Max dated points (default and ceiling 120)
- `since` (string): Earliest snapshot date to include, YYYY-MM-DD

### `explain_finding` (~108 tokens)

The fix recipe for one validator or scorecard notice code, its authoritative rule link, and, when a producing tool is named, that tool's fix path. A code with no written recipe returns the rule link alone and says so; nothing is described beyond what is written.

Input parameters:

- `code` (string, required): Notice code, e.g. 'expired_calendar'
- `tool` (string): Optional producing-tool key: trillium, gtfs_builder, remix, passio, repo, or archive

### `get_rollup` (~64 tokens)

One program rollup: the cohort's shared fixes, grade distribution, and the members needing attention. Shared fixes describe work many feeds share; they are not a ranking of agencies.

Input parameters:

- `rollup_id` (string, required): Rollup id, e.g. 'california'

### `get_evidence_packet` (~61 tokens)

The deterministic vendor remediation packet for one agency's latest scorecard: the producer contract, the work items with their acceptance tests, and the feed identity they were measured against.

Input parameters:

- `agency_id` (string, required): Agency slug, e.g. 'unitrans'

### `coverage_for` (~92 tokens)

Covered-set totals for one ISO country, or one subdivision inside it. A place this scorecard does not track is reported as not covered rather than as zero feeds: absence of coverage is not absence of transit data.

Input parameters:

- `country` (string, required): ISO 3166-1 alpha-2 country code, e.g. US
- `subdivision` (string): Optional ISO 3166-2 code or subdivision name

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard#diagnostics

## Score history

- 2026-10-19: 65
- 2026-10-18: 65
- 2026-10-17: 65
- 2026-10-16: 65
- 2026-10-15: 65
- 2026-10-14: 65
- 2026-10-13: 50
- 2026-10-12: 35

## Common questions

### What is the GTFS Scorecard MCP server?

GTFS Scorecard is an MCP server listed in the public MCP registry as io.github.ChelseaKR/gtfs-scorecard. Read-only GTFS transit feed scorecards: grades, plain-language fixes, and history. This page covers its PyPI package (gtfs-scorecard).

### Is the GTFS Scorecard MCP server safe to use?

GTFS Scorecard scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 19 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the GTFS Scorecard MCP server expose?

GTFS Scorecard exposes 9 tools: search_agencies, get_scorecard, national_stats, coverage_stats, get_history, and 4 more. Their descriptions and schemas cost roughly 744 tokens of context every time the server is loaded.

### Is the GTFS Scorecard MCP server still maintained?

GTFS Scorecard is still listed as active in the MCP registry. We last reached this channel on 19 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the GTFS Scorecard MCP server under?

GTFS Scorecard declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/gtfs-scorecard/
- Socket report: https://socket.dev/pypi/package/gtfs-scorecard
- Repository: https://github.com/ChelseaKR/gtfs-scorecard
- Website: https://gtfsscorecard.org/
- Changelog RSS feed: https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard.xml
- Changelog JSON feed: https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard.json
- HTML version of this page: https://verifymcp.io/servers/chelseakr-gtfs-scorecard/gtfs-scorecard
