ImmigrationDB
Read-only migration data: cities, visa routes, entry rules, costs, safety, climate, with sources.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"immigrationdb": {
"url": "https://immigrationdb.com/mcp"
}
}
}Puntos de conexión remotos
https://immigrationdb.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"query"
],
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"cc": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$"
}
},
"required": [
"cc"
],
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [],
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"report_id"
],
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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"
}Comunidad
Evidencia