logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp_unhcr_data_retriever

Facilitates the querying and retrieval of comprehensive statistical figures concerning globally displaced populations as documented by the UNHCR. Supports granular data filtering across origin territories, host nations, and fiscal periods, alongside access to specifics on asylum claim adjudication outcomes.

Author

mcp_unhcr_data_retriever logo

rvibek

No License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

refugeeunhcrasylumrefugee statisticsunhcr refugeeretrieving refugee

UNHCR Population Statistics Access Gateway

This Model Context Protocol (MCP) service interface is engineered to provide programmatic access to datasets maintained by the United Nations High Commissioner for Refugees (UNHCR). It empowers autonomous agents to extract crucial metrics pertaining to forced migration, covering aggregate population counts, details on formal applications for refugee status determination (RSD), and final determinations made on those applications.

Data retrieval operations can be precisely scoped using criteria such as the nation of origin, the nation providing asylum, and specific calendar years.

This gateway interfaces with the official UNHCR Statistical Data Portals.

Capabilities Overview

  • Retrieve statistics on the volume of forcibly displaced persons.
  • Access datasets detailing Refugee Status Determination (RSD) application submissions.
  • Access datasets detailing final Refugee Status Determination (RSD) adjudication results.
  • Apply constraints based on country of origin (via ISO3 identifiers), country of asylum (via ISO3 identifiers), and time interval(s).
  • Provision for holistic breakdowns of figures aggregated across all originating countries and all hosting countries.

Connection Protocol

To integrate this MCP node, utilize the following Uniform Resource Locator within your configuration: https://smithery.ai/server/@rvibek/mcp_unhcr

Ensure appropriate host or client configuration parameters are established.

smithery badge

Backend API Mapping and Input Variables

The service translates internal requests to the following foundational URL structure: https://api.unhcr.org/population/v1/ employing these specific resource paths: - population/ - asylum-applications/ - asylum-decisions/

Key mapping parameters utilized when invoking the underlying UNHCR API: - cf_type: Explicitly fixed to the value "ISO". - coo: Geographic filter targeting the source territory (ISO3 code format; supports comma-separated lists). - coa: Geographic filter targeting the recipient territory (ISO3 code format; supports comma-separated lists). - year[]: Temporal constraint for filtering (e.g., "2023" or a sequence like ["2022", "2023"]). Defaults implicitly to the year 2024 if unspecified. - coo_all: Boolean flag; when true, mandates a granular breakdown by every country of origin. - coa_all: Boolean flag; when true, mandates a granular breakdown by every country of asylum.

Exposed MCP Functions

The service node exposes the following functional interfaces for agent interaction:

get_population_data

Retrieves statistical figures regarding the global displaced populace from the UNHCR repository.

Arguments: - coo (optional): Constraint parameter specifying origin territory via ISO3 code(s), allowing multiple entries separated by commas. - coa (optional): Constraint parameter specifying asylum territory via ISO3 code(s), allowing multiple entries separated by commas. - year (optional): Temporal specification filter (single year or multiple years delineated by commas). Defaults to the calendar year 2024 if omitted. - coo_all (optional, boolean): Indicator to enable comprehensive aggregation across all source nations. Defaults to False. - coa_all (optional, boolean): Indicator to enable comprehensive aggregation across all host nations. Defaults to False.

get_rsd_applications

Fetches tabulated records pertaining to submissions for Refugee Status Determination.

Arguments: - coo (optional): Origin jurisdiction specification (ISO3 code list, comma-separated). - coa (optional): Host jurisdiction specification (ISO3 code list, comma-separated). - year (optional): Time-frame specification for the data slice (e.g., "2023" or multiple values). Defaults to 2024. - coo_all (optional, boolean): Flag to mandate total breakdown by every origin country. Defaults to False. - coa_all (optional, boolean): Flag to mandate total breakdown by every asylum country. Defaults to False.

get_rsd_decisions

Retrieves finalized disposition records concerning Refugee Status Determination requests.

Arguments: - coo (optional): Origin country identifier(s) (ISO3 format, comma-delimited). - coa (optional): Asylum country identifier(s) (ISO3 format, comma-delimited). - year (optional): The designated reporting year or list of years. Default setting is 2024. - coo_all (optional, boolean): If set to True, forces a complete breakdown across all nations of origin. Initial state is False. - coa_all (optional, boolean): If set to True, forces a complete breakdown across all nations providing asylum. Initial state is False.

Development Roadmap

  • Integrate parameters for range-based temporal queries: year_from and year_to.
  • Incorporate data retrieval from the nowcasting endpoint.
  • Integrate data retrieval from the resettlement endpoint.

Permissive Terms

MIT

Attributions

This service leverages aggregated datasets sourced from the UNHCR Statistical Repository on Refugee Populations.

WIKIPEDIA SECTION: XMLHttpRequest (XHR) constitutes an Application Programming Interface, implemented as a JavaScript entity, designed to dispatch Hypertext Transfer Protocol (HTTP) requests from a browser environment to a remote server. The methods inherent in XHR permit client-side applications to issue server queries subsequent to initial page rendering, and subsequently capture resultant information. XMLHttpRequest is fundamental to the principle of Asynchronous JavaScript and XML (Ajax) programming methodologies. Before the widespread adoption of Ajax, the principal means of interactive server communication relied upon traditional hyperlink navigation and form submissions, actions that typically necessitated the complete replacement of the presently displayed webpage content.

== Chronology == The foundational concept underpinning XMLHttpRequest was first articulated in the year 2000 by the engineering teams responsible for Microsoft Outlook development. This concept was subsequently realized within the Internet Explorer 5 browser iteration (released in 1999). However, the initial invocation syntax did not employ the standardized XMLHttpRequest identifier. Instead, the developers utilized object instantiation calls such as ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). As of Internet Explorer 7 (released in 2006), universal adoption of the canonical XMLHttpRequest identifier became standard across all major browser environments, encompassing Mozilla's Gecko rendering engine (2002), Safari 1.2 (2004), and Opera 8.0 (2005). The XMLHttpRequest identifier has since attained de facto standard status across the spectrum of contemporary web browsers.

=== Formalization === The World Wide Web Consortium (W3C) formally published a Working Draft specification for the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft specification, designated Level 2, was released by the W3C on February 25, 2008. Level 2 introduced augmented functionality, specifically methods for tracking event progression, enabling cross-origin requests, and facilitating the handling of binary data streams. By the conclusion of 2011, the Level 2 specification elements were integrated back into the primary, original specification document. In late 2012, stewardship of the ongoing maintenance and evolution of the specification transitioned to the WHATWG organization, which currently sustains a dynamic document utilizing Web Interface Definition Language (Web IDL).

== Operational Procedure == Typically, issuing a network request utilizing XMLHttpRequest necessitates adherence to a sequence of programming stages.

  1. Instantiate an XMLHttpRequest object via a constructor call:
  2. Invoke the open method to define the transaction type (method), designate the target resource Uniform Resource Identifier (URI), and determine operational mode (synchronous or asynchronous):
  3. For operations designated as asynchronous, establish an event listener function to be notified upon subsequent state transitions:
  4. Commence the data transmission sequence by calling the send method:
  5. Process state changes within the assigned event listener. If the remote server transmits response data, this content is, by default, archived within the responseText attribute. Upon completion of the object's processing cycle, the state transitions to 4, denoting the "done" status. Beyond these fundamental prerequisites, XMLHttpRequest incorporates numerous configuration options to govern request transmission characteristics and response assimilation methods. Custom header fields can be appended to the request to convey specific instructions to the server regarding fulfillment logic, and payload data can be uplinked to the server by furnishing it within the send invocation. The received data stream can be parsed from its raw JSON structure into an immediately operational JavaScript object, or processed incrementally as it arrives, avoiding the necessity to await the totality of the data payload.

== Inter-domain Communications ==

During the nascent stages of the World Wide Web's evolution, mechanisms were discovered that permitted the circumvention of security restrictions...

See Also

`