# Plugins y MCP

> Amplía los agents de Enterprise con plugins y habilidades portátiles en el formato agent-plugins.org y con tus propios MCP servers a través de Streamable HTTP o SSE.

Enterprise amplía lo que pueden hacer los [agents](https://pentagi.com/es/docs/glossary/#agent) mediante **Agent Plugins** — paquetes en el formato abierto [agent-plugins.org](https://agent-plugins.org/specification) con habilidades, declaraciones de [MCP server](https://pentagi.com/es/docs/glossary/#mcp-server) y [agent profiles](https://pentagi.com/es/docs/glossary/#agent-profile) específicos de PentAGI.

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

## [Revelación progresiva](https://pentagi.com/es/docs/enterprise/plugins-and-mcp/#progressive-disclosure)

Un planner ve el nombre de cada [plugin](https://pentagi.com/es/docs/glossary/#plugin), una descripción corta, los nombres de sus habilidades y los MCP servers que necesita. Las habilidades de los plugins que selecciona se incluyen en el prompt del agent de trabajo, sus funciones MCP se convierten en las [tools](https://pentagi.com/es/docs/glossary/#tool) del agent —como máximo 20 por [subtask](https://pentagi.com/es/docs/glossary/#subtask)— y los scripts y referencias se leen bajo demanda dentro del [sandbox](https://pentagi.com/es/docs/glossary/#sandbox), por lo que un catálogo grande tiene poco coste hasta que se selecciona un plugin.

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

![MCP servers en Settings](https://pentagi.com/images/product/ee-mcp-servers.webp)

Los MCP servers se conectan en **Settings → MCP Servers** mediante Streamable HTTP o el antiguo HTTP+SSE. Los servidores que solo hablan `stdio` se ejecutan detrás de una pasarela MCP en tu red; PentAGI nunca lanza un ejecutable proporcionado por un plugin fuera de su sandbox.

PentAGI rechaza los endpoints de MCP en direcciones privadas, de loopback, link-local y de metadatos a menos que `MCP_ALLOWED_EGRESS_CIDRS` incluya el rango, así que para una pasarela en tu red configura su prefijo, por ejemplo `10.8.0.0/24`. HTTP plano se acepta solo para `localhost`, direcciones de loopback y `host.docker.internal`.

Un nuevo servidor permanece desactivado hasta que se activa **On** bajo **Availability**: los administradores establecen el **Default for users**, y cada usuario puede anularlo en **My state**. Los agents acceden a un servidor a través de un plugin que vincula sus funciones, o directamente una vez que activas **Offer without a plugin** y seleccionas las funciones (**Allow direct use**).

Las credenciales son de solo escritura: las introduces cuando añades un servidor y puedes reemplazarlas o revocarlas más tarde —revocar también apaga el servidor— y la API nunca las devuelve. Se cifran con `MCP_CREDENTIALS_ENCRYPTION_KEY` (64 caracteres hexadecimales; el instalador genera uno). Haz una copia de seguridad de la clave: una vez almacenadas las credenciales, PentAGI no arranca sin ella.

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

![Plugins en Settings](https://pentagi.com/images/product/ee-plugins.webp)

Añade un plugin en **Settings → Plugins** con **New plugin** o **Import package** (un archivo `.tar.gz`); un paquete importado llega como borrador y se ofrece solo después de publicarlo. Los paquetes colocados en `PLUGINS_DIR` (`/opt/pentagi/plugins` dentro del contenedor) aparecen bajo **Bundled runtime plugins** después de **Reload registry**.

Los plugins están disponibles para los planners solo cuando los MCP servers que requieren están instalados y habilitados. Los administradores establecen el **Default for users** de cada plugin — **On**, **Default** u **Off** — y cada usuario puede anularlo en **My state** para los plugins integrados o en **My override** para los demás. **Default** sigue a `PLUGINS_ENABLEMENT_MODE`: `auto`, el predeterminado, ofrece todos los plugins cuyos MCP servers están listos, mientras que `manual` ofrece un plugin solo una vez que se cambia a **On**.