mpc-legifrance

mpc-legifrance

MCP server covering French law via the PISTE platform: 62 tools wrapping the full Légifrance API (legislation, codes, Journal Officiel, jurisprudence…)

Category
访问服务器

README

mcp-legifrance

Serveur MCP HTTP Streamable donnant accès à l'intégralité de l'API Légifrance (PISTE / DILA) depuis n'importe quel client MCP : Demeter, Claude Desktop, Claude Code, applications Tauri/Electron, ou tout LLM compatible MCP.

62 outils couvrant les codes, lois, décrets, Journal Officiel, conventions collectives, jurisprudence, questions parlementaires, circulaires, et plus.


Aperçu

mcp-legifrance en action dans Demeter


Prérequis

  • Python 3.11+
  • Un compte sur piste.gouv.fr avec accès à l'API Légifrance (gratuit)

Note : Si vous utilisez déjà mcp-judilibre, les identifiants PISTE sont les mêmes. Il suffit d'ajouter la souscription à l'API Légifrance dans votre application PISTE existante.


Obtenir les identifiants API Légifrance

L'API Légifrance est exposée via la plateforme PISTE (Plateforme d'Intermédiation des Services pour la Transformation de l'État), gérée par la DILA.

1. Créer un compte PISTE

Rendez-vous sur https://piste.gouv.fr et cliquez sur S'inscrire. L'inscription est gratuite et ouverte à tous (particuliers, entreprises, collectivités).

2. Créer une application (ou réutiliser l'existante)

Une fois connecté :

  1. Allez dans Mes applicationsNouvelle application (ou ouvrez votre application existante)
  2. Donnez un nom à votre application (ex: mcp-legifrance)
  3. Sélectionnez l'environnement Sandbox pour commencer (accès immédiat, données réelles en lecture seule)

3. Souscrire à l'API Légifrance

  1. Dans le catalogue, recherchez Légifrance
  2. Cliquez sur Souscrire → choisissez votre application
  3. La souscription est automatiquement approuvée pour l'environnement Sandbox

4. Récupérer les identifiants

Dans votre application PISTE, copiez :

  • Client ID (LEGIFRANCE_CLIENT_ID)
  • Client Secret (LEGIFRANCE_CLIENT_SECRET)

Note : L'environnement Sandbox et l'environnement Production utilisent les mêmes données. La différence porte uniquement sur les quotas. Pour un usage intensif, faites une demande d'accès Production depuis PISTE.


Installation

Installation locale (Python)

git clone https://github.com/ktulu-analog/mcp-legifrance.git
cd mcp-legifrance
python -m venv .venv
source .venv/bin/activate   # Windows : .venv\Scripts\activate
pip install -r requirements.txt

Installation via Docker

git clone https://github.com/ktulu-analog/mcp-legifrance.git
cd mcp-legifrance
docker build -t mcp-legifrance .

Configuration

Copiez .env.example en .env et renseignez vos identifiants :

cp .env.example .env
LEGIFRANCE_CLIENT_ID=votre_client_id
LEGIFRANCE_CLIENT_SECRET=votre_client_secret

Ou exportez-les directement dans votre shell :

export LEGIFRANCE_CLIENT_ID=votre_client_id
export LEGIFRANCE_CLIENT_SECRET=votre_client_secret

Démarrage

En local (Python)

python server.py

Options disponibles :

--host   Adresse d'écoute  (défaut : 0.0.0.0)
--port   Port d'écoute     (défaut : 6502)
--path   Chemin MCP        (défaut : /mcp)

Exemple sur un port personnalisé :

python server.py --port 8080

Via Docker

docker run -p 6502:6502 \
  -e LEGIFRANCE_CLIENT_ID=votre_client_id \
  -e LEGIFRANCE_CLIENT_SECRET=votre_client_secret \
  mcp-legifrance

Le serveur peut tourner sur n'importe quelle machine accessible en réseau. Les clients MCP se connectent alors à http://adresse-du-serveur:6502/mcp — le serveur n'a pas besoin d'être sur la même machine que le client.

Le serveur est accessible à http://localhost:6502/mcp.


Intégration avec un client MCP

Claude Desktop

Dans claude_desktop_config.json :

{
  "mcpServers": {
    "legifrance": {
      "url": "http://localhost:6502/mcp"
    }
  }
}

Pour utiliser les deux serveurs simultanément avec mcp-judilibre :

{
  "mcpServers": {
    "legifrance": {
      "url": "http://localhost:6502/mcp"
    },
    "judilibre": {
      "url": "http://localhost:6501/mcp"
    }
  }
}

Claude Code

claude mcp add legifrance --url http://localhost:6502/mcp

Autre client HTTP Streamable

Tout client supportant la spec MCP 2025-03-26 HTTP Streamable peut se connecter à http://localhost:6502/mcp.


Outils disponibles

Journal Officiel (JORF)

Outil Description
legifrance_derniers_jo Derniers numéros du JO parus
legifrance_sommaire_jorf Sommaire d'un JO par date ou identifiant
legifrance_jorf Contenu complet d'un texte du JO (par CID)
legifrance_jorf_part Contenu d'une section d'un texte du JO
legifrance_jo_par_nor Texte du JO par numéro NOR
legifrance_eli_alias_texte Texte du JO par identifiant ELI ou alias
legifrance_dates_sans_jo Dates sans parution du JO

Codes législatifs (LEGI)

Outil Description
legifrance_lister_codes Liste de tous les codes disponibles
legifrance_consulter_code Table des matières d'un code
legifrance_code_complet Contenu complet d'un code
legifrance_code_par_ancien_id Code par ancien identifiant
legifrance_obtenir_article Contenu d'un article par identifiant
legifrance_article_par_numero Article par numéro dans un code
legifrance_article_par_eli Article par identifiant ELI
legifrance_versions_article Historique des versions d'un article
legifrance_articles_meme_numero Tous les articles portant le même numéro
legifrance_loi_decret Texte de loi ou décret par identifiant
legifrance_legi_part Section d'un texte LEGI
legifrance_tables_annuelles Tables annuelles LEGI
legifrance_annees_sans_table Années sans table annuelle
legifrance_historique_texte Historique complet d'un texte
legifrance_versions_element Versions d'un élément de texte
legifrance_a_des_versions Vérifie si un texte a des versions
legifrance_version_canonique_article Version canonique d'un article
legifrance_version_canonique Version canonique d'un texte
legifrance_version_proche Version la plus proche d'une date

Lois et décrets (LODA)

Outil Description
legifrance_lister_loda Liste paginée des textes LODA
legifrance_liens_concordance Liens de concordance d'un texte
legifrance_liens_relatifs Liens relatifs d'un texte
legifrance_liens_service_public Liens Service-Public.fr
legifrance_a_liens_service_public Vérifie l'existence de liens Service-Public

Conventions collectives (KALI)

Outil Description
legifrance_conventions Liste des conventions collectives
legifrance_convention_par_idcc Convention par numéro IDCC
legifrance_convention_cont Conteneur d'une convention
legifrance_convention_texte Texte d'une convention
legifrance_convention_article Article d'une convention
legifrance_convention_section Section d'une convention

Jurisprudence (CASS, CETAT, CONSTIT, JURITEXT…)

Outil Description
legifrance_jurisprudence Décision de justice par identifiant
legifrance_jurisprudence_plan_classement Plan de classement jurisprudentiel
legifrance_jurisprudence_ancien_id Décision par ancien identifiant

Dossiers et débats parlementaires

Outil Description
legifrance_dossier_legislatif Dossier législatif par identifiant
legifrance_debat Débat parlementaire par identifiant
legifrance_lister_legislatures Liste des législatures
legifrance_lister_dossiers_legislatifs Dossiers législatifs paginés
legifrance_lister_debats_parlementaires Débats parlementaires paginés
legifrance_lister_questions_parlementaires Questions parlementaires paginées
legifrance_section_par_cid Section par CID

Documents administratifs (CIRC, ACCO, CNIL, BOCC…)

Outil Description
legifrance_circulaire Circulaire par identifiant
legifrance_acco Accord d'entreprise par identifiant
legifrance_cnil Délibération CNIL par identifiant
legifrance_cnil_ancien_id Délibération CNIL par ancien identifiant
legifrance_lister_bocc Bulletins BOCC paginés
legifrance_lister_bocc_textes Textes d'un bulletin BOCC
legifrance_lister_boccs_et_textes Bulletins et textes BOCC combinés
legifrance_bocc_pdf_metadata Métadonnées PDF d'un bulletin BOCC
legifrance_lister_docs_admins Documents administratifs paginés
legifrance_lister_bodmr Bulletins BODMR paginés

Recherche et utilitaires

Outil Description
legifrance_rechercher Recherche plein texte tous fonds
legifrance_suggerer Suggestions de textes
legifrance_suggerer_acco Suggestions d'accords
legifrance_suggerer_pdc Suggestions plan de classement
legifrance_commit_id Identifiant de version du serveur

Utilisation combinée avec mcp-judilibre

mcp-legifrance et mcp-judilibre sont complémentaires :

  • Légifrance → textes législatifs et réglementaires, jurisprudence administrative (Conseil d'État, Conseil constitutionnel, CNIL…)
  • JUDILIBRE → décisions de justice Open Data (Cour de cassation, cours d'appel, tribunaux judiciaires)

Les deux serveurs peuvent tourner simultanément sur des ports différents (6502 et 6501 par défaut) et être déclarés dans le même fichier de configuration MCP.


Licence

GNU Affero General Public License v3.0 — © 2026 Pierre COUGET

Disclaimer

Ce projet n'est pas un projet officiel. C'est la traduction de l'API LEGIFRANCE en serveur MCP pour mes propres besoins initialement. Mais autant que ça serve à d'autres.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选