Skip to main content
Glama
caa1211

GenPDM MCP Server

by caa1211

GenPDM MCP Server

Ein TypeScript/Express-MCP-Server-Gerüst, um eine feste Geschäfts-GraphQL-API als sichere, typisierte MCP-Tools bereitzustellen.

Funktionen

  • Streamable-HTTP-Endpunkt des MCP SDK v2 unter ALL /mcp

  • HS256-Bearer-JWT-Validierung und Scope-Prüfungen

  • In-Memory-Ratenlimits pro IP und pro Subjekt

  • GraphQL-Client mit einem begrenzten Undici-Keep-Alive-Pool

  • Nur-Query-Wiederholungen, Mutations-Idempotenz, Nebenläufigkeits- und Antwortgrößenlimits

  • Reproduzierbarer Mock-GraphQL-Upstream

  • Liveness-/Readiness-Endpunkte und kontrolliertes Herunterfahren

Der aktuelle Ratenlimit-Speicher ist bewusst prozesslokal. src/rate-limit.ts enthält die Adapterschnittstelle für einen zukünftigen Redis-gestützten Speicher. Behandeln Sie die aktuellen Zähler nicht als global, wenn Sie mehrere Replikate betreiben.

Related MCP server: gqai

Dokumentation

Repository-Automatisierung:

  • AGENTS.md definiert dauerhaft gültige Architektur- und Benennungsregeln.

  • genpdm-mcp-development führt Codex durch GraphQL-Operationen und MCP-Tool-Änderungen.

Ausführbares Beispiel:

Lokal ausführen

Erfordert Node.js 20 oder neuer.

Copy-Item .env.example .env
npm install
npm run dev:mock

In einem zweiten Terminal:

npm run dev
$token = npm.cmd run --silent token

Konfigurieren Sie einen MCP-Client mit dem Endpunkt http://127.0.0.1:3000/mcp und dem Header Authorization: Bearer <token>.

Verfügbare Tools:

  • get_customer: { "id": "cust-001" }, erfordert customers:read

  • create_order: { "customerId": "cust-001", "items": [{ "sku": "SKU-1", "quantity": 2 }] }, erfordert orders:write

Health-Endpunkte sind nicht authentifiziert:

  • GET /health/live

  • GET /health/ready

Überprüfen

npm run typecheck
npm run build
npm test

Produktionshinweise

  • Ersetzen Sie die HS256-Verifizierung durch den JWKS-Verifier des Unternehmens-IdP.

  • Ersetzen Sie den In-Memory-Ratenlimit-Speicher durch Redis, bevor die horizontale Skalierung strikte globale Limits erfordert.

  • Injizieren Sie JWT- und GraphQL-Anmeldeinformationen aus einem Secret-Manager.

  • Beschränken Sie ALLOWED_HOSTS, CORS_ORIGINS und die Trusted-Proxy-Einstellungen für die Bereitstellungstopologie.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Turn any GraphQL endpoint into a set of MCP tools
    23
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP that can proxy any GraphQL API and expose graphql operations as mcp tools.
    10 npm
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Automatically generates MCP tools from any GraphQL API by introspecting its schema, supporting queries, mutations, and authentication.
    5
    GPL 3.0