Koskamo

Droit français sourcé MCP

A community MCP server that connects AI assistants to official French and European legal databases. It allows agents to search, cite, and verify laws, codes, and case law with precise references, ensuring accuracy by checking citations against source texts before responding.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Droit français sourcé MCP logo, by StudjoowCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Studjoow
MCP endpoint (Streamable HTTP)
https://droit.studjoow.com/mcp
Vendor documentation

What you can do with it

  • Search official codes and laws by date
  • Verify legal citations against source texts
  • Retrieve specific articles from the Civil Code
  • Analyze compliance with GDPR or EU regulations

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
droit-francais 1.30.0
MCP protocol
2025-06-18
Tools
13 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Droit français officiel (Légifrance open data, DILA) : codes, lois, décrets, JORF, conventions collectives, jurisprudence (Conseil d'État, Cour de cassation, cours d'appel, Conseil constitutionnel, CNIL). Droit de l'Union européenne en français (EUR-Lex, Office des publications) : règlements, directives, traités, Charte, arrêts de la CJUE. PROTOCOLE OBLIGATOIRE 1. Ne jamais répondre sur le droit français de mémoire : chercher d'abord avec ces outils. 2. Pour une question de fond, croiser la loi applicable ET la jurisprudence. Lire le texte intégral (lire_article, lire_decision), pas seulement les extraits. 3. Utiliser le paramètre date pour la date des faits : un article change dans le temps. Signaler quand la version en vigueur aujourd'hui diffère. 4. Avant de citer une référence, la contrôler avec verifier_references. Une référence INTROUVABLE ou une citation ABSENTE ne doit pas être citée. Les citations entre guillemets sont copiées du texte lu, jamais reconstituées. 5. Chaque affirmation de droit est suivie de sa source : (Code du travail, art. L1237-1), (Cass. soc., 12 juillet 2023, n° 21-21.185), (RGPD, art. 17) ou (CJUE, 13 mai 2014, Google Spain, C-131/12). 6. Terminer par un bloc « Sources » : une ligne par référence avec identifiant Légifrance ou CELEX et lien, repris des résultats. Pour l'UE, le lien est https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=CELEX:<id> et la version consolidée utilisée est indiquée. 7. Si la base ne contient pas la réponse, le dire. Séparer ce que dit le texte (cité) de l'interprétation (signalée comme telle). 8. Information juridique, pas conseil : renvoyer vers Légifrance pour la version faisant foi et vers un avocat pour un cas concret. 9. Pour savoir si un projet est conforme, appeler d'abord analyser_conformite, puis lire chaque texte listé. 10. Pour une question touchant au droit de l'UE (données personnelles, IA, plateformes, consommation, droit d'auteur), croiser le texte européen, sa transposition ou son application en droit français (liens_droit_ue_france) et la jurisprudence (CJUE et juridictions françaises). Limites : base figée à la dernière mise à jour DILA (voir etat_base) ; droit de l'UE limité au périmètre chargé (voir etat_base) et versions consolidées sans valeur officielle ; cours d'appel jusqu'à fin 2023 ; certaines délibérations CNIL sans texte ; jurisprudence non exhaustive (seules les décisions diffusées par la DILA).

Tools

13 advertised

lire_article
Advertised by the server during the last successful anonymous check.

Texte d'un article de code ou de loi, tel qu'en vigueur à une date. code : « Code civil », « Code du travail »... ; numero : « 1240 », « L1221-1 » ; date : AAAA-MM-JJ (défaut aujourd'hui).

lire_article input schema
{
  "type": "object",
  "title": "lire_articleArguments",
  "required": [
    "code",
    "numero"
  ],
  "properties": {
    "code": {
      "type": "string",
      "title": "Code"
    },
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "numero": {
      "type": "string",
      "title": "Numero"
    }
  }
}
lire_article output schema
{
  "type": "object",
  "title": "lire_articleOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
rechercher_loi
Advertised by the server during the last successful anonymous check.

Recherche plein texte dans les articles. base : legi (codes, lois, décrets consolidés, défaut), kali (conventions collectives), jorf (Journal officiel tel que publié) ou tout. Syntaxe : "phrase exacte", AND, OR, NOT, prefixe*. code : restreindre à un code, un texte ou « IDCC 1486 ». date : AAAA-MM-JJ, version en vigueur à cette date (défaut aujourd'hui).

rechercher_loi input schema
{
  "type": "object",
  "title": "rechercher_loiArguments",
  "required": [
    "requete"
  ],
  "properties": {
    "base": {
      "type": "string",
      "title": "Base",
      "default": "legi"
    },
    "code": {
      "type": "string",
      "title": "Code",
      "default": ""
    },
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "limite": {
      "type": "integer",
      "title": "Limite",
      "default": 10
    },
    "requete": {
      "type": "string",
      "title": "Requete"
    }
  }
}
rechercher_loi output schema
{
  "type": "object",
  "title": "rechercher_loiOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lire_texte
Advertised by the server during the last successful anonymous check.

Fiche et plan d'un texte : identifiant LEGITEXT/JORFTEXT, NOR, numéro IDCC d'une convention collective, ou nom (« Code de la consommation »).

lire_texte input schema
{
  "type": "object",
  "title": "lire_texteArguments",
  "required": [
    "identifiant_ou_nom"
  ],
  "properties": {
    "identifiant_ou_nom": {
      "type": "string",
      "title": "Identifiant Ou Nom"
    }
  }
}
lire_texte output schema
{
  "type": "object",
  "title": "lire_texteOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lister_codes
Advertised by the server during the last successful anonymous check.

Liste des codes disponibles.

lister_codes input schema
{
  "type": "object",
  "title": "lister_codesArguments",
  "properties": {}
}
lister_codes output schema
{
  "type": "object",
  "title": "lister_codesOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
rechercher_jurisprudence
Advertised by the server during the last successful anonymous check.

Recherche de décisions. base : jade (juridictions administratives), cass (Cour de cassation), capp (cours d'appel), inca (Cassation inédits), constit (Conseil constitutionnel), cnil. numero : pourvoi ou requête (21-21.185). du/au : AAAA-MM-JJ. tri : pertinence ou date.

rechercher_jurisprudence input schema
{
  "type": "object",
  "title": "rechercher_jurisprudenceArguments",
  "properties": {
    "au": {
      "type": "string",
      "title": "Au",
      "default": ""
    },
    "du": {
      "type": "string",
      "title": "Du",
      "default": ""
    },
    "tri": {
      "type": "string",
      "title": "Tri",
      "default": "pertinence"
    },
    "base": {
      "type": "string",
      "title": "Base",
      "default": ""
    },
    "ecli": {
      "type": "string",
      "title": "Ecli",
      "default": ""
    },
    "limite": {
      "type": "integer",
      "title": "Limite",
      "default": 10
    },
    "numero": {
      "type": "string",
      "title": "Numero",
      "default": ""
    },
    "requete": {
      "type": "string",
      "title": "Requete",
      "default": ""
    },
    "formation": {
      "type": "string",
      "title": "Formation",
      "default": ""
    },
    "juridiction": {
      "type": "string",
      "title": "Juridiction",
      "default": ""
    },
    "publiees_seulement": {
      "type": "boolean",
      "title": "Publiees Seulement",
      "default": false
    }
  }
}
rechercher_jurisprudence output schema
{
  "type": "object",
  "title": "rechercher_jurisprudenceOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lire_decision
Advertised by the server during the last successful anonymous check.

Texte intégral d'une décision à partir de son identifiant (JURITEXT..., CONSTEXT..., CNILTEXT...).

lire_decision input schema
{
  "type": "object",
  "title": "lire_decisionArguments",
  "required": [
    "identifiant"
  ],
  "properties": {
    "identifiant": {
      "type": "string",
      "title": "Identifiant"
    },
    "max_caracteres": {
      "type": "integer",
      "title": "Max Caracteres",
      "default": 20000
    }
  }
}
lire_decision output schema
{
  "type": "object",
  "title": "lire_decisionOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
verifier_references
Advertised by the server during the last successful anonymous check.

Contrôle que chaque référence existe avant de la citer. references : « Code civil 1240 », « LEGIARTI000032041571 », « 21-21.185 », « ECLI:FR:... », « RGPD art. 17 », « règlement (UE) 2024/1689, article 50 », « C-131/12 ». citations : extraits censés figurer mot pour mot dans la référence de même rang. Toute ligne INTROUVABLE ou citation ABSENTE interdit la citation.

verifier_references input schema
{
  "type": "object",
  "title": "verifier_referencesArguments",
  "required": [
    "references"
  ],
  "properties": {
    "date": {
      "type": "string",
      "title": "Date",
      "default": ""
    },
    "citations": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "null"
        }
      ],
      "title": "Citations",
      "default": null
    },
    "references": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "References"
    }
  }
}
verifier_references output schema
{
  "type": "object",
  "title": "verifier_referencesOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lire_texte_ue
Advertised by the server during the last successful anonymous check.

Droit de l'UE : fiche, plan ou article d'un acte, ou texte d'un arrêt. reference : CELEX (32016R0679), alias (RGPD, DSA, DMA, RIA, TFUE, Charte), « règlement (UE) 2016/679 », « directive 93/13/CEE », numéro d'affaire (C-131/12) ou ECLI. article : « 17 », « premier », « Annexe III ».

lire_texte_ue input schema
{
  "type": "object",
  "title": "lire_texte_ueArguments",
  "required": [
    "reference"
  ],
  "properties": {
    "article": {
      "type": "string",
      "title": "Article",
      "default": ""
    },
    "reference": {
      "type": "string",
      "title": "Reference"
    },
    "max_caracteres": {
      "type": "integer",
      "title": "Max Caracteres",
      "default": 20000
    }
  }
}
lire_texte_ue output schema
{
  "type": "object",
  "title": "lire_texte_ueOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
rechercher_droit_ue
Advertised by the server during the last successful anonymous check.

Recherche plein texte dans les règlements, directives, traités et la Charte (en français). acte : restreindre à un acte (RGPD, 32022R2065...). Syntaxe : "phrase exacte", AND, OR, NOT, prefixe*.

rechercher_droit_ue input schema
{
  "type": "object",
  "title": "rechercher_droit_ueArguments",
  "required": [
    "requete"
  ],
  "properties": {
    "acte": {
      "type": "string",
      "title": "Acte",
      "default": ""
    },
    "limite": {
      "type": "integer",
      "title": "Limite",
      "default": 10
    },
    "requete": {
      "type": "string",
      "title": "Requete"
    }
  }
}
rechercher_droit_ue output schema
{
  "type": "object",
  "title": "rechercher_droit_ueOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
rechercher_jurisprudence_ue
Advertised by the server during the last successful anonymous check.

Recherche plein texte dans les arrêts de la Cour de justice de l'UE et du Tribunal (en français). du/au : AAAA-MM-JJ. tri : pertinence ou date. Lire ensuite l'arrêt avec lire_texte_ue (numéro d'affaire ou CELEX).

rechercher_jurisprudence_ue input schema
{
  "type": "object",
  "title": "rechercher_jurisprudence_ueArguments",
  "required": [
    "requete"
  ],
  "properties": {
    "au": {
      "type": "string",
      "title": "Au",
      "default": ""
    },
    "du": {
      "type": "string",
      "title": "Du",
      "default": ""
    },
    "tri": {
      "type": "string",
      "title": "Tri",
      "default": "pertinence"
    },
    "limite": {
      "type": "integer",
      "title": "Limite",
      "default": 10
    },
    "requete": {
      "type": "string",
      "title": "Requete"
    }
  }
}
rechercher_jurisprudence_ue output schema
{
  "type": "object",
  "title": "rechercher_jurisprudence_ueOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
liens_droit_ue_france
Advertised by the server during the last successful anonymous check.

Liens entre droit de l'UE et droit français. Sans numero : reference est un acte européen (CELEX, RGPD, « directive 2019/770 »...) et on obtient les textes et articles français qui le transposent ou le citent. Avec numero : reference est un code (« Code de la consommation ») et numero un article (« L217-4 ») : on obtient les actes européens liés. source : transposition (mesures déclarées à l'Union) ou mention (article qui cite l'acte). Liste non exhaustive : seuls sont recensés les rattachements déclarés à l'Union et les citations expresses.

liens_droit_ue_france input schema
{
  "type": "object",
  "title": "liens_droit_ue_franceArguments",
  "required": [
    "reference"
  ],
  "properties": {
    "limite": {
      "type": "integer",
      "title": "Limite",
      "default": 15
    },
    "numero": {
      "type": "string",
      "title": "Numero",
      "default": ""
    },
    "source": {
      "type": "string",
      "title": "Source",
      "default": ""
    },
    "reference": {
      "type": "string",
      "title": "Reference"
    }
  }
}
liens_droit_ue_france output schema
{
  "type": "object",
  "title": "liens_droit_ue_franceOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
analyser_conformite
Advertised by the server during the last successful anonymous check.

Pré-analyse de conformité d'un projet en France et dans l'UE (RGPD, cookies, vente en ligne, abonnements, IA, DSA, droit d'auteur, mentions légales...). description : le projet en quelques phrases (activité, public, données collectées, paiement, prestataires, usage de l'IA). domaines : clés à forcer, séparées par des virgules. Renvoie les obligations probables, la question à vérifier pour chacune et l'outil pour lire le texte. Lire ensuite chaque texte avant de conclure : information juridique, pas certification.

analyser_conformite input schema
{
  "type": "object",
  "title": "analyser_conformiteArguments",
  "required": [
    "description"
  ],
  "properties": {
    "domaines": {
      "type": "string",
      "title": "Domaines",
      "default": ""
    },
    "description": {
      "type": "string",
      "title": "Description"
    }
  }
}
analyser_conformite output schema
{
  "type": "object",
  "title": "analyser_conformiteOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
etat_base
Advertised by the server during the last successful anonymous check.

Comptes, date des dumps et du dernier incrémental DILA appliqué pour chaque base : à citer pour indiquer l'actualité des données.

etat_base input schema
{
  "type": "object",
  "title": "etat_baseArguments",
  "properties": {}
}
etat_base output schema
{
  "type": "object",
  "title": "etat_baseOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2229 ms
95th percentile latency
2229 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2229 ms · metadata changed · 13 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http droit-franc-ais-source-mcp https://droit.studjoow.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add droit-franc-ais-source-mcp --url https://droit.studjoow.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable droit-franc-ais-source-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "droit-franc-ais-source-mcp": {
      "url": "https://droit.studjoow.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "droit-franc-ais-source-mcp": {
      "type": "streamableHttp",
      "url": "https://droit.studjoow.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start droit-franc-ais-source-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "droit-franc-ais-source-mcp": {
      "type": "http",
      "url": "https://droit.studjoow.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http droit-franc-ais-source-mcp https://droit.studjoow.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "droit-franc-ais-source-mcp": {
      "url": "https://droit.studjoow.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "droit-franc-ais-source-mcp": {
      "serverUrl": "https://droit.studjoow.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Droit français sourcé MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.