/ Verzeichnis / Playground / MCP-Nest
● Community rekog-labs ⚡ Sofort

MCP-Nest

von rekog-labs · rekog-labs/MCP-Nest

NestJS module that turns your existing services into an MCP server — DI, guards, and validation you already use, now exposed to AI.

MCP-Nest is a NestJS module (not a standalone MCP) that adds MCP capabilities to any Nest application. Exposes tools, resources, and prompts via decorators; supports stdio/HTTP+SSE/Streamable HTTP transports; integrates with NestJS guards for auth. Ideal when your backend is already Nest and you want agents to call it.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

nest.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/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
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

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

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

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

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

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

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

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

Continue nutzt ein Array von Serverobjekten statt einer Map.

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

In context_servers hinzufügen. Zed lädt beim Speichern neu.

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

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: MCP-Nest

Expose your existing NestJS backend as an MCP

👤 NestJS teams whose agents need to call internal APIs ⏱ ~45 min intermediate

Wann einsetzen: You don't want to rewrite service logic in Python or TS MCP SDK — reuse what's already tested.

Voraussetzungen
  • NestJS 10+ app — Your existing project
  • Install @rekog/mcp-nest — npm i @rekog/mcp-nest
Ablauf
  1. Register the module
    Add McpModule.forRoot({name: 'acme', version: '1.0'}) to app.module.ts.✓ Kopiert
    → App starts; /mcp endpoint present
  2. Decorate a service method as a tool
    In TicketsService, decorate searchTickets with @Tool({name:'search_tickets', description:'...'}) and a Zod schema. Existing auth guards still apply.✓ Kopiert
    → Tool shows in Claude's tool list
  3. Hook up auth
    Apply the existing JwtAuthGuard on the MCP controller so agents need a valid bearer token.✓ Kopiert
    → Unauth'd calls return 401

Ergebnis: Your agents consume your real backend — same validation, same auth, no service duplication.

Fallstricke
  • Mixing user-scoped and service-scoped tools creates auth confusion — Split into two MCP modules: one with user JWT, one with service token

Build an interactive tool that asks the user for input mid-call

👤 Nest developers building advanced agent flows ⏱ ~30 min advanced

Wann einsetzen: Your tool needs confirmation or a secret that the agent shouldn't have by default.

Ablauf
  1. Use the elicitation API inside a tool
    In the delete_account tool, before deleting, elicit a typed confirmation from the user (the real human, not the agent).✓ Kopiert
    → Agent prompts the user in chat; proceeds only on confirmation

Ergebnis: Irreversible actions gated behind human input even through an agent.

Serve dynamic Nest data as MCP resources

👤 Teams that want agents to read fresh data, not stale snapshots ⏱ ~35 min advanced

Wann einsetzen: Agents need to see live status (build, deploy, ticket queue) as context, not via a tool call.

Ablauf
  1. Declare a resource template
    Create a @Resource('ticket://{id}') that returns the ticket JSON by id.✓ Kopiert
    → Agent can reference ticket://123 and get live content
  2. Subscribe to updates
    Emit updates when the ticket changes so subscribers see fresh state without polling✓ Kopiert
    → MCP push notifications to subscribed clients

Ergebnis: Live context instead of snapshots — the agent sees what the user sees.

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

nest + golf

Python shop + TS shop both build MCPs the same framework-first way

Port our Python Golf MCP features to the Nest team's MCP-Nest server — compare ergonomics.✓ Kopiert
nest + mcptools

Verify tool schemas during CI before deploy

In CI, spin up the Nest MCP and run mcp tools to assert expected tool list.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
@Tool({...}) decorator method args validated via Zod schema Mark any Nest service method as an MCP tool standard Nest method cost
@Resource({...}) decorator URI template params Expose dynamic/static resources standard Nest cost
@Prompt({...}) decorator prompt vars Ship prompts as versioned code 0

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Depends on your services
Tokens pro Aufruf
Depends on tool output
Kosten in €
Free, MIT
Tipp
Add response size guards on tools that return lists — an unbounded list of tickets will blow token budgets fast

Sicherheit

Rechte, Secrets, Reichweite

Credential-Speicherung: Standard Nest config; use @nestjs/config + secret managers
Datenabfluss: Wherever your Nest services go

Fehlerbehebung

Häufige Fehler und Lösungen

Tool not appearing in Claude

Ensure the class is registered in a module provider and the decorator import is from @rekog/mcp-nest not a stale copy

Prüfen: curl http://localhost:3000/mcp tools/list
Zod validation errors at runtime

Your schema doesn't match actual inputs the agent sends — tighten descriptions so the model fills the right fields

SSE connection drops every 30s

Upstream proxy timeout; set keepalive in nginx to 60s+ or use Streamable HTTP transport instead

Alternativen

MCP-Nest vs. andere

AlternativeWann stattdessenKompromiss
TS MCP SDK (official)You don't use NestJS and want the raw SDKNo DI, no guards, you wire everything
GolfPython backendDifferent language; similar framework ambitions
FastMCPPython, simpler than GolfLess enterprise tooling

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen