# MCP dinámico


Dynamic MCP permite a los agentes de IA descubrir y añadir servidores MCP bajo demanda durante una conversación, sin necesidad de configuración manual. En lugar de preconfigurar cada servidor MCP antes de iniciar la sesión de tu agente, los clientes pueden buscar en el [catálogo de MCP](/ai/mcp-catalog-and-toolkit/catalog/) y añadir servidores según sea necesario.

Esta capacidad se habilita automáticamente cuando conectas un cliente MCP al [kit de herramientas de MCP](/ai/mcp-catalog-and-toolkit/toolkit/). El gateway proporciona un conjunto de herramientas primordiales que los agentes utilizan para descubrir y gestionar servidores en tiempo de ejecución.

> **Experimental**
>
> 

MCP dinámico es una función experimental en fase inicial de desarrollo. Aunque puedes probarla y explorar sus capacidades, es posible que encuentres comportamientos inesperados o limitaciones. Agradecemos tus comentarios a través de los [problemas de GitHub](https://github.com/docker/mcp-gateway/issues) para informes de errores y en las [discusiones de GitHub](https://github.com/docker/mcp-gateway/discussions) para preguntas generales y solicitudes de funciones.




## Cómo funciona

Cuando conectas un cliente al Gateway de MCP, el gateway expone un pequeño conjunto de herramientas de gestión junto con cualquier servidor MCP de tu perfil activo. Estas herramientas de gestión permiten a los agentes interactuar con la configuración del gateway:

| Herramienta      | Descripción                                                                                      |
| ---------------- | ------------------------------------------------------------------------------------------------ |
| `mcp-find`       | Busca servidores MCP en el catálogo por nombre o descripción                                     |
| `mcp-add`        | Añade un nuevo servidor MCP a la sesión actual                                                   |
| `mcp-config-set` | Configura los ajustes de un servidor MCP                                                         |
| `mcp-remove`     | Elimina un servidor MCP de la sesión                                                             |
| `mcp-exec`       | Ejecuta una herramienta por nombre que existe en la sesión actual                                |
| `code-mode`      | Crea una herramienta compatible con JavaScript que combina varias herramientas de servidores MCP |

Con estas herramientas disponibles, un agente puede buscar en el catálogo, añadir servidores, gestionar la autenticación y utilizar las herramientas recién añadidas directamente sin necesidad de reiniciar ni de realizar una configuración manual.

Los servidores y herramientas añadidos dinámicamente se asocian _solo a tu sesión actual_. No se guardan en tu perfil. Cuando inicias una nueva sesión, solo están disponibles los servidores que hayas añadido a tu perfil a través del [kit de herramientas de MCP](/ai/mcp-catalog-and-toolkit/toolkit/) o de [Perfiles](/ai/mcp-catalog-and-toolkit/profiles/).

## Requisitos previos

Para usar MCP dinámico, necesitas:

- Docker Desktop versión 4.50 o posterior, con el [kit de herramientas de MCP](/ai/mcp-catalog-and-toolkit/toolkit/) habilitado
- Una aplicación de LLM que admita MCP (como Claude Desktop, Visual Studio Code o Claude Code)
- Tu cliente configurado para conectarse al Gateway de MCP

Consulta [Primeros pasos con el kit de herramientas de Docker MCP](/ai/mcp-catalog-and-toolkit/get-started/) para obtener instrucciones de configuración.

## Uso

MCP dinámico se habilita automáticamente cuando utilizas el kit de herramientas de MCP. Tus clientes conectados ahora pueden usar `mcp-find`, `mcp-add` y otras herramientas de gestión durante las conversaciones.

Para ver MCP dinámico en acción, conecta tu cliente de IA al kit de herramientas de Docker MCP y prueba este prompt:

```plaintext
¿Qué servidores MCP puedo usar para trabajar con bases de datos SQL?
```

Con este prompt, tu agente utilizará la herramienta `mcp-find` proporcionada por el kit de herramientas de MCP para buscar servidores relacionados con SQL en el [catálogo de MCP](/ai/mcp-catalog-and-toolkit/catalog/).

Y para añadir un servidor a una sesión, simplemente escribe un prompt y el kit de herramientas de MCP se encargará de instalar y ejecutar el servidor:

```plaintext
Añade el servidor mcp de postgres
```

## Composición de herramientas con el modo de código (code mode)

La herramienta `code-mode` está disponible como una capacidad experimental para crear funciones de JavaScript personalizadas que combinan varias herramientas de servidores MCP. El caso de uso previsto es permitir flujos de trabajo que coordinen varios servicios en una sola operación.

> **Nota**
>
> El modo de código está en una fase inicial de desarrollo y aún no es confiable para un uso general.
> La documentación omite intencionadamente los ejemplos de uso en este momento.
>
> Las capacidades principales de MCP dinámico (`mcp-find`, `mcp-add`, `mcp-config-set`, `mcp-remove`) funcionan como se documenta y son el enfoque recomendado para el uso actual.

La arquitectura funciona de la siguiente manera:

1. El agente llama a `code-mode` con una lista de nombres de servidores y un nombre de herramienta
2. El gateway crea un entorno de pruebas con acceso a las herramientas de esos servidores
3. Se registra una nueva herramienta en la sesión actual con el nombre especificado
4. El agente llama a la herramienta recién creada
5. El código se ejecuta en el entorno de pruebas con acceso a las herramientas especificadas
6. Los resultados se devuelven al agente

El entorno de pruebas solo puede interactuar con el mundo exterior a través de herramientas MCP, que ya se ejecutan en contenedores aislados con privilegios restringidos.

## Consideraciones de seguridad

MCP dinámico mantiene el mismo modelo de seguridad que la configuración estática de servidores MCP en el kit de herramientas de MCP:

- Todos los servidores del catálogo de MCP son creados, firmados y mantenidos por Docker
- Los servidores se ejecutan en contenedores aislados con recursos restringidos
- El modo de código ejecuta JavaScript escrito por el agente en un entorno de pruebas aislado que solo puede interactuar a través de herramientas MCP
- El gateway gestiona las credenciales y las inyecta de forma segura en los contenedores

La diferencia clave con las capacidades dinámicas es que los agentes pueden añadir nuevas herramientas en tiempo de ejecución.

## Deshabilitar MCP dinámico

MCP dinámico está habilitado por defecto en el kit de herramientas de MCP. Si prefieres utilizar únicamente servidores MCP configurados estáticamente, puedes deshabilitar la función de herramientas dinámicas:

```console
$ docker mcp feature disable dynamic-tools
```

Para volver a habilitar la función más adelante:

```console
$ docker mcp feature enable dynamic-tools
```

Después de cambiar esta configuración, es posible que debas reiniciar los clientes MCP conectados.

## Lecturas adicionales

Consulta la publicación del blog [Servidores MCP dinámicos con Docker](https://docker.com/blog) para obtener más ejemplos e inspiración sobre cómo puedes utilizar las herramientas dinámicas.

