MCP Server

Bab Aljazair

fr.larabi/bab-aljazair
Legal & Compliance Productivity Public & reachable MCP 2025-11-25

What this MCP does

Helps users identify Algerian consular procedures, locate the responsible office in France, and prepare interactive document checklists.

get_consular_procedure
Get an office-aware consular procedure
Return the concise, office-aware checklist data for one consular procedure without rendering a widget. Preserve the research disclosure in any explanation.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['officeId', 'procedureId'], 'properties': {'language': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string', 'default': 'fr', 'description': 'Response language: Arabic, Tamazight (Kabyle), English, or French.'}, 'officeId': {'type': 'string', 'minLength': 1, 'description': 'Consular office identifier returned by an office tool.'}, 'applicants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'age': {'type': 'integer', 'maximum': 130, 'minimum': 0}, 'sex': {'enum': ['female', 'male'], 'type': 'string'}, 'facts': {'type': 'object', 'description': 'Known procedure facts such as applicant.birthCountry or applicant.maritalStatus.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'boolean'}, {'type': 'number'}, {'type': 'string'}]}}, 'label': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'birthCountry': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO two-letter country code for the applicantâ\x80\x99s place of birth, such as FR or DZ.'}, 'maritalStatus': {'enum': ['single', 'married', 'divorced', 'widowed'], 'type': 'string'}, 'birthRecordType': {'enum': ['12s', 'integral-algerian', 'transcribed'], 'type': 'string', 'description': 'Known type of birth record; omit it when the user has not confirmed it.'}, 'divorceEvidenceType': {'enum': ['algerian-judgment', 'foreign-exequatur'], 'type': 'string'}}}, 'maxItems': 8, 'description': 'Optional applicants used to tailor person-specific requirements.'}, 'procedureId': {'type': 'string', 'minLength': 1, 'description': 'Procedure identifier returned by the search tool.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['applicantCount', 'checklist', 'locale', 'office', 'procedure', 'research', 'requirements'], 'properties': {'locale': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string'}, 'office': {'type': 'object', 'required': ['id', 'name', 'website'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'website': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'research': {'type': 'object', 'required': ['disclosure', 'level', 'sourceCount'], 'properties': {'level': {'enum': ['exact', 'partial', 'prototype', 'generic'], 'type': 'string'}, 'accessedAt': {'type': 'string'}, 'disclosure': {'type': 'string'}, 'sourceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'checklist': {'type': 'object', 'required': ['optional', 'required', 'unresolved'], 'properties': {'optional': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'required': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'unresolved': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'procedure': {'type': 'object', 'required': ['id', 'title'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}, 'requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['applicability', 'title'], 'properties': {'title': {'type': 'string'}, 'applicability': {'enum': ['required', 'optional', 'unverified'], 'type': 'string'}}, 'additionalProperties': False}}, 'applicantCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
list_consular_offices
List Algerian consular offices in France
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'language': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string', 'default': 'fr', 'description': 'Response language: Arabic, Tamazight (Kabyle), English, or French.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offices', 'total'], 'properties': {'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'offices': {'type': 'array', 'items': {'type': 'object', 'required': ['address', 'city', 'departments', 'id', 'name', 'type', 'website'], 'properties': {'id': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'address': {'type': 'string'}, 'website': {'type': 'string', 'format': 'uri'}, 'departments': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
locate_consular_office
Find the competent Algerian consular office
Resolve the Algerian consular office normally responsible for a residence in France. Accepts a postal code, department number, city, or office name.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['residence'], 'properties': {'language': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string', 'default': 'fr', 'description': 'Response language: Arabic, Tamazight (Kabyle), English, or French.'}, 'residence': {'type': 'string', 'maxLength': 180, 'minLength': 1, 'description': 'French postal code, department number, city, or consular office name.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['matched', 'office'], 'properties': {'office': {'anyOf': [{'type': 'object', 'required': ['address', 'city', 'departments', 'id', 'name', 'type', 'website'], 'properties': {'id': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'address': {'type': 'string'}, 'website': {'type': 'string', 'format': 'uri'}, 'departments': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'null'}]}, 'matched': {'type': 'boolean'}}, 'additionalProperties': False}
search_consular_procedures
Search Algerian consular procedures
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'default': '', 'maxLength': 240}, 'theme': {'type': 'string'}, 'language': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string', 'default': 'fr', 'description': 'Response language: Arabic, Tamazight (Kabyle), English, or French.'}, 'officeId': {'type': 'string', 'minLength': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'total'], 'properties': {'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['audience', 'id', 'researchLevel', 'theme', 'themeLabel', 'title'], 'properties': {'id': {'type': 'string'}, 'theme': {'type': 'string'}, 'title': {'type': 'string'}, 'audience': {'enum': ['all', 'adult', 'minor'], 'type': 'string'}, 'themeLabel': {'type': 'string'}, 'researchLevel': {'anyOf': [{'enum': ['exact', 'partial', 'prototype', 'generic'], 'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
show_consular_dossier
Show an interactive consular dossier
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.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['officeId', 'procedureId'], 'properties': {'language': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string', 'default': 'fr', 'description': 'Response language: Arabic, Tamazight (Kabyle), English, or French.'}, 'officeId': {'type': 'string', 'minLength': 1, 'description': 'Consular office identifier returned by an office tool.'}, 'applicants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'age': {'type': 'integer', 'maximum': 130, 'minimum': 0}, 'sex': {'enum': ['female', 'male'], 'type': 'string'}, 'facts': {'type': 'object', 'description': 'Known procedure facts such as applicant.birthCountry or applicant.maritalStatus.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'boolean'}, {'type': 'number'}, {'type': 'string'}]}}, 'label': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'birthCountry': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO two-letter country code for the applicantâ\x80\x99s place of birth, such as FR or DZ.'}, 'maritalStatus': {'enum': ['single', 'married', 'divorced', 'widowed'], 'type': 'string'}, 'birthRecordType': {'enum': ['12s', 'integral-algerian', 'transcribed'], 'type': 'string', 'description': 'Known type of birth record; omit it when the user has not confirmed it.'}, 'divorceEvidenceType': {'enum': ['algerian-judgment', 'foreign-exequatur'], 'type': 'string'}}}, 'maxItems': 8, 'description': 'Optional applicants used to tailor person-specific requirements.'}, 'procedureId': {'type': 'string', 'minLength': 1, 'description': 'Procedure identifier returned by the search tool.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['applicantCount', 'checklist', 'locale', 'office', 'procedure', 'research'], 'properties': {'locale': {'enum': ['ar', 'kab', 'en', 'fr'], 'type': 'string'}, 'office': {'type': 'object', 'required': ['id', 'name', 'website'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'website': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'research': {'type': 'object', 'required': ['disclosure', 'level', 'sourceCount'], 'properties': {'level': {'enum': ['exact', 'partial', 'prototype', 'generic'], 'type': 'string'}, 'accessedAt': {'type': 'string'}, 'disclosure': {'type': 'string'}, 'sourceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'checklist': {'type': 'object', 'required': ['optional', 'required', 'unresolved'], 'properties': {'optional': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'required': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'unresolved': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'procedure': {'type': 'object', 'required': ['id', 'title'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}, 'applicantCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Added
show_consular_dossier
Sept. 17, 2026, 12:39 p.m.
Added
get_consular_procedure
Sept. 17, 2026, 12:39 p.m.
Added
search_consular_procedures
Sept. 17, 2026, 12:39 p.m.
Added
locate_consular_office
Sept. 17, 2026, 12:39 p.m.
Added
list_consular_offices
Sept. 17, 2026, 12:39 p.m.