# Plugins et MCP

> Étendez les agents Enterprise avec des plugins et des compétences portables au format agent-plugins.org et avec vos propres MCP servers via Streamable HTTP ou SSE.

Enterprise étend les capacités des [agents](https://pentagi.com/fr/docs/glossary/#agent) grâce aux **Agent Plugins** — des paquets au format ouvert [agent-plugins.org](https://agent-plugins.org/specification) comprenant des skills, des déclarations de [MCP server](https://pentagi.com/fr/docs/glossary/#mcp-server) et des profils spécifiques à PentAGI.

```text
my-plugin/
├── plugin.json      manifest (required)
├── skills/          Agent Skills
├── mcp.json         MCP server declarations
└── com.pentagi/     requirements and agent profiles
```

## [Divulgation progressive](https://pentagi.com/fr/docs/enterprise/plugins-and-mcp/#progressive-disclosure)

Un planner voit le nom de chaque [plugin](https://pentagi.com/fr/docs/glossary/#plugin), une courte description, les noms de ses skills et les MCP servers dont il a besoin. Les skills des plugins qu’il sélectionne sont intégrées dans l’invite de l’agent actif, leurs fonctions MCP deviennent les [tools](https://pentagi.com/fr/docs/glossary/#tool) de l’agent — au maximum 20 par [subtask](https://pentagi.com/fr/docs/glossary/#subtask) — et les scripts et références sont lus à la demande à l’intérieur du conteneur, de sorte qu’un vaste catalogue coûte peu tant qu’un plugin n’est pas sélectionné.

## [MCP servers](https://pentagi.com/fr/docs/enterprise/plugins-and-mcp/#mcp-servers)

![MCP servers dans les paramètres](https://pentagi.com/images/product/ee-mcp-servers.webp)

Les MCP servers sont connectés via **Settings → MCP Servers** en HTTP streamable ou en HTTP+SSE historique. Les serveurs qui ne prennent en charge que `stdio` s’exécutent derrière une passerelle MCP sur votre réseau ; PentAGI ne lance jamais d’exécutable fourni par un plugin en dehors de sa [sandbox](https://pentagi.com/fr/docs/glossary/#sandbox).

PentAGI refuse les points de terminaison MCP sur les adresses privées, de bouclage, link-local et de métadonnées, sauf si `MCP_ALLOWED_EGRESS_CIDRS` répertorie la plage ; pour une passerelle sur votre réseau, définissez donc son préfixe, par exemple `10.8.0.0/24`. Le HTTP simple n’est accepté que pour `localhost`, les adresses de bouclage et `host.docker.internal`.

Un nouveau serveur reste désactivé jusqu’à ce qu’il soit activé (**On**) sous **Availability** : les administrateurs définissent le paramètre **Default for users**, et chaque utilisateur peut le remplacer sous **My state**. Les agents accèdent à un serveur via un plugin qui lie ses fonctions, ou directement une fois que vous avez activé **Offer without a plugin** et sélectionné les fonctions (**Allow direct use**).

Les identifiants sont en écriture seule : vous les saisissez lorsque vous ajoutez un serveur et pouvez les remplacer ou les révoquer ultérieurement — la révocation désactive également le serveur — et l’API ne les renvoie jamais. Ils sont chiffrés avec `MCP_CREDENTIALS_ENCRYPTION_KEY` (64 caractères hexadécimaux ; l’installateur en génère un). Sauvegardez la clé : une fois les identifiants stockés, PentAGI ne démarre pas sans elle.

## [Plugins](https://pentagi.com/fr/docs/enterprise/plugins-and-mcp/#plugins)

![Plugins dans les paramètres](https://pentagi.com/images/product/ee-plugins.webp)

Ajoutez un plugin dans **Settings → Plugins** avec **New plugin** ou **Import package** (un fichier `.tar.gz`) ; un package importé arrive à l’état de brouillon et n’est proposé qu’après sa publication. Les packages placés dans `PLUGINS_DIR` (`/opt/pentagi/plugins` à l’intérieur du conteneur) apparaissent sous **Bundled runtime plugins** après **Reload registry**.

Les plugins ne deviennent disponibles pour les planners que lorsque les MCP servers requis sont installés et activés. Les administrateurs définissent le paramètre **Default for users** de chaque plugin — **On**, **Default** ou **Off** — et chaque utilisateur peut le remplacer sous **My state** pour les plugins groupés ou sous **My override** pour les autres. **Default** suit `PLUGINS_ENABLEMENT_MODE` : `auto`, la valeur par défaut, propose tous les plugins dont les MCP servers sont prêts, tandis que `manual` propose un plugin uniquement lorsqu’il est activé (**On**).