Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for transitland-mcp-server

Pod holds 6 of 6 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to transitland-mcp-server.

Most discussed

chore(Dockerfile): drop unused MirrorService .cache/.mirror directories

The production stage creates and chowns /usr/src/app/.cache and /usr/src/app/.mirror for "on-disk SQLite stores (catalog index / observations mirror)" — that's the framework's MirrorService, a Tier 3 opt-in feature. This server doesn't use it: transitland-service.ts is a thin HTTP client with no SQLite/mirror usage anywhere in src/.

Proposal

Drop the .cache/.mirror mkdir/chown step from the Dockerfile (or gate it behind a comment matching the already-conditional "Mirror CLI

Read the thread · 2026-08-22 · closed · 1 comment

feat(config): default MCP_SESSION_MODE to stateless across env, Docker, and src

Dockerfile sets ENV MCP_SESSION_MODE="stateless", but .env.example carries a commented # MCP_SESSION_MODE=stateful, whose comment documents the value set as stateful | stateless (default: stateful). The container and the same code run via bunx, npm start, or from source therefore resolve to different session modes — stateless in Docker, stateful everywhere else, since the framework schema defaults to auto and auto resolves to stateful.

Related: cyanheads/mcp-ts-core#376

Read the thread · 2026-08-22 · open · 0 comments

bug(test:coverage): script fails — coverage below the framework's inherited 94/87 thresholds

Server version

0.1.1

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

N/A (dev tooling)

Description

bun run test:coverage (added in 0.1.1) always exits non-zero. The framework's shared vitest.config sets global coverage thresholds of 94% lines/functions/statements and 87% branches, and this server's vitest.config.ts inherits them without a local override. Actual coverage is well under that floor.

Steps to reproduce

  1. `bun

Read the thread · 2026-08-22 · open · 0 comments

feat(transitland-service): map extended GTFS route types (100–1799) to human modes

Use case

ROUTE_TYPE_MODES in src/services/transitland/transitland-service.ts only maps the basic GTFS route_type values 0–12. The extended GTFS route types (100–1799) all fall through to the type N placeholder, so the human mode label is unhelpful for the many feeds — common across Europe and beyond — that use them. This server has global coverage, so it surfaces these feeds constantly.

**Verified live (

Read the thread · 2026-06-30 · open · 0 comments

docs(find_stops): search is a working standalone filter but omitted from the description and no_filter guidance

transitland_find_stops accepts search alone as a sufficient filter — the handler guard includes !!input.search (find-stops.tool.ts:185), and /stops?search=… filters correctly upstream (verified live: search=Powell returns only Powell-named stops) — but the tool description and the no_filter error both omit search from the "provide at least one of" list:

  • Description: "Provide at least one of: lat+lon, bbox, onestop_id, or served_by_onestop_ids."
  • no_filter when: *"No coo

Read the thread · 2026-06-30 · open · 0 comments

bug(transitland-service): normalization fabricates (0,0) coordinates and "bus" mode for missing upstream fields

Server version

0.1.0

mcp-ts-core version

0.10.6

Runtime

Bun

Runtime version

Bun 1.3.11

Transport

stdio

Description

The normalization layer substitutes fabricated defaults for missing upstream fields instead of preserving "unknown" — which the server elsewhere (license fields) is careful to do. Two spots in src/services/transitland/transitland-service.ts:

  1. normalizeStop fabricates (0, 0) coordinates. When geometry is null/absent, lat/lon fall

Read the thread · 2026-06-30 · open · 0 comments

Most recent

The remaining reports are on the project's issue tracker.