Search / io.github.Batu1-1an/istanbul-mcp
Istanbul MCP
R0· no sign-inRead-only Istanbul open city data: transport, parking, water, nearby services and datasets.
v0.2.6 · active · repository · website · descriptor JSON · versions
Search / io.github.Batu1-1an/istanbul-mcp
R0· no sign-inRead-only Istanbul open city data: transport, parking, water, nearby services and datasets.
v0.2.6 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"istanbul-mcp": {
"type": "http",
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}claude mcp add --transport http istanbul-mcp https://istanbulmcp-production.up.railway.app/mcp/[mcp_servers.istanbul-mcp]
url = "https://istanbulmcp-production.up.railway.app/mcp/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"istanbul-mcp": {
"type": "remote",
"url": "https://istanbulmcp-production.up.railway.app/mcp/",
"enabled": true
}
}
}{
"mcpServers": {
"istanbul-mcp": {
"type": "http",
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=istanbul-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaXN0YW5idWxtY3AtcHJvZHVjdGlvbi51cC5yYWlsd2F5LmFwcC9tY3AvIn0%3D"
}{
"servers": {
"istanbul-mcp": {
"type": "http",
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}{
"mcpServers": {
"istanbul-mcp": {
"httpUrl": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}extensions:
"istanbul-mcp":
enabled: true
name: "istanbul-mcp"
type: streamable_http
uri: "https://istanbulmcp-production.up.railway.app/mcp/"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations18 of 18 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 3,480 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes8 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageistanbul_gtfs_snapshot_statuschangedoutput schemaistanbul_next_departureschangedoutput schemaistanbul_market_schedulechangedoutput schemaistanbul_transport_disruptionschangedoutput schemaistanbul_transit_linechangedoutput schemaistanbul_water_statuschangedoutput schemaistanbul_traffic_statuschangedoutput schemaistanbul_nearbychangedoutput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-96% +updated-13d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://istanbulmcp-production.up.railway.app/mcp/ streamable-http | none | yes | 96% | 322 ms | 2026-07-28 | 2026-11-07 |
istanbul_city_services_nearbyread-only | Summarize WiFi near a static reference point and district-level libraries/culture. district (all 39 Istanbul districts) is exclusive with place/coordinates; district-only place names also return district address lists, without WiFi or invented distances. Radius applies only to WiFi with a point. For Acıbadem, specify 'Acıbadem, Kadıköy' or 'Acıbadem, Üsküdar'. Not full address geocoding. |
istanbul_datastore_queryread-only | Run a bounded SELECT over records from one allowlisted CKAN resource. SQLite dialect: use table records and published column names. GROUP BY and aggregates are supported; no writes, arbitrary functions or application DB. A complete bounded capture is required, never partial counts. The server enforces an outer result limit (default 20, max 100) even if SQL omits LIMIT. Only resources configured in CKAN_SQL_ALLOWED_RESOURCE_IDS are available. Local query syntax and bounds: https://github.com/Batu1-1an/istanbulmcp/blob/main/docs/datastore-sql.md Source API: https://docs.ckan.org/en/latest/maintaining/datastore.html |
istanbul_get_datasetread-only | Return metadata and resources for one IBB dataset. |
istanbul_get_resource_schemaread-only | Return DataStore field schema for a resource. |
istanbul_gtfs_snapshot_statusread-only | Inspect local GTFS load age, calendar validity, row counts and skipped rows. No upstream request or refresh is made. A missing or warming snapshot is unavailable, not an empty timetable. Cache age is not feed publication age; a loaded snapshot does not prove live arrivals or transport service. |
istanbul_healthread-only | Return Istanbul MCP service readiness. |
istanbul_market_scheduleread-only | Return the published weekly İBB market schedule, optionally by district/day. day accepts Turkish/English weekdays, today/yesterday/tomorrow, or an ISO date. Results are a static weekly schedule, not proof a market is open today; coordinates are source points and maps_url is a map search link. |
istanbul_metro_accessibility_statusread-only | Return official Metro İstanbul equipment/total counts and current equipment fault details, optionally filtered by line, station, or equipment type. This is not an end-to-end accessibility guarantee. |
istanbul_mobility_nearbyread-only | Summarize mobility near a static place reference or coordinates. district (all 39 Istanbul districts) is exclusive with place/coordinates and returns parking only, without distances. District-only place names do the same. For Acıbadem specify 'Acıbadem, Kadıköy' or 'Acıbadem, Üsküdar'. Not address geocoding. |
istanbul_nearbyread-only | Find city services by kind and coordinates, or parking/pharmacy by district. bbox and types apply only to city_feature (parking, metro_station, air_quality_station, public_transport_stop, wifi, ev_charging, taxi_stand, market). air_quality includes latest readings; city_feature has station locations only. Static layers return published locations, not live status. District lists have no distances. Pharmacy records include name, district, address, phone, map links, provenance and freshness; maps_search_url is address search, not a verified pin. Pharmacy duty-end times are not guaranteed. Card/social locations are static, not live operating status. |
istanbul_neighborhood_profileread-only | Return a joined neighborhood profile from social, building, and earthquake scenario records. |
istanbul_next_departuresread-only | Search GTFS stop names or return published departures for selected stops. Use stop_query with limit only to discover stop_id candidates by name, including Turkish/ASCII spellings (Kadıköy/kadikoy). This mode returns stops, NOT departures. Same-name stops remain separate; never choose the first automatically. Approximate spelling suggestions are labeled, not matches. Ask the user to select a candidate using name/map, then call with stop_id. stop_code identifies the published stop sign when present. stop_desc and platform_direction_text preserve source text; they are not inferred route directions. Missing metadata stays null; districts are not inferred. at is an ISO datetime with a UTC offset; omitted means now in Europe/Istanbul. The search covers 24 hours. stop_id and coordinates are mutually exclusive. line matches the published route short name. Times are scheduled, never live ETA, delays or proof of service. Outside-calendar queries are unavailable. |
istanbul_query_resourceread-only | Query IBB CKAN DataStore records with guarded filters and limits. API reference: https://docs.ckan.org/en/latest/maintaining/datastore.html Uses datastore_search, not SQL; field names come from the resource schema. |
istanbul_search_datasetsread-only | Search the IBB open data catalog. |
istanbul_traffic_statusread-only | Return Istanbul citywide traffic index. |
istanbul_transit_lineread-only | Get IETT line info, ordered stops or planned main-terminal departures. limit applies only to departures. This is not live intermediate-stop ETA. Cross-operator service notices are provided by istanbul_transport_disruptions. |
istanbul_transport_disruptionsread-only | Return current official disruptions and service announcements across supported transport operators. |
istanbul_water_statusread-only | Get ISKI active faults (district or fault_number) or dam occupancy. Dam filters apply only to dams; fault_number is exclusive with district. Nearby faults are provided by istanbul_nearby(kind="water_fault"). Results carry fallback freshness and approximate fault locations; no restoration guarantee. |
Schemas: list_tools.
{
"name": "io.github.Batu1-1an/istanbul-mcp",
"title": "Istanbul MCP",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://istanbulmcp-production.up.railway.app/mcp/",
"type": "streamable-http"
}
],
"version": "0.2.6",
"repository": {
"url": "https://github.com/Batu1-1an/istanbulmcp",
"source": "github"
},
"websiteUrl": "https://github.com/Batu1-1an/istanbulmcp#readme",
"description": "Read-only Istanbul open city data: transport, parking, water, nearby services and datasets."
}