Skip to content
mcp/skillhub

ImmigrationDB MCP Server

by streltcoffio.github.streltcoff/immigrationdbv0.3.0

Read-only migration data: cities, visa routes, entry rules, costs, safety, climate, with sources.

0remoteofficial registry

context tax

~2,651 tok/turn15 tools

security

97/100

cold start

hosted

freshness

Active8d ago

Our reading of ImmigrationDB, from the data

ImmigrationDB is an MCP server from streltcoff, listed in the official MCP Registry.

Its 15 tools add about 2,651 tokens to every model turn (measured 2026-10-19).

Maintenance is active: the last public signal was 8 days ago (2026-10-10).

It runs as a hosted endpoint, so there is nothing to install.

Install ImmigrationDB MCP server

Install in Claude Code

claude mcp add --transport http immigrationdb https://immigrationdb.com/mcp

Remote endpoints

  • streamable-httphttps://immigrationdb.com/mcp

Context tax

Connecting this server adds ~2,651 tokens of tool definitions to every model turn (moderate, 15 tools). Measured 2026-10-19 via its hosted endpoint; o200k tokenizer, worst case for clients that load all tools up front. How we measure

ModelPer 1,000 turnsWith prompt caching
Claude Opus 5.5$10.60$0.530
Claude Sonnet 5.5$5.30$0.530
Claude Haiku 5.5$0.265—

Input prices as of 2026-10-06. Excludes your own prompt and output.

Tools (15)

  • search_facts541 tok

    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.

  • compare_cities240 tok

    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.

  • get_city204 tok

    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.

  • get_city_fact198 tok

    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.

  • list_metrics179 tok

    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.

  • search_entry_rules174 tok

    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.

  • search_visa_routes151 tok

    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.

  • get_entry_rule133 tok

    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.

  • get_country129 tok

    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.

  • get_legal_route129 tok

    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.

  • list_blocks124 tok

    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.

  • search_destinations122 tok

    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.

  • resolve_city117 tok

    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.

  • list_reports108 tok

    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.

  • get_report100 tok

    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.

Security signals

97/100 — no known issues found as of 2026-10-19, from the checks below. This is not a guarantee of safety; review what a server can do before connecting it.

Deductions

  • No security policy (SECURITY.md)-3

Checks

  • ✓Repository hygiene (archived, activity, license, security policy)
  • ○Package metadata (install scripts, provenance) — pending
  • ○Tool descriptions (prompt-injection and hidden-text heuristics) — pending
  • ○Source scan (secrets, CVEs, risky code) by vectra-guard — pending

Scan it yourself before installing with vectra-guard, the open-source agent security CLI. Scoring rules

Freshness

Active — last maintenance signal 8d ago. The newest of the signals below sets the band.

  1. Last commit (default branch)

    2026-10-10 · 8d ago · GitHub

  2. Latest release

    no data · GitHub

  3. Package published

    no data · npm/PyPI

  4. Registry entry updated

    2026-10-10 · 8d ago · official registry · v0.3.0

FAQ

›How do I install the ImmigrationDB MCP server in Claude Code?

Run: claude mcp add --transport http immigrationdb https://immigrationdb.com/mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.

›Does ImmigrationDB require an API key?

No required environment variables are declared in its published metadata.

›Can I use ImmigrationDB as a remote (hosted) MCP server?

Yes. It is a hosted MCP server; connect to its URL with any client that supports remote MCP.

›Is ImmigrationDB in the official MCP registry?

Yes, as io.github.streltcoff/immigrationdb.

›How many tokens does ImmigrationDB add to my context?

Its tool definitions total about 2,651 tokens, resent on every turn.

Sources and method

Official MCP Registry entry
updated 2026-10-10
GitHub repository
fetched 2026-10-19
Last checked against all sources
2026-10-19

The description, packages and links come from the maintainer's own published metadata. Token cost, security signals, freshness and the reading above are MCPSkillHub's own measurements; see the methodology. Spot an error? Request a correction or claim the listing.