Skip to main content

NomosAI — Assistant juridique IA

Serveur MCP pour Claude Desktop et Claude Code. Anonymise les documents confidentiels, initialise des espaces de travail juridiques et installe des skills spécialisés pour la recherche jurisprudentielle et la rédaction de tâches juridiques.


Installation

Étape 1 — Installer uv (une seule fois par machine) :

  • Windows : ouvre PowerShell et colle :
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  • Mac / Linux : ouvre Terminal et colle :
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

Étape 2 — Installer NomosAI :

uv tool install nomos-ai

Étape 3 — Connecter NomosAI à Claude :


Claude Code (CLI / VS Code / JetBrains)

Méthode recommandée — commande automatique (scope utilisateur) :

claude mcp add --scope user nomos-ai -- uv tool run nomos-ai

Cette commande inscrit le serveur dans ~/.claude.json (fichier d'état interne géré par Claude Code — ne pas éditer directement).

Méthode manuelle — partage au niveau projet (à committer dans le dépôt) :

  1. Créer .mcp.json à la racine du projet :
{
  "mcpServers": {
    "nomos-ai": {
      "command": "uv",
      "args": ["tool", "run", "nomos-ai"]
    }
  }
}
  1. Autoriser le serveur sans prompt de confirmation en ajoutant dans .claude/settings.json (projet) ou ~/.claude/settings.json (utilisateur) :
{
  "enabledMcpjsonServers": ["nomos-ai"]
}
  1. Rendre visible, s'assurer d'avoir dans ~/.claude.json:
{
  "mcpServers": {
      "nomos-ai": {
        "type": "stdio",
        "command": "uv",
        "args": [
          "tool",
          "run",
          "nomos-ai"
        ],
        "env": {}
      }
    }
}

Redémarrer Claude Code (ou lancer /mcp pour reconnecter sans redémarrer).


Claude Desktop (claude.ai/chat)

Éditer le fichier de configuration selon le système :

Système Fichier
Windows %APPDATA%\Claude\claude_desktop_config.json
Mac ~/Library/Application Support/Claude/claude_desktop_config.json

Ajouter ou compléter la section mcpServers :

{
  "mcpServers": {
    "nomos-ai": {
      "command": "uv",
      "args": ["tool", "run", "nomos-ai"]
    }
  }
}

Redémarrer Claude Desktop.


Sécurité — confinement (postes clients)

Sur un poste qui traite des dossiers confidentiels, on confine Claude Code au dossier de travail : il ne peut ni lire ni écrire ailleurs, et documents-confidentiels/ est bloqué partout. Une commande, dans le terminal :

nomos-ai install-confinement            # tout le poste (scope utilisateur)
nomos-ai install-confinement --managed  # imposé par l'IT, non contournable (administrateur)

Le scope --managed pose une politique au niveau machine que l'utilisateur ne peut pas retirer : c'est l'option pour une équipe sécurité. Les shells restent utilisables pour lire et parcourir le dossier (ls, cat, grep, find…) ; seuls la sortie du dossier, documents-confidentiels/, le réseau et l'exécution de code arbitraire sont bloqués. Sans confinement machine, initiate_project pose un hook équivalent par projet.


Licence

Les outils NOMOS exigent une licence valide sur le poste. Contactez nous pour obtenir votre licence contact@nomos-ai.fr


Mise à jour

uv tool upgrade nomos-ai

L'outil MCP check_update indique si une version plus récente existe sur PyPI. L'upgrade lui-même reste cette commande au terminal (le serveur ne peut pas remplacer ses propres fichiers en cours d'exécution). Redémarrer Claude ensuite pour que le nouveau serveur soit pris en compte.

Les skills ne sont pas mis à jour par cette commande : ils vivent dans ~/.claude/skills/, hors du paquet. Après une montée de version, lancer update_nomos_skills depuis Claude pour les skills NomosAI, et update_cabinet_skills pour ceux du cabinet.


Fonctionnalités principales

📖 Référence complète des outils MCP (paramètres, valeurs de retour, codes d'erreur) : docs/MCP.md.

Espace de travail juridique — initiate_project

Initialise un dossier de travail structuré, éventuellement adossé à un workflow du cabinet (cabinet_template, voir ci-dessous) :

  • Arborescence standard (documents-confidentiels/, sources/, documents-anonymisés/, livrables/, artefacts/)
  • CLAUDE.md en deux parties : le socle NOMOS, toujours écrit et annoncé comme impératif (répertoires, confidentialité, hook), puis le workflow du cabinet s'il en a un. NomosAI ne fournit aucun workflow de dossier : la méthode de travail appartient au cabinet.
  • Confinement du dossier : les outils de fichier sont restreints à la racine du projet, documents-confidentiels/ est bloqué partout, les shells limités à la lecture et au parcours. Le confinement est posé au niveau machine (recommandé, voir Sécurité) ou, à défaut, par ce hook de projet. Il n'est écrit ici que si aucun confinement machine n'est déjà en place.

Skills juridiques — initialise_nomos_skills / update_nomos_skills / export_nomos_skills

Un skill est une méthode de travail que Claude applique quand la tâche se présente : quelle source interroger, dans quel ordre, sous quelle forme rendre le résultat.

Outil Effet
initialise_nomos_skills() Installe les skills dans ~/.claude/skills/. N'écrase pas l'existant.
update_nomos_skills() Liste les skills, puis met à jour ceux que l'on choisit (écrase la version locale).
export_nomos_skills() Produit un .zip par skill dans nomos-skills/ sur le Bureau, pour téléversement sur Claude.ai (Réglages > Capacités > Skills) ou glisser-déposer dans la conversation.

Recherche — jurisprudence

Skill Rôle Source
recherche-Ccass_droit-prive Cour de cassation : pourvoi, qualification, manque de base légale, état d'une jurisprudence Judilibre
recherche-fond-droit-prive Juridictions du fond : cours d'appel, TJ, tribunaux de commerce, recherche par n° RG Judilibre
recherche-ce-droit-public Conseil d'État : REP, référés, avis contentieux, responsabilité, contrats administratifs ArianeWeb + Légifrance
recherche-CEDH Cour EDH : article de la Convention, État défendeur, importance, n° de requête HUDOC
recherche-CJUE_UE CJUE et Tribunal : renvoi préjudiciel, recours en annulation, manquement, ECLI EU InfoCuria + EUR-Lex

Recherche — régulateurs et doctrine administrative

Skill Rôle Source
recherche-cnil Délibérations CNIL : sanctions, mises en demeure, référentiels, lignes directrices EDPB Open Legi
recherche-adlc-concurrence Autorité de la concurrence : ententes, abus de position dominante, concentrations MCP ADLC
recherche-commission-dgcomp Commission européenne, DG COMP : art. 101 et 102 TFUE, concentrations, soft law Legal Data Hunter
recherche-acpr Commission des sanctions ACPR : LCB-FT, protection de la clientèle, gouvernance MCP ACPR
recherche-BOFIP_fiscal Doctrine fiscale : BOI, rescrits, opposabilité (art. L. 80 A LPF) MCP BOFiP

Rédaction — Cour de cassation

Skill Rôle
extraction-faits Lit les pièces et produit livrables/faits-pertinents.md, chargé en contexte pour la session
redaction-faits Rédige la section « I.- Faits et procédure » et applique les règles rédactionnelles du cabinet
redaction-MA-cassation Mémoire ampliatif : construction des moyens contre l'arrêt d'appel
redaction-MD-cassation Mémoire en défense : réponse aux moyens adverses
redaction-moyen Chapeau du moyen : grief et « Alors que » de chaque branche

Outillage du cabinet

Skill Rôle
creation-outils-nomos Crée un outil du cabinet — skill ou CLAUDE.md de workflow — le dépose dans le dossier partagé, le déploie sur le poste et organise la phase de test

Le cabinet ajoute ensuite ses propres skills métier, qui ne transitent pas par NomosAI : voir Dossier cabinet.

Dossier cabinet — configure_cabinet / list_templates / initialise_cabinet_skills / update_cabinet_skills

Le cabinet range son propre savoir-faire dans un dossier partagé (Google Drive, SharePoint, réseau interne) : ses skills métier et ses CLAUDE.md de workflow, qu'il rédige lui-même. NomosAI fournit les skills de recherche et les connecteurs ; le contenu du dossier cabinet reste local au cabinet, le serveur le lit depuis le poste.

cabinet-nomos/
├── skills/       ← skills métier du cabinet (un sous-dossier par skill, avec SKILL.md)
├── templates/    ← CLAUDE.md de workflow, un .md par type de dossier récurrent
└── _zips/        ← archives générées pour l'upload sur claude.ai / Cowork
  • configure_cabinet(cabinet_path=…) déclare le dossier sur le poste (écrit ~/.nomos-cabinet/config.json) ; sans argument, il affiche l'état courant. Le skill mise-en-place_NOMOS le fait aussi lors de l'installation.
  • list_templates() liste dans le chat les workflows du cabinet ; initiate_project(directory=…, cabinet_template="litige-commercial") pose le CLAUDE.md correspondant dans le dossier d'affaire.
  • initialise_cabinet_skills() déploie les skills du cabinet vers ~/.claude/skills/ sans écraser l'existant ; update_cabinet_skills() les met à jour (écrase) quand un collaborateur a modifié le dossier partagé. Les deux régénèrent les .zip de _zips/ pour Claude Desktop / Cowork.

Recherche ArianeWeb — search_arianeweb / get_decision_ce / get_conclusion

Interroge directement la base de jurisprudence du Conseil d'État :

  • Recherche plein texte ou par numéro dans les décisions CE, CAA, Tribunal des conflits et conclusions de rapporteurs publics
  • get_decision_ce : texte intégral d'une décision CE (visas, motifs, dispositif), écrit en Markdown dans artefacts/. La date est résolue automatiquement à partir du numéro de requête.
  • get_conclusion : conclusions du rapporteur public, écrites en Markdown de travail + PDF officiel.

Dans les deux cas, le texte n'est pas renvoyé dans la réponse (il saturerait le contexte) : l'outil retourne les chemins, à exploiter avec Grep/Read.

Recherche HUDOC (CEDH) — search_hudoc / get_hudoc_decision

Interroge directement la base de jurisprudence de la Cour européenne des droits de l'homme :

  • Recherche structurée : plein texte, numéro de requête, article de la Convention, État défendeur, importance, formation, thésaurus, dates. Par défaut : arrêts de Grande Chambre et de chambre, en français.
  • Téléchargement d'un arrêt ou d'une décision (par itemid ou numéro de requête, avec repli automatique sur l'anglais) en Markdown de travail + PDF officiel + DOCX source, écrits dans artefacts/. Comme pour la CJUE et le Conseil d'État, le texte n'est pas renvoyé dans la réponse : l'outil retourne les chemins, à exploiter avec Grep/Read.

Recherche InfoCuria (CJUE) — search_curia / get_curia_document

Interroge directement la base de jurisprudence de la Cour de justice de l'Union européenne (Cour de justice + Tribunal général) :

  • Recherche plein texte (arrêts, conclusions d'avocat général, ordonnances), avec filtres par juridiction, type de document et dates, et recherche par numéro d'affaire ou ECLI. Chaque résultat expose un extrait surligné du passage correspondant à la requête.
  • Téléchargement et extraction du texte intégral d'un document (par ECLI ou numéro d'affaire), sauvegarde dans artefacts/.

Répertoire de jurisprudence CJUE — browse_curia_digest_sections / browse_curia_digest_position

Parcourt le Répertoire de jurisprudence de la CJUE : un plan de classement thématique distinct d'InfoCuria, où chaque décision est rattachée à une ou plusieurs positions (ex. 3.01.02), chacune assortie d'une maxime résumant le point de droit tranché et d'un lien CELEX, avec les points précis cités.

  • browse_curia_digest_sections liste les 17 sections racine (9 post-Lisbonne, 8 pré-Lisbonne), sans requête réseau.
  • browse_curia_digest_position(code) explore une position : un code de section ou intermédiaire (ex. "3", "3.01") retourne les sous-positions ; un code terminal (ex. "3.01.02") retourne les maximes et décisions citées.
  • Certaines positions comptent plus de 500 maximes : le niveau terminal est paginé (limit, défaut 25, et offset) et filtrable (query, sur la maxime et les citations), avec maximes_only pour un balayage allégé. Sur 3.02.01, query="intérêt à agir" ramène 533 maximes à 1.

Autorités administratives indépendantes — acpr_* / adlc_* / amf_*

Treize outils de recherche dans la pratique décisionnelle de trois autorités, servis depuis des corpus locaux : une fois le corpus en place, la recherche ne dépend d'aucune API tierce et fonctionne hors ligne.

Autorité Corpus Couverture
ACPR décisions + catalogue de soft law 2010 → aujourd'hui
ADLC — Autorité de la concurrence décisions + catalogue de soft law 1988 → aujourd'hui
AMF — Commission des sanctions 443 décisions + 207 documents de doctrine 2022 → aujourd'hui

Pour chaque autorité : recherche plein texte avec filtres (année, type de sanction, type de décision, secteur), accès direct par référence avec deux niveaux de lecture (filter pour trancher la pertinence, full pour le texte intégral structuré), parcours exhaustif par filtres, et recherche dans la soft law.

Entreprises françaises — entreprise_search / entreprise_get / entreprise_bodacc / entreprise_beneficiaires / entreprise_actes / entreprise_bilan

Interroge en temps réel trois sources publiques gratuites :

  • Annuaire des entreprises (DINUM), sans authentification : recherche par nom, SIREN, SIRET ou dirigeant, puis fiche complète (forme juridique, état, siège, capital, code NAF, dirigeants, finances du dernier exercice).
  • BODACC (DILA), sans authentification : annonces légales, avec filtre par famille (créations, modifications, procédures collectives, ventes et cessions).
  • INPI RNE, authentifié : actes déposés (statuts, PV d'AG, modifications), bilans structurés ou PDF, bénéficiaires effectifs. Les PDF se récupèrent via entreprise_acte_download / entreprise_bilan_download (destination : artefacts/ du projet).

Les outils INPI supposent un compte gratuit chez l'INPI : le skill mise-en-place_NOMOS s'en charge de bout en bout, sans que le mot de passe transite par la conversation ni par un fichier du projet. Tant que ce n'est pas fait, les outils DINUM et BODACC restent pleinement fonctionnels et les outils INPI indiquent eux-mêmes la marche à suivre. La consultation des bénéficiaires effectifs suppose en outre une habilitation spécifique auprès de l'INPI (arrêt CJUE C-601/20, juillet 2024).

⚠️ Ces données ne constituent pas un extrait Kbis officiel. Pour un Kbis certifié, consulter infogreffe.fr.

Anonymisation — pseudonymize_file / depseudonymize_file

Détecte et remplace les données personnelles dans les documents .docx, .pdf, .txt, .md et .rst, et produit un Markdown pseudonymisé. Appelé sans chemin, pseudonymize_file balaie de lui-même documents-confidentiels/ (les noms de fichiers ne transitent jamais par le contexte). Supporte le français, l'anglais et cinq autres langues européennes.

Conversion — convert_to_markdown

Convertit en Markdown les fichiers dans un format non supporté nativement (.doc, .odt, .rtf, .html, .htm, .epub, .tex, .org, .wpd) via pandoc. Accepte n'importe quel mélange de fichiers et/ou de dossiers via paths, avec un dossier de destination optionnel (output_dir). Sans paths, traite par défaut le dossier documents-confidentiels/ (les .md produits y restent confidentiels). Les .md servent de cache (pas de reconversion).

pseudonymize_file tente aussi cette conversion automatiquement avant d'échouer sur un format non supporté.

Pré-requis : pandoc installé. Les .doc binaires (que pandoc ne lit pas) nécessitent en plus LibreOffice ; sinon, ré-enregistrez-les en .docx.


Formats supportés

Nativement : .docx · .pdf · .txt · .md · .rst

Via conversion pandoc : .doc · .odt · .rtf · .html · .htm · .epub · .tex · .org · .wpd

Metadata

Release files for nomos-ai 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nomos-ai 1.0.2
File Size Uploaded
nomos_ai-1.0.2.tar.gz 6.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nomos-ai 1.0.2
File Interpreter ABI Platform
nomos_ai-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.0 MB

Release files / nomos_ai-1.0.2.tar.gz

Download URL nomos_ai-1.0.2.tar.gz
Size 6.3 MB
Tags Source
SHA-256 checksum
How to use checksums
19585c783af5adcf92d496b1405f96117999d6629a84d717c7f3d0d68d25c7ed
BLAKE2b-256 checksum
How to use checksums
f444a79d11073e15bc8aa52168e420042c8a5f916c97fc1fff7fd838ffeba98e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / nomos_ai-1.0.2-py3-none-any.whl

Download URL nomos_ai-1.0.2-py3-none-any.whl
Size 5.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cf691b2b160a4b9de5c924c684df0c0726d664ec54852fb2086685305e12036f
BLAKE2b-256 checksum
How to use checksums
a255401b929c846b43ce4689b62dc817e061f1651b819db5ab7787bf389a17fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

This release

1.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page