Bab Aljazair
Prepare Algerian consular procedures with offices, sources, and interactive checklists.
Should I use this
Quality & Safety
Findings (1)
- LOWin locate_consular_office
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"bab-aljazair": {
"url": "https://mcp.bab-aljazair.larabi.fr/mcp"
}
}
}Remote endpoints
https://mcp.bab-aljazair.larabi.fr/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
π’list_consular_offices(language)
List all Algerian consular offices in France with their jurisdictions and official websites. Use when the user wants the network or needs to choose manually.
Input Schema
{
"type": "object",
"properties": {
"language": {
"default": "fr",
"description": "Response language: Arabic, Tamazight (Kabyle), English, or French.",
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"offices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"departments": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"website": {
"type": "string",
"format": "uri"
}
},
"required": [
"address",
"city",
"departments",
"id",
"name",
"type",
"website"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"offices",
"total"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’locate_consular_office(language, residence)
Resolve the Algerian consular office normally responsible for a residence in France. Accepts a postal code, department number, city, or office name.
Input Schema
{
"type": "object",
"properties": {
"language": {
"default": "fr",
"description": "Response language: Arabic, Tamazight (Kabyle), English, or French.",
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"residence": {
"type": "string",
"minLength": 1,
"maxLength": 180,
"description": "French postal code, department number, city, or consular office name."
}
},
"required": [
"residence"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"matched": {
"type": "boolean"
},
"office": {
"anyOf": [
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"departments": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"website": {
"type": "string",
"format": "uri"
}
},
"required": [
"address",
"city",
"departments",
"id",
"name",
"type",
"website"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"matched",
"office"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’search_consular_procedures(language, limit, officeId, query, theme)
Search the Bab Aljazair catalogue of Algerian consular procedures. Use this to resolve procedure IDs from the userβs natural-language intent. Optionally include an office to expose the research level.
Input Schema
{
"type": "object",
"properties": {
"language": {
"default": "fr",
"description": "Response language: Arabic, Tamazight (Kabyle), English, or French.",
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"officeId": {
"type": "string",
"minLength": 1
},
"query": {
"default": "",
"type": "string",
"maxLength": 240
},
"theme": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"audience": {
"type": "string",
"enum": [
"all",
"adult",
"minor"
]
},
"id": {
"type": "string"
},
"researchLevel": {
"anyOf": [
{
"type": "string",
"enum": [
"exact",
"partial",
"prototype",
"generic"
]
},
{
"type": "null"
}
]
},
"theme": {
"type": "string"
},
"themeLabel": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"audience",
"id",
"researchLevel",
"theme",
"themeLabel",
"title"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"results",
"total"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’get_consular_procedure(applicants, language, officeId, procedureId)
Return the concise, office-aware checklist data for one consular procedure without rendering a widget. Preserve the research disclosure in any explanation.
Input Schema
{
"type": "object",
"properties": {
"applicants": {
"description": "Optional applicants used to tailor person-specific requirements.",
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"age": {
"type": "integer",
"minimum": 0,
"maximum": 130
},
"birthCountry": {
"description": "ISO two-letter country code for the applicantβs place of birth, such as FR or DZ.",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"birthRecordType": {
"description": "Known type of birth record; omit it when the user has not confirmed it.",
"type": "string",
"enum": [
"12s",
"integral-algerian",
"transcribed"
]
},
"divorceEvidenceType": {
"type": "string",
"enum": [
"algerian-judgment",
"foreign-exequatur"
]
},
"facts": {
"description": "Known procedure facts such as applicant.birthCountry or applicant.maritalStatus.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"maritalStatus": {
"type": "string",
"enum": [
"single",
"married",
"divorced",
"widowed"
]
},
"sex": {
"type": "string",
"enum": [
"female",
"male"
]
}
}
}
},
"language": {
"default": "fr",
"description": "Response language: Arabic, Tamazight (Kabyle), English, or French.",
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"officeId": {
"type": "string",
"minLength": 1,
"description": "Consular office identifier returned by an office tool."
},
"procedureId": {
"type": "string",
"minLength": 1,
"description": "Procedure identifier returned by the search tool."
}
},
"required": [
"officeId",
"procedureId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"applicantCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"checklist": {
"type": "object",
"properties": {
"optional": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"required": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unresolved": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"optional",
"required",
"unresolved"
],
"additionalProperties": false
},
"locale": {
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"office": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"website": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"name",
"website"
],
"additionalProperties": false
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
"research": {
"type": "object",
"properties": {
"accessedAt": {
"type": "string"
},
"disclosure": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"exact",
"partial",
"prototype",
"generic"
]
},
"sourceCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"disclosure",
"level",
"sourceCount"
],
"additionalProperties": false
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"applicability": {
"type": "string",
"enum": [
"required",
"optional",
"unverified"
]
},
"title": {
"type": "string"
}
},
"required": [
"applicability",
"title"
],
"additionalProperties": false
}
}
},
"required": [
"applicantCount",
"checklist",
"locale",
"office",
"procedure",
"research",
"requirements"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’show_consular_dossier(applicants, language, officeId, procedureId)
Render an interactive Bab Aljazair dossier checklist for a resolved office and procedure. Use once the office and procedure IDs are known, especially when the user wants to prepare, personalize, or track the dossier.
Input Schema
{
"type": "object",
"properties": {
"applicants": {
"description": "Optional applicants used to tailor person-specific requirements.",
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"age": {
"type": "integer",
"minimum": 0,
"maximum": 130
},
"birthCountry": {
"description": "ISO two-letter country code for the applicantβs place of birth, such as FR or DZ.",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"birthRecordType": {
"description": "Known type of birth record; omit it when the user has not confirmed it.",
"type": "string",
"enum": [
"12s",
"integral-algerian",
"transcribed"
]
},
"divorceEvidenceType": {
"type": "string",
"enum": [
"algerian-judgment",
"foreign-exequatur"
]
},
"facts": {
"description": "Known procedure facts such as applicant.birthCountry or applicant.maritalStatus.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"maritalStatus": {
"type": "string",
"enum": [
"single",
"married",
"divorced",
"widowed"
]
},
"sex": {
"type": "string",
"enum": [
"female",
"male"
]
}
}
}
},
"language": {
"default": "fr",
"description": "Response language: Arabic, Tamazight (Kabyle), English, or French.",
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"officeId": {
"type": "string",
"minLength": 1,
"description": "Consular office identifier returned by an office tool."
},
"procedureId": {
"type": "string",
"minLength": 1,
"description": "Procedure identifier returned by the search tool."
}
},
"required": [
"officeId",
"procedureId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"applicantCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"checklist": {
"type": "object",
"properties": {
"optional": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"required": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unresolved": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"optional",
"required",
"unresolved"
],
"additionalProperties": false
},
"locale": {
"type": "string",
"enum": [
"ar",
"kab",
"en",
"fr"
]
},
"office": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"website": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"name",
"website"
],
"additionalProperties": false
},
"procedure": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false
},
"research": {
"type": "object",
"properties": {
"accessedAt": {
"type": "string"
},
"disclosure": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"exact",
"partial",
"prototype",
"generic"
]
},
"sourceCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"disclosure",
"level",
"sourceCount"
],
"additionalProperties": false
}
},
"required": [
"applicantCount",
"checklist",
"locale",
"office",
"procedure",
"research"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence