MCP : 3 prompts (workflows utilisateur) + 3 resources (catalogues)#7
Open
hermias1 wants to merge 1 commit into
Open
MCP : 3 prompts (workflows utilisateur) + 3 resources (catalogues)#7hermias1 wants to merge 1 commit into
hermias1 wants to merge 1 commit into
Conversation
Prompts — invocables par l'utilisateur (slash-commands des clients MCP), chacun packe un workflow qui exige une discipline d'enchaînement de tools : - verifier_citation(reference, citation?) : une référence invoquée existe-t-elle et dit-elle bien cela ? Texte intégral à l'appui, verdict explicite, URL officielle. L'anti-hallucination juridique. - droit_applicable(code, article, date_des_faits) : version en vigueur À LA DATE DES FAITS (le piège des versions), timeline, décisions citantes, URL Légifrance datée. - dossier_jurisprudence(sujet, contexte?) : recherche fédérée → lecture des TEXTES INTÉGRAUX (jamais les snippets) → synthèse hiérarchisée par autorité avec identifiants et liens. Resources — catalogues consultables sans appel de tool (pattern 'content catalog' de la doc du Connectors Directory), calculés depuis les sources uniques (legi.SUPPORTED_CODES, juriadmin.*) pour ne jamais dériver : - justicelibre://codes-supportes (26 codes + LEGITEXT) - justicelibre://juridictions (CE + 9 CAA + 40 TA) - justicelibre://formats-identifiants (matrice identifiant → tool) tests/test_prompts_resources.py verrouille le rendu des prompts, la validité JSON des resources, et surtout la cohérence : chaque tool référencé par la matrice doit exister sur le serveur. Vérifié aussi par un round-trip client MCP réel en stdio (30 tools + 3 prompts + 3 resources).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
JusticeLibre expose des tools, mais ni prompts ni resources — les deux autres primitives MCP. Cette PR complète le serveur :
Les 3 prompts
verifier_citation(reference, citation?)build_source_url. Aucun outil concurrent n'offre ça en une commande.droit_applicable(code, article, date_des_faits)get_law_versions, décisions citantes, URL Légifrance datée.dossier_jurisprudence(sujet, contexte?)Les 3 resources
Calculées depuis les sources uniques (
legi.SUPPORTED_CODES,juriadmin.*) — pas des copies de chiffres qui dériveraient :justicelibre://codes-supportes— les 26 codes/textes acceptés, avec LEGITEXTjusticelibre://juridictions— CE + 9 CAA + 40 TAjusticelibre://formats-identifiants— la matrice identifiant → tool d'extraction (la connaissance queget_decision_textne redonne aujourd'hui qu'en message d'erreur, ici consultable a priori)Vérification
tests/test_prompts_resources.py(offline, style maison, branché dansrun_all.sh) : enregistrement, rendu des prompts avec/sans arguments optionnels, validité JSON, et un verrou de cohérence — chaque tool référencé par la matrice doit exister sur le serveur (un renommage de tool casse le test).application/json.test_source_urlettest_citationstoujours verts.Notes
main). Conflit trivial d'une ligne attendu danstests/run_all.shavec MCP : annotations title + readOnlyHint=True sur les 30 tools #2/MCP : erreurs structurées, pannes de source visibles, secrets hors conversation, pagination annoncée #4 (ajouts adjacents).about_justicelibre(les volumes y sont dupliqués à la main) — décision laissée hors de cette PR.