/ Directorio / Playground / MCP-Nest
● Comunidad rekog-labs ⚡ Instantáneo

MCP-Nest

por rekog-labs · rekog-labs/MCP-Nest

Módulo de NestJS que convierte tus servicios existentes en un servidor MCP — inyección de dependencias, guards y validación que ya usas, ahora expuesto a IA.

MCP-Nest es un módulo de NestJS (no un MCP autónomo) que añade capacidades MCP a cualquier aplicación Nest. Expone herramientas, recursos y prompts mediante decoradores; soporta transportes stdio/HTTP+SSE/Streamable HTTP; se integra con guards de NestJS para autenticación. Ideal cuando tu backend ya es Nest y quieres que los agentes lo llamen.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

nest.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "nest": {
      "command": "npx",
      "args": [
        "-y",
        "MCP-Nest"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "nest": {
      "command": "npx",
      "args": [
        "-y",
        "MCP-Nest"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "nest": {
      "command": "npx",
      "args": [
        "-y",
        "MCP-Nest"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "nest": {
      "command": "npx",
      "args": [
        "-y",
        "MCP-Nest"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "nest",
      "command": "npx",
      "args": [
        "-y",
        "MCP-Nest"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "nest": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "MCP-Nest"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add nest -- npx -y MCP-Nest

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: MCP-Nest

Expón tu backend NestJS existente como un MCP

👤 Equipos de NestJS cuyos agentes necesitan llamar APIs internas ⏱ ~45 min intermediate

Cuándo usarlo: No quieres reescribir la lógica de servicios en Python o SDK de MCP en TS — reutiliza lo que ya está probado.

Requisitos previos
  • NestJS 10+ app — Tu proyecto existente
  • Instala @rekog/mcp-nest — npm i @rekog/mcp-nest
Flujo
  1. Registra el módulo
    Añade McpModule.forRoot({name: 'acme', version: '1.0'}) a app.module.ts.✓ Copiado
    → La aplicación inicia; el endpoint /mcp está presente
  2. Decora un método de servicio como herramienta
    En TicketsService, decora searchTickets con @Tool({name:'search_tickets', description:'...'}) y un esquema Zod. Los guards de autenticación existentes siguen siendo aplicables.✓ Copiado
    → La herramienta aparece en la lista de herramientas de Claude
  3. Conecta la autenticación
    Aplica el JwtAuthGuard existente en el controlador MCP para que los agentes necesiten un token bearer válido.✓ Copiado
    → Las llamadas sin autenticación devuelven 401

Resultado: Tus agentes consumen tu backend real — misma validación, misma autenticación, sin duplicación de servicios.

Errores comunes
  • Mezclar herramientas con alcance de usuario y alcance de servicio crea confusión en la autenticación — Divide en dos módulos MCP: uno con JWT de usuario, otro con token de servicio

Construye una herramienta interactiva que pide al usuario entrada durante la llamada

👤 Desarrolladores de Nest que construyen flujos avanzados de agentes ⏱ ~30 min advanced

Cuándo usarlo: Tu herramienta necesita confirmación o un secreto que el agente no debería tener por defecto.

Flujo
  1. Usa la API de solicitud dentro de una herramienta
    En la herramienta delete_account, antes de eliminar, solicita una confirmación tipificada del usuario (la persona real, no el agente).✓ Copiado
    → El agente solicita al usuario en el chat; continúa solo tras la confirmación

Resultado: Acciones irreversibles controladas mediante entrada humana incluso a través de un agente.

Sirve datos dinámicos de Nest como recursos MCP

👤 Equipos que quieren que los agentes lean datos frescos, no instantáneas obsoletas ⏱ ~35 min advanced

Cuándo usarlo: Los agentes necesitan ver estado en vivo (compilación, despliegue, cola de tickets) como contexto, no mediante una llamada de herramienta.

Flujo
  1. Declara una plantilla de recurso
    Crea un @Resource('ticket://{id}') que devuelve el JSON del ticket por id.✓ Copiado
    → El agente puede referenciar ticket://123 y obtener contenido en vivo
  2. Suscríbete a actualizaciones
    Emite actualizaciones cuando el ticket cambia para que los suscriptores vean estado fresco sin polling✓ Copiado
    → Notificaciones push de MCP a clientes suscritos

Resultado: Contexto en vivo en lugar de instantáneas — el agente ve lo que el usuario ve.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

nest + golf

Tienda de Python + tienda de TS ambas construyen MCPs de la misma manera centrada en framework

Porta nuestras características de MCP Golf de Python al servidor MCP-Nest del equipo de Nest — compara la ergonomía.✓ Copiado
nest + mcptools

Verifica esquemas de herramientas durante CI antes del despliegue

En CI, inicia el MCP de Nest y ejecuta mcp tools para afirmar la lista de herramientas esperada.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
@Tool({...}) decorator argumentos del método validados mediante esquema Zod Marca cualquier método de servicio de Nest como una herramienta MCP coste estándar del método de Nest
@Resource({...}) decorator parámetros de plantilla URI Expón recursos dinámicos/estáticos coste estándar de Nest
@Prompt({...}) decorator variables de prompt Distribuye prompts como código versionado 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Depende de tus servicios
Tokens por llamada
Depende de la salida de la herramienta
Monetario
Gratuito, MIT
Consejo
Añade guards de tamaño de respuesta en herramientas que devuelven listas — una lista ilimitada de tickets agotará rápidamente los presupuestos de tokens

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: Configuración estándar de Nest; usa @nestjs/config + gestores de secretos
Salida de datos: Dondequiera que vayan tus servicios de Nest

Resolución de problemas

Errores comunes y soluciones

Herramienta no aparece en Claude

Asegúrate de que la clase está registrada en un proveedor de módulo y que la importación del decorador es de @rekog/mcp-nest no de una copia antigua

Verificar: curl http://localhost:3000/mcp tools/list
Errores de validación de Zod en tiempo de ejecución

Tu esquema no coincide con las entradas reales que envía el agente — estrecha las descripciones para que el modelo rellene los campos correctos

La conexión SSE se cae cada 30s

Timeout del proxy ascendente; configura keepalive en nginx a 60s+ o usa transporte HTTP Streamable en su lugar

Alternativas

MCP-Nest vs otros

AlternativaCuándo usarlaContrapartida
TS MCP SDK (official)No usas NestJS y quieres el SDK sin procesarSin inyección de dependencias, sin guards, lo configuras todo
GolfBackend de PythonLenguaje diferente; ambiciones de framework similares
FastMCPPython, más simple que GolfMenos herramientas empresariales

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills