protogrid

Search / io.github.Batu1-1an/istanbul-mcp

Istanbul MCP

R0· no sign-in

Read-only Istanbul open city data: transport, parking, water, nearby services and datasets.

v0.2.6 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality90strong
Trust96of 100
Uptime, 30 days96%
Latency p50322 ms

Connect

8 clients · secrets stay placeholders
{
  "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

Quality 90 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations18 of 18 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,480 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes8 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

18 tools, about 3,480 tokens to load them all · tool set ea2ba1e1ee84 · tools last changed 2026-10-25 · checked 2026-11-07 16:55 UTC

Tool changes

  • istanbul_gtfs_snapshot_statuschangedoutput schema
  • istanbul_next_departureschangedoutput schema
  • istanbul_market_schedulechangedoutput schema
  • istanbul_transport_disruptionschangedoutput schema
  • istanbul_transit_linechangedoutput schema
  • istanbul_water_statuschangedoutput schema
  • istanbul_traffic_statuschangedoutput schema
  • istanbul_nearbychangedoutput schema

Full 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.

Trust 96 / 100

provenance90
liveness98
freshness100
hygiene100

+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.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://istanbulmcp-production.up.railway.app/mcp/ streamable-httpnoneyes96%322 ms2026-07-282026-11-07

Tools (18)

istanbul_city_services_nearbyread-onlySummarize 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-onlyRun 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-onlyReturn metadata and resources for one IBB dataset.
istanbul_get_resource_schemaread-onlyReturn DataStore field schema for a resource.
istanbul_gtfs_snapshot_statusread-onlyInspect 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-onlyReturn Istanbul MCP service readiness.
istanbul_market_scheduleread-onlyReturn 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-onlyReturn 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-onlySummarize 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-onlyFind 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-onlyReturn a joined neighborhood profile from social, building, and earthquake scenario records.
istanbul_next_departuresread-onlySearch 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-onlyQuery 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-onlySearch the IBB open data catalog.
istanbul_traffic_statusread-onlyReturn Istanbul citywide traffic index.
istanbul_transit_lineread-onlyGet 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-onlyReturn current official disruptions and service announcements across supported transport operators.
istanbul_water_statusread-onlyGet 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.

Similar MCP servers

Official server.json
{
  "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."
}