Istanbul MCP
A remote, read-only Model Context Protocol server that exposes Istanbul open city data, including transport, parking, water, and nearby services, allowing AI agents and developer tools to access public datasets via a single endpoint.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://istanbulmcp-production.up.railway.app/mcp/What you can do with it
- Check Istanbul parking availability and traffic data
- Query water outage and reservoir levels
- Find nearby pharmacies and libraries
- Access neighborhood profiles and public datasets
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- istanbul-mcp 0.2.6
- MCP protocol
- 2025-06-18
- Tools
- 18 advertised
- Resources
- 3 advertised
- Resource templates
- 0 advertised
- Prompts
- 4 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
18 advertised
istanbul_health — İstanbul servis durumu
Return Istanbul MCP service readiness.
{
"type": "object",
"title": "istanbul_healthArguments",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_search_datasets — İBB veri seti arama
Search the IBB open data catalog.
{
"type": "object",
"title": "istanbul_search_datasetsArguments",
"required": [
"query"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"query": {
"type": "string",
"title": "Query"
},
"formats": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Formats",
"default": null
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_get_dataset — İBB veri seti bilgileri
Return metadata and resources for one IBB dataset.
{
"type": "object",
"title": "istanbul_get_datasetArguments",
"required": [
"dataset_id"
],
"properties": {
"dataset_id": {
"type": "string",
"title": "Dataset Id"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_get_resource_schema — İBB kaynak kolonları
Return DataStore field schema for a resource.
{
"type": "object",
"title": "istanbul_get_resource_schemaArguments",
"required": [
"resource_id"
],
"properties": {
"resource_id": {
"type": "string",
"title": "Resource Id"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_query_resource — İBB kaynak kayıtları
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.
{
"type": "object",
"title": "istanbul_query_resourceArguments",
"required": [
"resource_id"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"filters": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Filters",
"default": null
},
"resource_id": {
"type": "string",
"title": "Resource Id"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_nearby — Yakındaki İstanbul hizmetleri
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.
{
"type": "object",
"title": "istanbul_nearbyArguments",
"properties": {
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null
},
"lon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null
},
"bbox": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
],
"title": "Bbox",
"default": null
},
"kind": {
"enum": [
"city_feature",
"parking",
"pharmacy",
"istanbulkart",
"social_facility",
"metro_station",
"air_quality",
"water_fault"
],
"type": "string",
"title": "Kind",
"default": "city_feature"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"types": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Types",
"default": null
},
"district": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "District",
"default": null
},
"radius_m": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Radius M",
"default": null
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_traffic_status — İstanbul trafik yoğunluğu
Return Istanbul citywide traffic index.
{
"type": "object",
"title": "istanbul_traffic_statusArguments",
"properties": {}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_water_status — İSKİ su ve baraj durumu
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.
{
"type": "object",
"title": "istanbul_water_statusArguments",
"properties": {
"kind": {
"enum": [
"faults",
"dams"
],
"type": "string",
"title": "Kind",
"default": "faults"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"dam_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dam Name",
"default": null
},
"district": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "District",
"default": null
},
"fault_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fault Number",
"default": null
},
"min_occupancy": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Occupancy",
"default": null
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_mobility_nearby — Yakındaki ulaşım seçenekleri
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.
{
"type": "object",
"title": "istanbul_mobility_nearbyArguments",
"properties": {
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null
},
"lon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Place",
"default": null
},
"district": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "District",
"default": null
},
"radius_m": {
"type": "integer",
"title": "Radius M",
"default": 1500
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_city_services_nearby — Yakındaki WiFi ve kütüphaneler
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.
{
"type": "object",
"title": "istanbul_city_services_nearbyArguments",
"properties": {
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null
},
"lon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Place",
"default": null
},
"district": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "District",
"default": null
},
"radius_m": {
"type": "integer",
"title": "Radius M",
"default": 1500
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_neighborhood_profile — İstanbul mahalle profili
Return a joined neighborhood profile from social, building, and earthquake scenario records.
{
"type": "object",
"title": "istanbul_neighborhood_profileArguments",
"required": [
"district"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"district": {
"type": "string",
"title": "District"
},
"neighborhood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Neighborhood",
"default": null
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_transit_line — İETT hat bilgileri ve tarifesi
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.
{
"type": "object",
"title": "istanbul_transit_lineArguments",
"required": [
"line_code"
],
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"action": {
"enum": [
"info",
"stops",
"departures"
],
"type": "string",
"title": "Action",
"default": "info"
},
"line_code": {
"type": "string",
"title": "Line Code"
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_transport_disruptions — Ulaşım aksaklıkları ve duyurular
Return current official disruptions and service announcements across supported transport operators.
{
"type": "object",
"title": "istanbul_transport_disruptionsArguments",
"properties": {
"line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Line",
"default": null
},
"mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mode",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_metro_accessibility_status — Metro ekipman ve arıza durumu
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.
{
"type": "object",
"title": "istanbul_metro_accessibility_statusArguments",
"properties": {
"line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Line",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"station": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Station",
"default": null
},
"equipment_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Equipment Type",
"default": null
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_datastore_query — Sınırlı açık veri SQL sorgusu
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
{
"type": "object",
"title": "istanbul_datastore_queryArguments",
"required": [
"resource_id",
"sql"
],
"properties": {
"sql": {
"type": "string",
"title": "Sql"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"resource_id": {
"type": "string",
"title": "Resource Id"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_market_schedule — İstanbul pazar takvimi
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.
{
"type": "object",
"title": "istanbul_market_scheduleArguments",
"properties": {
"day": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Day",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"district": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "District",
"default": null
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_next_departures — Planlı GTFS durak kalkışları
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.
{
"type": "object",
"title": "istanbul_next_departuresArguments",
"properties": {
"at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "At",
"default": null
},
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null
},
"lon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null
},
"line": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Line",
"default": null
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit",
"default": null
},
"stop_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Stop Id",
"default": null
},
"radius_m": {
"type": "integer",
"title": "Radius M",
"default": 500
},
"stop_query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Stop Query",
"default": null
}
}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}istanbul_gtfs_snapshot_status — GTFS tarife anlık görüntü durumu
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.
{
"type": "object",
"title": "istanbul_gtfs_snapshot_statusArguments",
"properties": {}
}{
"type": "object",
"$defs": {
"Repair": {
"type": "object",
"title": "Repair",
"required": [
"next_step"
],
"properties": {
"tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tool",
"default": null
},
"arguments": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Arguments",
"default": null
},
"next_step": {
"type": "string",
"title": "Next Step"
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"name"
],
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Human-readable source page for citations; null when the source is only an API endpoint or data file."
},
"name": {
"type": "string",
"title": "Name"
},
"modes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Modes",
"default": null
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License",
"default": "Istanbul Metropolitan Municipality Open Data License"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator",
"default": null
},
"publisher": {
"type": "string",
"title": "Publisher",
"default": "Istanbul Metropolitan Municipality"
},
"dataset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dataset Id",
"default": null
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resource Id",
"default": null
},
"coverage_kind": {
"anyOf": [
{
"enum": [
"live_status",
"official_announcements",
"published_timetable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Kind",
"default": null
},
"matched_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Matched Total",
"default": null
},
"skipped_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Skipped Total",
"default": null
},
"accepted_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Accepted Total",
"default": null
},
"received_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Received Total",
"default": null
},
"reported_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Reported Total",
"default": null
},
"returned_total": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Total",
"default": null
},
"coverage_status": {
"anyOf": [
{
"enum": [
"checked",
"unavailable"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Status",
"default": null
},
"last_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Checked At",
"default": null
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
},
"last_successful_refresh_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Successful Refresh At",
"default": null
}
}
},
"ErrorInfo": {
"type": "object",
"title": "ErrorInfo",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code"
},
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field",
"default": null
},
"repair": {
"anyOf": [
{
"$ref": "#/$defs/Repair"
},
{
"type": "null"
}
],
"default": null
},
"temporary": {
"type": "boolean",
"title": "Temporary",
"default": false
},
"retry_after_ms": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Retry After Ms",
"default": null
}
}
},
"Freshness": {
"type": "object",
"title": "Freshness",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"fresh",
"stale",
"unknown",
"broken"
],
"type": "string",
"title": "Status"
},
"ttl_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ttl Seconds",
"default": null
},
"retrieved_at": {
"type": "string",
"title": "Retrieved At"
},
"source_updated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Updated At",
"default": null
}
}
},
"Pagination": {
"type": "object",
"title": "Pagination",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"total_estimate": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Estimate",
"default": null
}
}
},
"ResultInfo": {
"type": "object",
"title": "ResultInfo",
"required": [
"returned"
],
"properties": {
"scope": {
"type": "string",
"title": "Scope",
"default": "data"
},
"matched": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Matched",
"default": null
},
"returned": {
"type": "integer",
"title": "Returned",
"minimum": 0
},
"next_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Step",
"default": null
},
"truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Truncated",
"default": null
}
}
}
},
"title": "ResponseEnvelope",
"required": [
"summary",
"freshness"
],
"properties": {
"ok": {
"type": "boolean",
"title": "Ok",
"default": true
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Data"
},
"error": {
"anyOf": [
{
"$ref": "#/$defs/ErrorInfo"
},
{
"type": "null"
}
],
"default": null
},
"limits": {
"type": "array",
"items": {
"type": "string"
},
"title": "Limits"
},
"geojson": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Geojson",
"default": null
},
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/Source"
},
"title": "Sources"
},
"summary": {
"type": "string",
"title": "Summary"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"title": "Warnings"
},
"freshness": {
"$ref": "#/$defs/Freshness"
},
"pagination": {
"anyOf": [
{
"$ref": "#/$defs/Pagination"
},
{
"type": "null"
}
],
"default": null
},
"result_info": {
"anyOf": [
{
"$ref": "#/$defs/ResultInfo"
},
{
"type": "null"
}
],
"default": null
},
"next_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Next Queries"
}
}
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
4 advertised
gunun_ozeti
İstanbul için trafik, su ve ulaşım uyarılarından kaynak-sınırlı bir günlük özet hazırla.
- district
- No description
mahalle_ozeti
İlçe/mahalle için tarihsel sosyal, yapı ve deprem senaryosu verilerini sınırlarıyla özetle.
- district
- No description (required)
- neighborhood
- No description
veri_kesfi
İBB veri setlerini keşfet, kaynak şemasını incele ve sınırlı bir kayıt sorgusu tasarla.
- query
- No description (required)
yolculuk_plani
Başlangıç/varış ve isteğe bağlı İETT hattı için doğrulanabilir ulaşım bilgilerini topla.
- origin
- No description (required)
- destination
- No description (required)
- line_code
- No description
Resources
3 advertised
istanbul_coverage — İstanbul veri kapsamı
Supported capabilities and configuration gates, not live source health.
istanbul://coverageistanbul_sources — İstanbul veri kaynakları
Canonical publishers and public source references; no secrets or deployment URLs.
istanbul://sourcesistanbul_catalog_schema — Katalog keşif şeması
Catalog tool inputs, envelope schema and query bounds, not a live DataStore field schema.
istanbul://schema/catalog30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1680 ms
- 95th percentile latency
- 1680 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1680 ms · metadata changed · 18 tool(s), 3 resource(s), 0 resource template(s), 4 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http istanbul-mcp https://istanbulmcp-production.up.railway.app/mcp/Codex
codex mcp add istanbul-mcp --url https://istanbulmcp-production.up.railway.app/mcp/Cursor
{
"mcpServers": {
"istanbul-mcp": {
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}Cline
{
"mcpServers": {
"istanbul-mcp": {
"type": "streamableHttp",
"url": "https://istanbulmcp-production.up.railway.app/mcp/",
"disabled": false
}
}
}VS Code
{
"servers": {
"istanbul-mcp": {
"type": "http",
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}Gemini CLI
gemini mcp add --transport http istanbul-mcp https://istanbulmcp-production.up.railway.app/mcp/Claude Desktop
{
"mcpServers": {
"istanbul-mcp": {
"url": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}Windsurf
{
"mcpServers": {
"istanbul-mcp": {
"serverUrl": "https://istanbulmcp-production.up.railway.app/mcp/"
}
}
}Let your agent find its tools
Find servers like Istanbul MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.