Moroccan public-sector jobs: open recruitment exams, past papers, salaries, holidays.
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.
Indicative net monthly pay (MAD) at the first step of about 370 Moroccan civil-service grades (official simulator basis), with a link to the salary page of each grade.
Language of the labels: fr (default) or ar.
Optional text to keep only matching grades (e.g. 'ingénieur', 'technicien').
Indicative net monthly pay (MAD) at the first step of about 370 Moroccan civil-service grades (official simulator basis), with a link to the salary page of each grade.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the labels: fr (default) or ar. |
| grade | string | Optional text to keep only matching grades (e.g. 'ingénieur', 'technicien'). |
{
"type": "object",
"required": [],
"properties": {
"lang": {
"enum": [
"fr",
"ar"
],
"type": "string",
"description": "Language of the labels: fr (default) or ar."
},
"grade": {
"type": "string",
"description": "Optional text to keep only matching grades (e.g. 'ingénieur', 'technicien')."
}
}
}Full details of one recruitment exam by id: dates, posts, diplomas, how to apply, official documents, past exam papers for the same grade and similar open exams.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Exam id (the id field of search_concours). |
| lang | string | Language of the labels: fr (default) or ar. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Exam id (the id field of search_concours)."
},
"lang": {
"enum": [
"fr",
"ar"
],
"type": "string",
"description": "Language of the labels: fr (default) or ar."
}
}
}One past exam paper by id: description, page images, PDF and the editorial correction when there is one.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Paper id (the id field of search_exam_papers). |
| lang | string | Language of the labels: fr (default) or ar. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Paper id (the id field of search_exam_papers)."
},
"lang": {
"enum": [
"fr",
"ar"
],
"type": "string",
"description": "Language of the labels: fr (default) or ar."
}
}
}The exact diploma and region values accepted by search_concours, with French and Arabic labels.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Moroccan public holidays for this year and next. Islamic holidays carry approximate=true until the Ministry of Habous confirms the moon sighting.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}School breaks of the current Moroccan school year (ministerial decision), end dates inclusive.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Search Moroccan public-sector recruitment exams (concours) with the website's own filters. Open exams only unless include_closed is true. Returns grade, employer, posts, deadline, salary, the Wadifa Info page url and the official notice url. Use list_filters for exact diploma and region values.
| Argument | Type | Description |
|---|---|---|
| q | string | Keywords: grade, employer or city, in French or Arabic (e.g. 'technicien', 'ministère de la santé', 'متصرف'). |
| city | string | City name. |
| lang | string | Language of the labels: fr (default) or ar. |
| page | integer | Page number, default 1. |
| size | integer | Results per page, 1-50, default 20. |
| region | string | Region value from list_filters (Arabic name). |
| diploma | string | Diploma filter value from list_filters (Arabic label). |
| specialty | string | Specialty, e.g. 'informatique', 'droit'. |
| include_closed |
Search the library of past Moroccan public recruitment exam papers (sujets / نماذج مباريات), many with a correction.
| Argument | Type | Description |
|---|---|---|
| q | string | Keywords: grade, employer, subject or year. |
| lang | string | Language of the labels: fr (default) or ar. |
| page | integer | Page number, default 1. |
| size | integer | Results per page, 1-100, default 20. |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"description": "Keywords: grade, employer, subject or year."
},
"lang": {
"enum": [
"fr",
"ar"
],
"type": "string",
"description": "Language of the labels: fr (default) or ar."
},
"page": {
"type": "integer",
"description": "Page number, default 1."
},
"size": {
"type": "integer",
"description": "Results per page, 1-100, default 20."
}
}
}| boolean |
| Also return exams whose deadline has passed. |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"description": "Keywords: grade, employer or city, in French or Arabic (e.g. 'technicien', 'ministère de la santé', 'متصرف')."
},
"city": {
"type": "string",
"description": "City name."
},
"lang": {
"enum": [
"fr",
"ar"
],
"type": "string",
"description": "Language of the labels: fr (default) or ar."
},
"page": {
"type": "integer",
"description": "Page number, default 1."
},
"size": {
"type": "integer",
"description": "Results per page, 1-50, default 20."
},
"region": {
"type": "string",
"description": "Region value from list_filters (Arabic name)."
},
"diploma": {
"type": "string",
"description": "Diploma filter value from list_filters (Arabic label)."
},
"specialty": {
"type": "string",
"description": "Specialty, e.g. 'informatique', 'droit'."
},
"include_closed": {
"type": "boolean",
"description": "Also return exams whose deadline has passed."
}
}
}