Skip to main content
Glama

framework-mcp

Eine Abhängigkeits-Aktualitätsprüfungsschicht für Coding-Agenten: ein entfernter MCP-Server, der Coding-Agenten (Claude Code, Cursor usw.) verifizierte, versionsgebundene Antworten über sich schnell bewegende Frameworks gibt – Expo, Next.js, Supabase, Prisma und weitere.

Warum: LLM-Trainingsdaten veralten schneller als Framework-Release-Zyklen. Agenten raten immer wieder dieselben versionsspezifischen Fragen, anstatt eine verifizierte, versionsgebundene Quelle zu prüfen. Dieser Server ist diese Quelle – kein Einzel-Framework-Werkzeug, sondern eine allgemeine Schicht, die jeder Coding-Agent abfragen kann, bevor er dem vertraut, was er sich über das aktuelle Verhalten einer Abhängigkeit „merkt“.

Stack

Node 24 + TypeScript, @modelcontextprotocol/sdk über Streamable HTTP-Transport (zustandsbehaftet, Sitzung pro Verbindung), Express, Postgres (pg), API-Key-Authentifizierung über die eigene requireBearerAuth-Middleware des SDK.

Hosting: Railway (Compute, ~5 $/Monat Hobby-Plan) + Neon (Postgres, kostenloser Tarif, verzweigbar).

Related MCP server: react-native-dev-mcp

Lokale Einrichtung

  1. Erstellen Sie ein kostenloses Neon-Konto und Projekt. Kopieren Sie die Verbindungszeichenfolge für einen dev-Zweig.

  2. cp .env.example .env und füllen Sie DATABASE_URL (von Neon) und API_KEY_PEPPER aus (eine beliebige lange Zufallszeichenfolge – generieren Sie eine mit node -e "console.log(require('crypto').randomBytes(32).toString('hex'))").

  3. Installieren, migrieren, seeden, bauen:

    npm install
    npm run db:migrate
    npm run db:seed
    npm run build
  4. Erstellen Sie sich einen API-Key:

    npm run create-api-key -- "my laptop"

    Dies gibt den rohen Schlüssel einmal aus – speichern Sie ihn, er ist nicht wiederherstellbar.

  5. Lokal ausführen:

    npm run dev

    curl http://localhost:3000/health sollte ok zurückgeben.

Mit MCP Inspector verifizieren

npx @modelcontextprotocol/inspector

Verbinden Sie sich mit http://localhost:3000/mcp mit Transport „Streamable HTTP“ und setzen Sie einen Authorization: Bearer <your-api-key>-Header in den Verbindungseinstellungen. Bestätigen Sie, dass alle 3 Tools (ping, query_framework_doc, report_outcome) aufgelistet und aufrufbar sind.

Auf Railway bereitstellen

  1. curl -fsSL agents.railway.com | sh und dann railway login.

  2. Aus diesem Repository: railway init (oder railway link, wenn bereits ein Projekt existiert).

  3. Setzen Sie Umgebungsvariablen (Dashboard oder railway variable set KEY=value): DATABASE_URL (Ihre Neon-Produktions-Zweig-Verbindungszeichenfolge, getrennt von Ihrem Dev-Zweig), API_KEY_PEPPER, NODE_ENV=production.

  4. railway up.

  5. Im Railway-Dashboard: Einstellungen → Netzwerk → Domäne generieren. Setzen Sie PUBLIC_HOSTNAME auf diese Domäne (erforderlich für den DNS-Rebinding-Host-Check des SDK, um echten Datenverkehr zuzulassen).

  6. Führen Sie npm run db:migrate && npm run db:seed einmal gegen die Produktions-DATABASE_URL aus (von Ihrem Rechner aus, auf die Produktions-Verbindungszeichenfolge gerichtet).

  7. Erstellen Sie einen Produktions-API-Key mit npm run create-api-key, gerichtet auf die Produktions-DATABASE_URL.

API-Key erhalten

Self-Service: Besuchen Sie https://framework-mcp-production.up.railway.app/, geben Sie eine E-Mail-Adresse ein, erhalten Sie sofort einen Schlüssel (ein aktiver Schlüssel pro E-Mail, ratenbegrenzt).

Wartungs-/lokaler Fallback: npm run create-api-key -- "label".

Remote-Client verbinden

In einer Claude Code .mcp.json:

{
  "mcpServers": {
    "framework-mcp": {
      "type": "http",
      "url": "https://<your-railway-domain>/mcp",
      "headers": { "Authorization": "Bearer <your-api-key>" }
    }
  }
}

Tools

  • ping(message) – Gesundheitscheck

  • list_frameworks() – listet jedes abgedeckte Framework/Version mit Eintragszahlen auf – rufen Sie dies zuerst auf, wenn Sie das genaue Slug/Version für unten nicht kennen

  • query_framework_doc(framework, version, question) – sucht eine verifizierte Antwort, gibt query_id zurück

  • report_outcome(query_id, worked, note?) – protokolliert, ob die zurückgegebene Antwort tatsächlich funktioniert hat

Abdeckung

Framework

Version

Einträge

Quelle

Expo SDK

54.0.0

20

expo.dev/changelog/sdk-54

Next.js

16.3.2

20

nextjs.org/blog, nextjs.org/docs upgrade guide

Supabase (supabase-js)

2.112.3

20

supabase.com/changelog, GitHub releases

Prisma ORM

7.9.1

20

prisma.io/docs upgrade guide, prisma.io/changelog

Vercel AI SDK

7.0.77

20

ai-sdk.dev migration guides, vercel.com/blog

Nuxt

4.5.2

20

nuxt.com/docs upgrade guide, nuxt.com/blog

Alle Einträge wurden am 2026-08-22 gegen die offiziellen Quellen verifiziert, die in jeder Seed-Datei unter db/seed/ zitiert sind. Um ein Framework hinzuzufügen: Erstellen Sie eine neue db/seed/<slug>.json nach dem Muster der vorhandenen Dateien, dann npm run db:seed (es erfasst automatisch jede *.json in diesem Ordner).

Status

Self-Service-Anmeldung live unter / (E-Mail -> sofortiger API-Key, einer pro E-Mail, IP-ratenbegrenzt). Veröffentlicht im offiziellen MCP-Registry (registry.modelcontextprotocol.io) und eingereicht bei mcpservers.org und Glama (beide warten auf Überprüfung). Nicht auf Smithery (deren OAuth-Erkennungsscanner unterstützt keine einfache statische Bearer-Key-Authentifizierung) oder mcp.so (kein kostenloser Listungs-Tarif).

Verschoben (Stufe B, noch nicht gebaut): Stripe-Abrechnung, plan_tier / credit_balance / Ratenbegrenzungs-Durchsetzung pro Schlüssel auf api_keys, Bewertung/Ranking auf Feedback.

Related MCP Connectors

Related MCP Servers