ImmigrationDB
Read-only migration data: cities, visa routes, entry rules, costs, safety, climate, with sources.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"immigrationdb": {
"url": "https://immigrationdb.com/mcp"
}
}
}Remote-Endpunkte
https://immigrationdb.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (15)
🟢search_destinations(query, limit, cursor)
Arguments: query (required), limit, cursor. Search admitted ImmigrationDB country and city identities with bounded cursor pagination. Example: {"query":"Berlin, Germany","limit":5} Boundary: Returns ranked public identities; it does not guess a missing country or expose data-only records.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"query"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Search destinations result"
}🟢get_city(country, slug, detail, metric_ids)
Arguments: country (required), slug (required). Get one admitted city with canonical URL, claim-level facts and source metadata. Required arguments are exactly `country` (ISO 3166-1 alpha-2) and `slug` (the canonical city slug, e.g. "berlin" — not the display name). Example: {"country":"de","slug":"berlin"} Boundary: Returns the backwards-compatible full city record by default; use get_city_fact for one metric.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"slug": {
"type": "string",
"minLength": 1
},
"detail": {
"type": "string",
"enum": [
"summary",
"full"
]
},
"metric_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50
}
},
"required": [
"country",
"slug"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get city result"
}🟢get_country(cc)
Arguments: cc (required). Get one admitted country page record and official visa-route handoffs. It takes exactly one argument: `cc`, the ISO 3166-1 alpha-2 country code (e.g. "de") — not `country`. Example: {"cc":"de"} Boundary: Only public country records and their published handoffs are returned.
Eingabe-Schema
{
"type": "object",
"properties": {
"cc": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
}
},
"required": [
"cc"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get country result"
}🟢search_visa_routes(destination, purpose, limit, cursor)
Arguments: destination (required), purpose, limit, cursor. Search admitted destination visa and residence routes without inventing missing eligibility data. Example: {"destination":"de","purpose":"work","limit":20} Boundary: Returns sourced route families; it is reference information, not legal advice or an eligibility decision.
Eingabe-Schema
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"purpose": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"destination"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Search visa routes result"
}🟢get_legal_route(destination, route_id)
Arguments: destination (required), route_id (required). Get one admitted legal-route record with its official source. Example: {"destination":"de","route_id":"highly-skilled"} Boundary: Missing or incomplete route fields remain explicit; the response does not infer a legal outcome.
Eingabe-Schema
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"route_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"destination",
"route_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get legal route result"
}🟢search_entry_rules(passport, destination, purpose, limit, cursor)
Arguments: passport, destination, purpose, limit, cursor. Search passport entry rules from the admitted snapshot; unknown and unavailable decisions remain explicit. Example: {"passport":"lv","destination":"us","limit":20} Boundary: Only accepted public entry answers are returned; verify the responsible authority before travel.
Eingabe-Schema
{
"type": "object",
"properties": {
"passport": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"destination": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"purpose": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Search entry rules result"
}🟢get_entry_rule(passport, destination)
Arguments: passport (required), destination. Get one passport entry rule using the canonical legal/entry URI identity. Example: {"passport":"lv","destination":"us"} Boundary: A missing answer is returned explicitly and is never replaced with an assumption.
Eingabe-Schema
{
"type": "object",
"properties": {
"passport": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"destination": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
}
},
"required": [
"passport"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get entry rule result"
}🟢list_reports(category, limit, cursor)
Arguments: category, limit, cursor. List public ImmigrationDB reports by optional category with bounded cursor pagination. Example: {"category":"Population","limit":20} Boundary: Lists published reports only; report rows retain their own source and method metadata.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "List reports result"
}🟢get_report(report_id)
Arguments: report_id (required). Get one public report envelope with canonical and machine-resource URLs. Example: {"report_id":"warmest-published-cities-across-current-coverage"} Boundary: The report response is bounded by the published report contract and does not expose review-only rows.
Eingabe-Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"report_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get report result"
}🟢resolve_city(query, limit)
Arguments: query (required), limit. Resolve a natural-language city query to bounded ranked public candidates without silently selecting an ambiguous country. Example: {"query":"Berlin, Germany","limit":5} Boundary: A bare or ambiguous city name returns candidates and ambiguity; it must not auto-select a non-exact country.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Resolve city result"
}🟢get_city_fact(country, slug, metric_id)
Arguments: country (required), slug (required), metric_id (required). Return exactly one public city fact with value, unit, geographic grain, dates, source and snapshot provenance. Required arguments are exactly `country` (ISO 3166-1 alpha-2), `slug` (canonical city slug, not the display name) and `metric_id`. Example: {"country":"de","slug":"berlin","metric_id":"population_total"} Boundary: Returns not_available or ambiguous_metric_version instead of guessing across units, periods, definitions or geographic grains.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"slug": {
"type": "string",
"minLength": 1
},
"metric_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"country",
"slug",
"metric_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Get city fact result"
}🟢list_metrics(country, block, query, comparison_eligible, limit, ...)
Arguments: country, block, query, comparison_eligible, limit, cursor. List reviewed metric definitions and observed public snapshot coverage with bounded filters and pagination. Example: {"query":"population","country":"de","limit":20} Boundary: Descriptions and units come from the reviewed registry; missing ontology is reported as a contract gap, not generated from a label.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"block": {
"type": "string",
"minLength": 1
},
"query": {
"type": "string"
},
"comparison_eligible": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "List metrics result"
}🟢list_blocks(country, limit, cursor)
Arguments: limit, cursor. List stable reviewed metric blocks with observed metric, fact and country coverage. Example: {"limit":20} Boundary: Block order and IDs are deterministic; coverage counts describe the current public snapshot only.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "List blocks result"
}🟢compare_cities(cities, metric_ids)
Arguments: cities (required), metric_ids (required). Compare canonical public cities on compatible metric definitions with provenance for every cell. Example: {"cities":[{"country":"de","slug":"berlin"},{"country":"de","slug":"munich"}],"metric_ids":["population_total"]} Boundary: Incompatible units, periods, definitions or grains are omitted with reasons; no implicit currency, period or geography conversion occurs.
Eingabe-Schema
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"minItems": 2,
"maxItems": 10,
"items": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"slug": {
"type": "string",
"minLength": 1
}
},
"required": [
"country",
"slug"
],
"additionalProperties": false
}
]
}
},
"metric_ids": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"cities",
"metric_ids"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Compare cities result"
}🟢search_facts(country, countries, filters, metric_filters, sort_metric, ...)
Arguments: countries, filters, sort_metric, sort_order, limit, cursor, diagnostic. Run bounded deterministic numeric filters over eligible public city facts with explicit counts and provenance. Example: {"countries":["de"],"filters":[{"metric_id":"population_total","op":">","value":100000}],"sort_metric":"population_total","sort_order":"desc","limit":20} Boundary: Filters are ANDed, results are capped and tie-broken by canonical entity ID; wrong-grain or non-comparable facts are excluded unless diagnostic mode is explicit.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
},
"countries": {
"type": "array",
"maxItems": 39,
"items": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
}
},
"filters": {
"type": "array",
"maxItems": 10,
"items": {
"type": "object",
"properties": {
"metric_id": {
"type": "string",
"minLength": 1
},
"op": {
"type": "string",
"enum": [
"gt",
"gte",
"lt",
"lte",
"eq",
"neq",
">",
">=",
"<",
"<=",
"="
]
},
"operator": {
"type": "string",
"minLength": 1
},
"value": {
"type": "number"
}
},
"required": [
"metric_id",
"value"
],
"additionalProperties": false
}
},
"metric_filters": {
"type": "array",
"maxItems": 10,
"items": {
"type": "object",
"properties": {
"metric_id": {
"type": "string",
"minLength": 1
},
"op": {
"type": "string",
"enum": [
"gt",
"gte",
"lt",
"lte",
"eq",
"neq",
">",
">=",
"<",
"<=",
"="
]
},
"operator": {
"type": "string",
"minLength": 1
},
"value": {
"type": "number"
}
},
"required": [
"metric_id",
"value"
],
"additionalProperties": false
}
},
"sort_metric": {
"type": "string",
"minLength": 1
},
"sort": {
"type": "object",
"properties": {
"metric_id": {
"type": "string",
"minLength": 1
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"metric_id"
],
"additionalProperties": false
},
"sort_order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"diagnostic": {
"type": "boolean"
},
"diagnostic_view": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 1
},
"snapshot_id": {
"type": "string",
"minLength": 1
},
"generated_at": {
"type": "string",
"minLength": 1
},
"canonical_origin": {
"type": "string",
"format": "uri"
},
"status": {
"type": "string",
"minLength": 1
},
"citations": {
"type": "object",
"required": [
"canonical",
"sources"
],
"properties": {
"canonical": {
"type": "object",
"required": [
"entity_id",
"url",
"label"
],
"properties": {
"entity_id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"source_id",
"title",
"url",
"native_period",
"scope",
"attribution"
],
"properties": {
"source_id": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"native_period": {
"type": [
"string",
"null"
]
},
"scope": {
"type": [
"string",
"null"
]
},
"observed_at": {
"type": [
"string",
"null"
]
},
"verified_at": {
"type": [
"string",
"null"
]
},
"attribution": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"resource_links": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"uri",
"name"
],
"properties": {
"type": {
"const": "resource_link"
},
"uri": {
"type": "string",
"pattern": "^(https://immigrationdb\\.com|immigrationdb://)"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"required": [
"schema_version",
"snapshot_id",
"generated_at",
"canonical_origin",
"status",
"citations",
"resource_links"
],
"additionalProperties": true,
"title": "Search facts result"
}Community
Nachweis