hal-mcp demonstrates solid fundamentals: all 6 tools have clear action-verb names (search_, get_, export_) and substantive descriptions (100-200 chars). Input schemas are fully visible with typed parameters and descriptions. However, output schemas are undocumented, responses are inferred from code but not formally declared. Parameter constraints (enums for doc_type, sort, fmt) are documented in descriptions but not enforced as JSON Schema enums. Error handling is absent: no guidance on retryability, user-fixable vs fatal errors, or recovery paths. The server is read-only (no destructive operations), which mitigates some risk, but LLMs still need clear error semantics.
Exporte des publications au format bibliographique (BibTeX, EndNote, CSV, TEI).
Récupère toute la production d'un chercheur via son IdHAL. L'IdHAL (ex. 'jane-dupont') est l'identifiant auteur unique de HAL : il évite les homonymes et regroupe les variantes de nom. Idéal pour dresser la liste exhaustive et fiable des publications d'une personne.
Récupère la fiche détaillée d'une publication par son identifiant HAL.
Statistiques agrégées sur des publications (comptages par facette). Utile pour : production d'un labo par année, répartition par type de document, mots-clés dominants, auteurs les plus prolifiques sur un thème.
Recherche des publications dans l'archive ouverte HAL.
Recherche un laboratoire ou une structure de recherche dans HAL.
Output schemas not documented. Tool descriptions state what is returned (dict, str) but do not specify field names, types, or structure. LLMs cannot plan downstream calls or extract specific fields without trial-and-error.
Parameter constraints (doc_type, sort, fmt, group_by) are documented in descriptions but not declared as JSON Schema enums. LLMs cannot programmatically discover valid values and may hallucinate invalid options.
No error handling guidance. Tools do not document what errors are possible, whether they are retryable, or what the LLM should do next. A failed API call returns no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Pagination not documented. search_publications and get_author_production accept 'rows' but do not document offset/start parameter or total count in response. Large result sets may be truncated silently.
Parameter 'rows' lacks explicit bounds in schema. Descriptions state 'max 100' or 'max 50' but JSON Schema does not enforce maxItems. LLMs may pass unbounded values.