Check Irish (FBR) and Canadian (Bill C-3) citizenship by descent with deterministic rules.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check whether a person qualifies for citizenship by descent. Give the user's direct ancestral line, one entry per generation, starting with relation='self'. Every generation between the user and the ancestor must be present even if little is known about them, because descent passes generation by generation and a gap changes the answer. Ask for exact dates where you can. Year-only input is accepted but the result will carry a caveat, and for Ireland a registration and a birth in the same year cannot be resolved at all. Args: country: ISO 3166-1 alpha-2, lowercase. Currently 'ie' or 'ca'. line: The direct line, from the user upward. as_of: Evaluation date. Defaults to today. Rules with commencement dates (Canada's Bill C-3) depend on it.
Check whether a person qualifies for citizenship by descent. Give the user's direct ancestral line, one entry per generation, starting with relation='self'. Every generation between the user and the ancestor must be present even if little is known about them, because descent passes generation by generation and a gap changes the answer. Ask for exact dates where you can. Year-only input is accepted but the result will carry a caveat, and for Ireland a registration and a birth in the same year cannot be resolved at all. Args: country: ISO 3166-1 alpha-2, lowercase. Currently 'ie' or 'ca'. line: The direct line, from the user upward. as_of: Evaluation date. Defaults to today. Rules with commencement dates (Canada's Bill C-3) depend on it.
| Argument | Type | Description |
|---|---|---|
| line* | array | |
| as_of | any | |
| country* | string |
{
"type": "object",
"$defs": {
"LineMember": {
"type": "object",
"title": "LineMember",
"required": [
"relation"
],
"properties": {
"relation": {
"enum": [
"self",
"parent",
"grandparent",
"great_grandparent"
],
"type": "string",
"title": "Relation",
"description": "Where this person sits on your direct line. Use exactly one 'self'."
},
"birth_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Birth Date",
"default": null,
"description": "Exact date of birth if known. Beats birth_year."
},
"birth_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Birth Year",
"default": null,
"description": "Year of birth if the exact date is unknown."
},
"birth_country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Birth Country",
"default": null,
"description": "ISO 3166-1 alpha-2 country of birth, e.g. 'IE', 'CA', 'US'. For Northern Ireland use 'IE' — Irish nationality law counts all 32 counties."
},
"days_in_country": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Days In Country",
"default": null,
"description": "Days of physical presence in the ancestral country. Canada's Bill C-3 substantial-connection test needs this; other pathways ignore it."
},
"naturalized_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Naturalized Year",
"default": null
},
"birth_place_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Birth Place Label",
"default": null,
"description": "Free-text place of birth, e.g. 'Cork, Ireland'."
},
"naturalized_country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Naturalized Country",
"default": null,
"description": "ISO 3166-1 alpha-2 country where this person naturalized, if any."
},
"citizenship_registered_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Citizenship Registered Date",
"default": null
},
"citizenship_registered_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Citizenship Registered Year",
"default": null
},
"citizenship_registered_country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Citizenship Registered Country",
"default": null,
"description": "Country of a formal citizenship registration, e.g. 'IE' for an Irish Foreign Births Register entry. This is what carries a claim down a generation."
}
},
"description": "One person on the user's direct ancestral line."
}
},
"title": "check_descent_eligibilityArguments",
"required": [
"country",
"line"
],
"properties": {
"line": {
"type": "array",
"items": {
"$ref": "#/$defs/LineMember"
},
"title": "Line"
},
"as_of": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "As Of",
"default": null
},
"country": {
"type": "string",
"title": "Country"
}
}
}Documents, cost, and processing time for a supported descent pathway. Use after check_descent_eligibility returns green or yellow, when the user asks what they actually have to gather.
| Argument | Type | Description |
|---|---|---|
| country* | string |
{
"type": "object",
"title": "get_pathway_requirementsArguments",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"title": "Country"
}
}
}List the citizenship-by-descent pathways this server can evaluate. Call this before check_descent_eligibility if you are unsure whether a country is covered. Countries marked 'planned' have no rules implemented — do not guess an answer for them.
No arguments.
{
"type": "object",
"title": "list_pathwaysArguments",
"properties": {}
}