# prescriptio_reseau

Lister les organisations directement reliées à un SIREN dans les données de Prescriptio, avec types de liens, derniers faits, pagination et couverture. Même lecture que Détections Réseaux. Les résultats portent uniquement sur les voisins directs et les filtres demandés ; aucun voisin indirect n'entre dans leur total. Distinguer contrat documenté, projet partagé, gouvernance et simple mention. Un dirigeant commun ne prouve pas une collaboration. Lire prescriptio_relation pour les preuves d'une paire, prescriptio_chemin pour une piste indirecte, prescriptio_reseau_documents pour approfondir les documents. L'index est pré-calculé : lecture actuelle ne signifie pas collecte instantanée. Lire coverage avant de conclure à l'absence de liens.

État : implémenté ; distribution : historique uniquement ; offre payante : true ; effets : lecture.

## Entrée MCP

```json
{
  "additionalProperties": false,
  "properties": {
    "departement": {
      "description": "Département de l'organisation liée (par exemple 88, 2A ou 971). Omis : tous.",
      "pattern": "^([0-9]{2,3}|2[AB])$",
      "type": "string"
    },
    "depuis": {
      "description": "Dernier fait observé depuis AAAA-MM-JJ. Les liens sans date ne prouvent pas une activité récente.",
      "format": "date",
      "type": "string"
    },
    "kind": {
      "description": "Nature du lien. Omis : toutes les natures, sans les confondre.",
      "enum": [
        "groupement",
        "co_attribution",
        "co_chantier",
        "commande",
        "dirigeant",
        "pv_mairie",
        "linkedin",
        "pieces"
      ],
      "type": "string"
    },
    "limit": {
      "default": 30,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "description": "Décalage de pagination. Conserver les autres filtres pour la page suivante.",
      "maximum": 10000,
      "minimum": 0,
      "type": "integer"
    },
    "query": {
      "description": "Filtrer les organisations directement liées par leur nom.",
      "maxLength": 160,
      "type": "string"
    },
    "siren": {
      "description": "SIREN de l'organisation à explorer, neuf chiffres.",
      "pattern": "^[0-9]{9}$",
      "type": "string"
    }
  },
  "required": [
    "siren"
  ],
  "type": "object"
}
```

## Sortie MCP

```json
{
  "properties": {
    "action": {
      "type": "string"
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "fields": {
      "type": "object"
    },
    "files": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    },
    "page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "pages_total": {
      "type": [
        "integer",
        "null"
      ]
    },
    "quota": {
      "type": "object"
    },
    "texte": {
      "description": "Contenu textuel (pièce de DCE, PV…).",
      "type": "string"
    }
  },
  "type": "object"
}
```

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