Skip to main content
Glama

Server Details

Recherche d'offres de stage et d'alternance en France via le réseau iQuesta.com

Ownership verified
Status
Healthy
Uptime
99.6% over 75 days
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
iQuesta/MCP-iQuesta
GitHub Stars
0
Server Listing
iQuesta MCP Server

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: list_filters resolves filter IDs, search_jobs performs the search, and get_job retrieves full details for a specific offer. The descriptions explicitly explain when to use list_filters before search_jobs, preventing misselection.

Naming Consistency5/5

All three tools follow the same consistent verb_noun snake_case pattern: get_job, list_filters, search_jobs. There are no mixed conventions or vague standalone verbs.

Tool Count5/5

Three tools are well-scoped for a job-search MCP: one for lookup of filter values, one for searching, and one for fetching job details. Each tool earns its place without redundancy.

Completeness4/5

The surface covers the core job-search workflow: resolving filters, searching offers, and retrieving detailed job information. Minor gaps exist, such as no explicit pagination or company/category browsing tools, but agents can likely work around these through search parameters.

Available Tools

3 tools
get_jobAInspect

Récupère le détail complet d'une offre par son ID

NameRequiredDescriptionDefault
job_idYesIdentifiant de l'offre dans iQuesta

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It states it retrieves 'full details', but does not specify what those details include, nor any rate limits, authentication needs, or side effects. For a simple read operation, minimal but acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the essential action. No unnecessary words; every part contributes to understanding. Ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should hint at the return structure. It says 'détail complet' but lacks specifics. For a simple retrieval tool, it is adequate but not rich. Could mention that it returns all fields of the job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for job_id. The description adds no additional meaning beyond what the schema provides ('par son ID' is already implicit). Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Récupère le détail complet d'une offre par son ID' clearly states the verb (récupère), resource (offre), and method (par son ID). It effectively distinguishes from sibling tools list_filters and search_jobs, which imply different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a single job by ID, but does not explicitly state when to use this tool over siblings (e.g., 'Use search_jobs for filtering, list_filters for filter options'). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filtersAInspect

Liste les valeurs possibles pour les filtres de recherche (disciplines, régions, types de contrat). À appeler avant search_jobs si l'utilisateur mentionne un secteur ou une région, pour convertir le nom en ID correct.

NameRequiredDescriptionDefault
filterYesQuel filtre lister. 'all' retourne les quatre.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the action (listing values) but does not disclose details like return format or side effects. For a read-only listing tool, this is adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. Every part is relevant and essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and no output schema, the description is fairly complete. It covers the action, usage context, and parameter purpose, leaving little ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with enums and descriptions. The description adds value by explaining the purpose of the tool (converting names to IDs), which enriches understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists possible values for search filters, naming specific filter types (disciplines, regions, contract types). It distinguishes itself from siblings by indicating it should be called before search_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool: before search_jobs when a user mentions a sector or region, to convert the name to an ID. It provides clear context but does not mention alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jobsAInspect

Recherche des offres de stage, alternance, emploi ou job étudiant sur iQuesta.com. Avant de lancer la recherche, demander à l'utilisateur quel type de contrat il recherche (stage, alternance, emploi, job étudiant) si ce n'est pas précisé dans sa demande. Pour filtrer par région, discipline ou type de contrat, appeler d'abord list_filters pour obtenir les IDs valides — ne jamais deviner un ID.

NameRequiredDescriptionDefault
termNoMots-clés recherchés dans le titre de l'annonce (ex: 'développeur web', 'assistant marketing', 'ressources humaines')
beginNoMois de début souhaité de la mission, de 1 (Janvier) à 12 (Décembre). Omettre si aucune contrainte de date.
limitNoNombre maximum de résultats à retourner (défaut: 15, max recommandé: 20)
regionsNoID de région française, obtenu via list_filters(filter='regions'). Exemple : 10 pour Ile de France, 6 pour Bretagne. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner.
durationNoDurée maximale de la mission en mois (ex: 3, 6, 12, 24). Omettre si aucune contrainte de durée.
matieresNoListe d'IDs de matières, obtenus via list_filters(filter='matieres'). Plus précis que 'disciplines' (ex: 'Développement web' plutôt que 'Informatique'). Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner.
contractsNoID du type de contrat. Valeurs : '1' (Stage), '2' (Alternance), '-4' (Emploi), '-5' (Job étudiant). Toujours demander ce critère à l'utilisateur s'il ne l'a pas précisé — ne jamais omettre ce filtre.
descriptionNoMots-clés recherchés dans le texte/descriptif complet de l'annonce (missions, compétences requises, etc.). À utiliser pour cibler des compétences ou détails précis absents du titre.
disciplinesNoID de discipline, obtenu via list_filters(filter='disciplines'). Exemple : 27 pour Informatique - Développement, 3 pour Commerce / Distribution / Vente. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses a mandatory workflow (ask user for contract type, call list_filters before filtering, never guess IDs), but says nothing about what a result set looks like, pagination/limit interaction beyond the schema, or read-only semantics. Some procedural value, meaningful gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose before the two operational rules. No filler and no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, all-optional search tool with no annotations and no output schema, the description supplies the workflow needed to call it safely (contract type confirmation, ID lookup via list_filters). Minor gap: no hint about result shape or how limit interacts with pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters. The description adds only a marginal procedural note that contracts must be obtained from the user and never omitted, which is genuine but thin. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb + resource ('Recherche des offres...') and enumerates the contract types it covers, plus the target site iQuesta.com. An agent can distinguish it from get_job (single retrieval) and list_filters (ID lookup) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use behavior ('demander à l'utilisateur quel type de contrat... si ce n'est pas précisé') and explicit routing to the sibling ('appeler d'abord list_filters... ne jamais deviner un ID'). Both prerequisites and the failure mode to avoid are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedsearch_jobs1 field changed
      • changedInput schema / properties / disciplines / description
        Previous value: -"ID de discipline, obtenu via list_filters(filter='disciplines'). Exemple : 9 pour Informatique, 5 pour Economie/Gestion/Commerce. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner."New value: +"ID de discipline, obtenu via list_filters(filter='disciplines'). Exemple : 27 pour Informatique - Développement, 3 pour Commerce / Distribution / Vente. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner."
  2. 1 tool update
    • Changedsearch_jobs1 field changed
      • changedInput schema / properties / contracts / description
        Previous value: -"ID du type de contrat, obtenu via list_filters(filter='contracts'). Valeurs possibles : '1' (Stage), '2' (Contrat en alternance), '-4' (Emploi), '-5' (Job étudiant). Omettre pour rechercher tous types confondus."New value: +"ID du type de contrat. Valeurs : '1' (Stage), '2' (Alternance), '-4' (Emploi), '-5' (Job étudiant). Toujours demander ce critère à l'utilisateur s'il ne l'a pas précisé — ne jamais omettre ce filtre."
  3. 1 tool update
    • Changedsearch_jobs2 fields changed
      • changedInput schema / properties / limit / default
        Previous value: -10New value: +15
      • changedInput schema / properties / limit / description
        Previous value: -"Nombre maximum de résultats à retourner (défaut: 10, max recommandé: 20)"New value: +"Nombre maximum de résultats à retourner (défaut: 15, max recommandé: 20)"
  4. 2 tool updates
    • Changedlist_filters2 fields changed
      • changedInput schema / properties / filter / description
        Previous value: -"Quel filtre lister. 'all' retourne les trois."New value: +"Quel filtre lister. 'all' retourne les quatre."
      • changedInput schema / properties / filter / enum
        Previous value: -[
        -  "disciplines",
        -  "regions",
        -  "contracts",
        -  "all"
        -]New value: +[
        +  "disciplines",
        +  "matieres",
        +  "regions",
        +  "contracts",
        +  "all"
        +]
    • Changedsearch_jobs4 fields changed
      • addedInput schema / properties / description
        Added value: +{
        +  "description": "Mots-clés recherchés dans le texte/descriptif complet de l'annonce (missions, compétences requises, etc.). À utiliser pour cibler des compétences ou détails précis absents du titre.",
        +  "type": "string"
        +}
      • addedInput schema / properties / matieres
        Added value: +{
        +  "description": "Liste d'IDs de matières, obtenus via list_filters(filter='matieres'). Plus précis que 'disciplines' (ex: 'Développement web' plutôt que 'Informatique'). Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner.",
        +  "items": {
        +    "type": "integer"
        +  },
        +  "type": "array"
        +}
      • changedInput schema / properties / term / description
        Previous value: -"Mots-clés de recherche (ex: 'développeur web', 'assistant marketing', 'ressources humaines')"New value: +"Mots-clés recherchés dans le titre de l'annonce (ex: 'développeur web', 'assistant marketing', 'ressources humaines')"
      • changedInput schema / required
        Previous value: -[
        -  "term"
        -]New value: +[]
  5. 1 tool update
    • Removedget_similar_jobs
  6. 1 tool update
    • Changedsearch_jobs7 fields changed
      • changedInput schema / properties / begin / description
        Previous value: -"Date de début dans iQuesta (Mois) (ex: 1 pour Janvier, etc.)"New value: +"Mois de début souhaité de la mission, de 1 (Janvier) à 12 (Décembre). Omettre si aucune contrainte de date."
      • changedInput schema / properties / contracts / description
        Previous value: -"Type de contrat : 1 pour stage, 2 pour alternance, -5 Job étudiant, -4 Emploi"New value: +"ID du type de contrat, obtenu via list_filters(filter='contracts'). Valeurs possibles : '1' (Stage), '2' (Contrat en alternance), '-4' (Emploi), '-5' (Job étudiant). Omettre pour rechercher tous types confondus."
      • changedInput schema / properties / disciplines / description
        Previous value: -"Domaine dans iQuesta (ex: 61 pour Accueil/Hôte(sse), etc.)"New value: +"ID de discipline, obtenu via list_filters(filter='disciplines'). Exemple : 9 pour Informatique, 5 pour Economie/Gestion/Commerce. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner."
      • changedInput schema / properties / duration / description
        Previous value: -"Durée maximale en mois dans iQuesta(ex: 3 pour 3 mois)"New value: +"Durée maximale de la mission en mois (ex: 3, 6, 12, 24). Omettre si aucune contrainte de durée."
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 10,
        +  "description": "Nombre maximum de résultats à retourner (défaut: 10, max recommandé: 20)",
        +  "type": "integer"
        +}
      • changedInput schema / properties / regions / description
        Previous value: -"Région dans iQuesta (ex: 1 pour Grand Est,etc.)"New value: +"ID de région française, obtenu via list_filters(filter='regions'). Exemple : 10 pour Ile de France, 6 pour Bretagne. Toujours vérifier la liste complète avant de choisir un ID, ne jamais deviner."
      • changedInput schema / properties / term / description
        Previous value: -"Mots-clés de recherche"New value: +"Mots-clés de recherche (ex: 'développeur web', 'assistant marketing', 'ressources humaines')"
  7. 4 tool updates
    • First observedget_job
    • First observedget_similar_jobs
    • First observedlist_filters
    • First observedsearch_jobs

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query a corpus of job offers via natural language, using BM25 search, facets, and trend analysis to answer questions about skills, positions, and timelines.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to search and retrieve French job profiles, RNCP certifications, training programs, training centers, and skills comparisons in read-only mode without requiring an account.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Integrates Eurostat quality-of-life metrics and real-time job searching to help users find international internships in high-ranking European cities. It enables ranking cities based on personalized criteria like safety or transport and retrieves structured internship listings via the Tavily API.
    1
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables searching for AI/ML internships and entry-level positions across multiple job sites including LinkedIn, Indeed, Glassdoor, ZipRecruiter, and Monster. Automatically filters for Python proficiency and relevant AI/ML skills while providing structured job data with application URLs and detailed requirements.
    2
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.