Wadifa Info: Morocco Public Jobs

Moroccan public-sector jobs: open recruitment exams, past papers, salaries, holidays.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
70%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_exam_paper' description lacks action verbin get_exam_paper

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,091Tokens (tool definitions)
~799 BTypical response size
Moderate attention impact (0.85% of 128k context)

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": {
    "morocco-public-jobs": {
      "url": "https://www.wadifa-info.com/mcp"
    }
  }
}

Remote endpoints

https://www.wadifa-info.com/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_concours(q, diploma, specialty, region, city, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Keywords: grade, employer or city, in French or Arabic (e.g. 'technicien', 'ministère de la santé', 'متصرف')."
    },
    "diploma": {
      "type": "string",
      "description": "Diploma filter value from list_filters (Arabic label)."
    },
    "specialty": {
      "type": "string",
      "description": "Specialty, e.g. 'informatique', 'droit'."
    },
    "region": {
      "type": "string",
      "description": "Region value from list_filters (Arabic name)."
    },
    "city": {
      "type": "string",
      "description": "City name."
    },
    "include_closed": {
      "type": "boolean",
      "description": "Also return exams whose deadline has passed."
    },
    "page": {
      "type": "integer",
      "description": "Page number, default 1."
    },
    "size": {
      "type": "integer",
      "description": "Results per page, 1-50, default 20."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "ar"
      ],
      "description": "Language of the labels: fr (default) or ar."
    }
  },
  "required": []
}
🟢get_concours(id, lang)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Exam id (the id field of search_concours)."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "ar"
      ],
      "description": "Language of the labels: fr (default) or ar."
    }
  },
  "required": [
    "id"
  ]
}
🟢search_exam_papers(q, page, size, lang)

Search the library of past Moroccan public recruitment exam papers (sujets / نماذج مباريات), many with a correction.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Keywords: grade, employer, subject or year."
    },
    "page": {
      "type": "integer",
      "description": "Page number, default 1."
    },
    "size": {
      "type": "integer",
      "description": "Results per page, 1-100, default 20."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "ar"
      ],
      "description": "Language of the labels: fr (default) or ar."
    }
  },
  "required": []
}
🟢get_exam_paper(id, lang)

One past exam paper by id: description, page images, PDF and the editorial correction when there is one.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Paper id (the id field of search_exam_papers)."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "ar"
      ],
      "description": "Language of the labels: fr (default) or ar."
    }
  },
  "required": [
    "id"
  ]
}
🟢civil_service_salaries(grade, lang)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "grade": {
      "type": "string",
      "description": "Optional text to keep only matching grades (e.g. 'ingénieur', 'technicien')."
    },
    "lang": {
      "type": "string",
      "enum": [
        "fr",
        "ar"
      ],
      "description": "Language of the labels: fr (default) or ar."
    }
  },
  "required": []
}
🟢public_holidays

Moroccan public holidays for this year and next. Islamic holidays carry approximate=true until the Ministry of Habous confirms the moon sighting.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢school_holidays

School breaks of the current Moroccan school year (ministerial decision), end dates inclusive.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢list_filters

The exact diploma and region values accepted by search_concours, with French and Arabic labels.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools