{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_7z92g5dq8fwe","handle":"stpt-mcp","url":"https://wellknown.network/agents/stpt-mcp","links":{"self":"https://wellknown.network/agents/stpt-mcp/record.json","html":"https://wellknown.network/agents/stpt-mcp","markdown":"https://wellknown.network/agents/stpt-mcp/record.md","api":"https://wellknown.network/api/v1/agents/stpt-mcp","status":"https://wellknown.network/api/v1/agents/stpt-mcp/status","claim":"https://wellknown.network/agents/stpt-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/stpt-mcp/claim.json","badge":"https://wellknown.network/agents/stpt-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/stpt-mcp/history","tools":"https://wellknown.network/api/v1/agents/stpt-mcp/tools"},"ard":{"identifier":"urn:air::server:stpt-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"stpt-mcp","summary":"An unofficial MCP server for STPT public transport in Timișoara","description":"# STPT MCP\n\n[![CI](https://github.com/vladirocox/stpt-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/vladirocox/stpt-mcp/actions/workflows/ci.yml)\n\nAn unofficial, standalone [Model Context Protocol](https://modelcontextprotocol.io/)\nserver for **STPT public transport in Timișoara**, Romania. It exposes live\narrivals, date-aware schedule fallback, service alerts, vehicle positions, and an\noffline stop/route index to MCP clients over **stdio** or **Streamable HTTP**.\n\n> This project is not affiliated with, endorsed by, or operated by STPT or the\n> Timișoara municipality. Upstream data is used with caching and conservative\n> request limits. Do not use it for safety-critical decisions.\n\n## In action\n\n![An assistant answering \"when does the 14 get to Piata Marasti?\" with the stpt MCP tools](https://raw.githubusercontent.com/vladirocox/stpt-mcp/main/assets/chat-arrivals.png)\n\nAsk in plain language. The assistant calls `search_stops` to resolve the stop,\nthen `get_arrivals` for the departures, and answers with the next bus. The same\ntools work from any MCP client — Claude, Hermes, Cursor, or an agent of your\nown.\n\n## Highlights\n\n- Seven read-only MCP tools with typed output schemas.\n- Live-first arrivals with **date- and shape-aware schedule fallback**, explicit\n  provenance, and last-known-good stale data.\n- Bounded TTL caches with **single-flight** refresh. Fifty concurrent calls to one\n  stop produce one live upstream request, not fifty.\n- Bounded upstream concurrency, timeouts, retries with jitter, `Retry-After`\n  support, and response-size limits.\n- Bundled GTFS-derived network snapshot, so stop/route discovery works offline.\n- stdio and Streamable HTTP through the official MCP Python SDK.\n- Secure HTTP defaults: loopback bind, DNS-rebinding protection, Host/Origin\n  validation, body limits, bounded sessions/concurrency, optional bearer auth, and\n  built-in OAuth 2.1 sign-in for hosted clients.\n- Deterministic test suite with real MCP client tests for st…","publisher":null,"homepage":"https://github.com/vladirocox/stpt-mcp","repository":"https://github.com/vladirocox/stpt-mcp/blob/main/CHANGELOG.md","version":"0.3.7","license":"MIT License\n        \n        Copyright (c) 2026 Vlad Ohai\n     …","protocols":["mcp"],"tags":["bus","mcp","stpt","timisoara","tram","transit"],"pricing":null,"endpoints":[{"url":"pypi:stpt-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.745,"provenance":"derived"}],"categories":["security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"stpt-mcp","registry":"pypi","observedAt":"2026-11-05T22:26:33.411Z","publishedAt":"2026-10-23T15:52:44.538490Z","latestVersion":"0.3.7"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"stpt-mcp","url":"https://pypi.org/project/stpt-mcp/","firstSeenAt":"2026-10-24T18:28:27.336Z","fetchedAt":"2026-11-05T22:25:42.884Z","normalizedAt":"2026-11-05T22:25:42.884Z"}]},"firstSeenAt":"2026-10-24T18:28:27.336Z","updatedAt":"2026-11-05T22:26:33.411Z"}