HAL MCP Publisher
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HAL_PASSWORD | No | HAL account password | |
| HAL_USERNAME | No | HAL account username (alternative to keyring for production) | |
| HAL_MCP_STATE_DIR | No | Directory for storing drafts and logs (defaults to %LOCALAPPDATA%/hal-mcp on Windows or ~/hal-mcp) | |
| HAL_ALLOW_PRODUCTION | No | Set to '1' to enable real submissions to production | 0 |
| HAL_PREPROD_PASSWORD | No | HAL preprod environment password | |
| HAL_PREPROD_USERNAME | No | HAL preprod environment username |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_publicationsA | Recherche des publications dans l'archive ouverte HAL. Args: query: termes de recherche (titre, résumé, auteur, mots-clés...). year_from: année de début (incluse), ex. 2020. year_to: année de fin (incluse), ex. 2024. doc_type: type de document lisible : article, these, hdr, communication, ouvrage, chapitre, rapport, poster, brevet, image, video. open_access_only: ne garder que les publications en accès ouvert. with_file_only: ne garder que les dépôts avec fichier (pas les notices). sort: 'pertinence' (défaut), 'date' (plus récent d'abord). rows: nombre de résultats (max 100). start: décalage de pagination, à incrémenter pour la page suivante. portal: portail (minuscules) ou collection (majuscules), facultatif. |
| get_publicationA | Récupère la fiche détaillée d'une publication par son identifiant HAL. Args: hal_id: identifiant HAL, ex. 'hal-00001234' ou 'tel-00987654'. |
| export_citationsA | Exporte des publications au format bibliographique (BibTeX, EndNote, CSV, TEI). Args: query: termes de recherche identifiant les publications à exporter. fmt: 'bibtex' (défaut), 'endnote', 'csv', 'xml-tei'. rows: nombre de références à exporter (max 100). |
| get_publication_statsA | 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. Args: query: termes de recherche définissant l'ensemble à analyser. group_by: dimension d'agrégation : 'annee', 'type', 'motscles', 'auteur'. |
| get_author_productionA | Récupère une page de 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 des publications d'une personne. Pour paginer au-delà de rows, utiliser search_publications(query='authIdHal_s:"prenom-nom"', start=...). Args: id_hal: l'IdHAL du chercheur, au format 'prenom-nom' (ex. 'jane-dupont'). year_from: année de début (incluse). year_to: année de fin (incluse). doc_type: filtrer par type : article, these, communication, ouvrage, etc. sort: 'date' (défaut, plus récent d'abord) ou 'pertinence'. rows: nombre de publications à renvoyer (max 100). include_coauthors: si vrai, ajoute la liste des co-auteurs les plus fréquents (comptages). |
| search_structuresA | Recherche un laboratoire ou une structure de recherche dans HAL. Args: query: nom ou acronyme de la structure (ex. 'LIP6', 'physique quantique'). rows: nombre de résultats (max 50). |
| search_referencesC | Rechercher dans AuréHAL : author, structure, domain, journal, doctype, instance. query accepte la syntaxe Solr. Vérifier valid_s et les dates des affiliations. |
| get_doi_metadataA | Récupérer une proposition de métadonnées Crossref à partir du DOI. Aucun dépôt. |
| check_duplicatesA | Chercher les notices au titre exact ou au DOI. Aucun résultat ne garantit pas l'absence de doublon. |
| prepare_depositA | Créer un brouillon local immuable ART/COMM : métadonnées TEI et PDF optionnel. Résoudre les structure_ids dans AuréHAL avant préparation. Ne pas inventer de licence. Vérifier check_duplicates. Présenter le résultat complet à l'utilisateur avant submit_deposit. create : nouveau dépôt ; new_version : cible sans vN et PDF ; metadata_update : cible avec vN, métadonnées complètes (remplacement, pas patch), sans PDF. Aucun appel réseau. |
| inspect_depositC | Relire le brouillon exact, son empreinte, son test et le journal d'envoi. |
| validate_depositA | Tester le paquet auprès de HAL avec X-test: 1 (sans dépôt). Transmet PDF et métadonnées. Nécessite les identifiants de l'environnement choisi. À effectuer avant submit_deposit. |
| submit_depositA | ENVOI RÉEL du brouillon testé. Appeler uniquement sur instruction explicite de l'utilisateur après présentation du fichier, des auteurs/affiliations, de la licence et de l'embargo. Fournir l'empreinte relue et confirm=true. Production exige HAL_ALLOW_PRODUCTION=1. Une tentative est journalisée et ne peut pas être rejouée automatiquement. |
| get_deposit_statusC | Statut SWORD authentifié : accept=en ligne, verify=validation, update=corrections, delete=refus. Les mots de passe retournés par HAL sont filtrés. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Deposit lifecycle tools (prepare, validate, submit, status, inspect) are clearly separated by stage, and search/query tools have distinct purposes. Minor overlap exists between search_publications and get_author_production, and between search_structures and search_references, but descriptions provide enough context to choose correctly.
All tool names follow a consistent snake_case verb_noun pattern: validate_deposit, submit_deposit, get_publication, search_structures, export_citations, etc. The naming style is uniform and predictable across the entire surface.
14 tools is a well-scoped set for a HAL publishing and search server. Each tool covers a distinct part of the domain without unnecessary bloat or excessive fragmentation.
The deposit workflow is well covered: prepare, validate, submit, status, and inspect, plus useful helpers like DOI metadata and duplicate checking. Search, export, statistics, author production, and structure/reference lookup are also present; only remote update/delete operations are not directly exposed, but the workflow describes update/delete states and local metadata_update mode.