MCP INPI
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP INPIRecherche le statut de l'entreprise SIREN 123456789"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP INPI — Outils juridiques entreprises (RNE · BODACC · Marques)
Serveur MCP (Model Context Protocol) en Python exposant des outils juridiques sur les entreprises françaises, basés sur trois API gratuites de l'INPI / DILA. Transport SSE, déployable directement sur Railway et connectable à Claude.ai.
Outils exposés
Outil | Description | Source | Auth |
| Recherche d'entreprises par nom → SIREN, forme juridique, commune | RNE | INPI |
| Identité : dénomination, forme juridique, siège, capital, objet social, SIREN | RNE | INPI |
| Mandataires sociaux (qualité, identité, flag UBO) | RNE | INPI |
| Bénéficiaires effectifs (UBO) et modalités de contrôle | RNE | INPI |
| Actif / radié / en cessation / liquidation | RNE | INPI |
| Sauvegarde, redressement, liquidation judiciaire | BODACC | aucune |
| Marques déposées par une société (par SIREN) | API PI | INPI* |
| Détail d'une marque (classes Nice, dates, statut, logo) | API PI | INPI* |
* L'API PI Marques utilise un compte technique distinct (voir Configuration).
Related MCP server: French Law MCP Server
Sources de données
RNE —
registre-national-entreprises.inpi.fr/api— loginPOST /api/sso/login→ token Bearer ;GET /api/companies/{siren}. Quota : 10 000 req/jour.BODACC —
bodacc-datadila.opendatasoft.com(Opendatasoft v2.1), open data sans auth.API PI Marques —
api-gateway.inpi.fr/services/apidiffusion— auth XSRF + cookies.
Configuration
Copiez .env.example en .env (non commité) et renseignez :
INPI_USERNAME=votre_email@example.com # compte data.inpi.fr (API RNE)
INPI_PASSWORD=votre_mot_de_passe
# Optionnel — compte technique API PI Marques (api-gateway.inpi.fr).
# Si absent, INPI_USERNAME/INPI_PASSWORD sont réutilisés.
# INPI_PI_USERNAME=compte_technique@example.com
# INPI_PI_PASSWORD=mot_de_passe_technique
# Clé Bearer protégeant l'endpoint MCP (voir « Authentification de l'endpoint MCP »).
MCP_API_KEY=mcpinpi_remplacez_par_votre_cleCompte INPI : créez-le sur https://data.inpi.fr/login, puis activez « Accès API RNE » (et « Accès APIs PI » pour les marques) dans Mes accès API / SFTP. L'activation de l'API PI génère un compte technique (email + mot de passe propres) à mettre dans
INPI_PI_USERNAME/INPI_PI_PASSWORD.
Lancer en local
python -m venv .venv
.venv\Scripts\activate # Windows (PowerShell : .venv\Scripts\Activate.ps1)
pip install -r requirements.txt
copy .env.example .env # puis éditez .env
python main.pyEndpoint MCP/SSE :
http://localhost:8080/sseSanté :
http://localhost:8080/health
Déploiement sur Railway
Les fichiers railway.json, Procfile et .python-version sont fournis (build Nixpacks,
Python 3.11). Railway injecte automatiquement la variable PORT, déjà prise en charge.
Depuis l'interface Railway :
New Project → Deploy from GitHub repo et sélectionnez ce dépôt.
Dans Variables, ajoutez
INPI_USERNAME,INPI_PASSWORD(et éventuellementINPI_PI_USERNAME,INPI_PI_PASSWORD). Ne commitez jamais.env.Dans Settings → Networking, cliquez Generate Domain pour obtenir une URL publique.
Le déploiement se lance automatiquement ; le healthcheck pointe sur
/health.Votre endpoint public sera :
https://<votre-projet>.up.railway.app/sse
Ou via la CLI Railway :
npm i -g @railway/cli
railway login
railway init
railway variables --set INPI_USERNAME=... --set INPI_PASSWORD=... --set MCP_API_KEY=...
railway up
railway domain # génère l'URL publiqueAuthentification de l'endpoint MCP
Le serveur peut être protégé par une clé Bearer via la variable MCP_API_KEY :
Si
MCP_API_KEYest définie, toute requête sur/sseet/messages/doit présenter l'en-têteAuthorization: Bearer <MCP_API_KEY>. Sinon → 401./healthreste accessible sans clé (healthcheck Railway).Si
MCP_API_KEYest absente, l'endpoint est public (déconseillé en production ; un avertissement est journalisé au démarrage).
Générez une clé :
python -c "import secrets; print('mcpinpi_' + secrets.token_urlsafe(32))"Connexion à Claude.ai
Dans Claude.ai → Settings → Connectors → Add custom connector, renseignez l'URL SSE :
https://<votre-projet>.up.railway.app/sseSi MCP_API_KEY est activée, ajoutez l'en-tête d'authentification du connecteur :
Authorization: Bearer <votre MCP_API_KEY>Notes & limites
UBO : données parfois confidentielles côté INPI (réponse
403) ou non déclarées.Statut : déduit des événements RNE et blocs de cessation (pas de champ unique « statut »).
Procédures collectives :
en_cours_estimationest une heuristique (une clôture récente éteint la procédure) — à confirmer auprès du greffe/tribunal compétent.Marques par SIREN : ne couvre que les marques FR (le SIREN n'est rattaché qu'au déposant / dernier titulaire ayant renouvelé). Le schéma JSON de la notice marque peut varier :
detail_marquerenvoie la notice telle quelle (plus l'URL du logo).Forme juridique / rôles : codes INSEE/INPI conservés bruts + libellé quand connu.
Structure du projet
mcp-inpi/
├── main.py # entrée : app Starlette (SSE + /health), uvicorn
├── railway.json # config de déploiement Railway (Nixpacks)
├── Procfile # commande de démarrage
├── .python-version # version Python (3.11)
├── .env.example # modèle de configuration (secrets)
├── requirements.txt
└── inpi_mcp/
├── server.py # FastMCP + définition des 8 outils
├── config.py # variables d'environnement
├── reference.py # tables (formes juridiques, rôles) + normalisation SIREN
├── parsers.py # extraction RNE / BODACC / marques
└── clients/
├── rne.py # API RNE (token Bearer, refresh sur 401)
├── bodacc.py # API BODACC Opendatasoft (sans auth)
└── marques.py # API PI Marques (XSRF + cookies)This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ArnoLegi/mcp-inpi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server