# prescriptio_entreprises

Annuaire des entreprises du bati (SIRENE + RNE/INPI, ~5,6 M fiches). Avec siren (9 chiffres) ou siret (14 chiffres) : la FICHE complete d'une entreprise — identite, activite (NAF), effectif, forme juridique, date de creation, capital, dirigeants et evolution du chiffre d'affaires (bilans deposes). Pour une activité et une zone : naf:["71.11Z"] et localisation:{dept:"69"} liste les architectes du Rhône sans query. Avec query (+ localisation) : LISTER des entreprises par nom / activite dans une zone. Avec rge=true et localisation, lister les qualifications valables aujourd’hui ; specialite_rge reprend les familles de la carte. Les coordonnees (telephone, e-mail, site) ne sont jamais dans la fiche : elles se revelent a l'unite cote application. Toujours citer le SIREN/SIRET renvoye.

État : implémenté ; distribution : connectors-1.0.0 ; offre payante : false ; effets : lecture.

## Entrée MCP

```json
{
  "properties": {
    "cursor": {
      "description": "Curseur next_cursor de la page precedente, repasse tel quel.",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "localisation": {
      "description": "Zone geographique (mode liste), UNE granularite. National = omettre (jamais dept:\"all\").",
      "properties": {
        "commune": {
          "description": "Nom de commune, code postal ou code INSEE. Préférer insee pour le code fourni par la carte.",
          "type": "string"
        },
        "dept": {
          "description": "Code departement : 01-95, 2A/2B ou 971-976 (ex. \"69\").",
          "type": "string"
        },
        "insee": {
          "description": "Code INSEE exact; prioritaire sur commune et jamais interprété comme code postal.",
          "type": "string"
        },
        "region": {
          "description": "Nom de region (ex. Auvergne-Rhone-Alpes) — couvre tous ses departements en un appel.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "naf": {
      "description": "Codes NAF (activite) : sous-classes « 4333Z » / « 43.33Z » ou divisions « 43 » (deployees en leurs sous-classes). Filtre la liste ; SANS query, liste les entreprises de l'activite sur la zone, RGE et certifiees d'abord — c'est la recette « les carreleurs du 69 » (les mots ne trouvent pas un metier, le NAF si).",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "query": {
      "description": "Recherche plein texte (nom, activite NAF, RGE) pour LISTER des entreprises. UNE requete = UN sujet. Combiner avec localisation pour cibler une zone. Optionnelle si naf est fourni.",
      "type": "string"
    },
    "rge": {
      "description": "Ne retenir que les entreprises actives dont la qualification RGE est valable aujourd'hui. Une localisation est requise sans query ni naf.",
      "type": "boolean"
    },
    "siren": {
      "description": "SIREN 9 chiffres : fiche complete de l'entreprise (identite, NAF, effectif, forme juridique, creation, dirigeants, evolution du chiffre d'affaires).",
      "pattern": "^\\d{9}$",
      "type": "string"
    },
    "siret": {
      "description": "SIRET 14 chiffres : fiche d'un etablissement precis.",
      "pattern": "^\\d{14}$",
      "type": "string"
    },
    "specialite_rge": {
      "description": "Même famille de qualification que la carte RGE; implique rge=true.",
      "enum": [
        "menuiseries",
        "pac",
        "isolation",
        "chauffage",
        "solaire",
        "bois",
        "ventilation",
        "etudes"
      ],
      "type": "string"
    }
  },
  "type": "object"
}
```

## Sortie MCP

```json
{
  "properties": {
    "_meta": {
      "type": "object"
    },
    "next_cursor": {
      "description": "À repasser tel quel pour la page suivante ; null s'il n'y en a plus.",
      "type": [
        "string",
        "null"
      ]
    },
    "results": {
      "description": "Résultats de la page courante.",
      "items": {
        "properties": {
          "fields": {
            "properties": {
              "adresse": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "capital_social_eur": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "categorie": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "code_naf": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "code_postal": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "date_creation": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "departement": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "dirigeants": {
                "items": {
                  "type": "object"
                },
                "type": "array"
              },
              "effectif": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "est_rge": {
                "type": "boolean"
              },
              "etat": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "evolution_ca": {
                "items": {
                  "type": "object"
                },
                "type": "array"
              },
              "forme_juridique": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "libelle_naf": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "nom_commercial": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "nombre_certifications_actives": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "raison_sociale": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "raison_sociale_connue": {
                "type": "boolean"
              },
              "rge_date_fin": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "rge_domaines": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "siren": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "siret": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "ville": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "id": {
            "description": "Identifiant à citer (SIREN/SIRET, marche_id, réf DECP).",
            "type": "string"
          },
          "resume": {
            "type": "string"
          },
          "titre": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "total_estimated": {
      "description": "Total connu ou estimation signalée par la source ; null si le total est inconnu. Ne jamais extrapoler depuis la taille de la page.",
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "required": [
    "results"
  ],
  "type": "object"
}
```

[Contrats externes et limites](/docs/reference/concepts.md).
