■ @forge-registry/cli v0.2

Die Forge-CLI

Vertrauen prüfen, deine MCP-Konfigurationen auditieren und Pakete veröffentlichen — im Terminal oder direkt in Claude Code, Cursor und jedem MCP-fähigen KI-Client.

$ npx @forge-registry/cli verify @modelcontextprotocol/server-memory
Oder füge Forge einmal zu deinem KI-Client hinzu und verlasse deinen Editor nie wieder:
{ "mcpServers": { "forge": { "command": "npx", "args": ["-y", "@forge-registry/cli", "mcp"] } } }

forge mcp

Führt die Forge-CLI als MCP-Server über stdio aus. Einmal konfiguriert, können KI-Clients wie Claude Code und Cursor die Registry durchsuchen, Pakete prüfen, deine MCP-Konfigurationen auditieren, Skills installieren und veröffentlichen — alles direkt in der Unterhaltung, ohne ins Terminal zu wechseln.

Gehosteter Endpunkt — nichts zu installieren

Forge läuft außerdem als Remote-MCP-Server https://forgeregistry.com/api/mcp. Clients, die Remote-Server unterstützen, verbinden sich allein über eine URL — kein npx, kein lokaler Prozess, kein Paket, dem du auf deiner Maschine vertrauen musst. Er spricht den MCP-Transport Streamable HTTP, braucht keine Authentifizierung und ist pro Aufrufer rate-limitiert.

Claude Code · terminal
claude mcp add --transport http forge https://forgeregistry.com/api/mcp
Any client · .mcp.json
{
  "mcpServers": {
    "forge": {
      "type": "http",
      "url": "https://forgeregistry.com/api/mcp"
    }
  }
}

Der gehostete Endpunkt liefert die Registry-Werkzeuge. Die drei, die auf deiner Maschine wirken — deine MCP-Konfigurationen auditieren, eine Skill in dein Projekt schreiben, eine Veröffentlichung mit deinen Schlüsseln signieren — brauchen den lokalen stdio-Server unten; ein gehosteter Server kann dein Dateisystem nicht sehen. Die Tabelle weiter unten markiert, was was ist.

Einrichtung — füge den lokalen Server zur Konfiguration deines Clients hinzu

Claude Code · .mcp.json
{
  "mcpServers": {
    "forge": {
      "command": "npx",
      "args": ["-y", "@forge-registry/cli", "mcp"]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "forge": {
      "command": "npx",
      "args": ["-y", "@forge-registry/cli", "mcp"]
    }
  }
}
VS Code · .vscode/mcp.json
{
  "servers": {
    "forge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@forge-registry/cli", "mcp"]
    }
  }
}
Antigravity · ~/.gemini/config/mcp_config.json
{
  "mcpServers": {
    "forge": {
      "command": "npx",
      "args": ["-y", "@forge-registry/cli", "mcp"]
    }
  }
}

Öffne in Antigravity im Agenten-Panel das Menü … → Manage MCP Servers → View raw config, um diese Datei zu bearbeiten; sie wird beim Speichern automatisch neu geladen.

Bereitgestellte Werkzeuge

WerkzeugBeschreibungWo
forge_searchDurchsucht MCP-Server, A2A-Agenten und Skills mit Verifizierungsfilterngehostet + lokal
forge_get_packageVollständiges Vertrauensprofil: Verifizierung, Widerruf, Live-OSV-CVE-Scan, Analyse der Installationsskriptegehostet + lokal
forge_alternativesFunktionale Ersatzkandidaten für einen Eintrag — Server, bei denen dieselben Tools beobachtet wurden, die vertrauenswürdigsten zuerst, samt dem, was der Wechsel nicht abdecktgehostet + lokal
forge_auditAuditiert jeden MCP-Server, der in den Konfigurationsdateien des Projekts eingetragen istnur lokal
forge_get_skillHolt den vollständigen Prompt und die Metadaten einer Skillgehostet + lokal
forge_add_skillInstalliert eine Skill in die Client-Konfiguration des Projektsnur lokal
forge_inspectExtrahiert statisch die MCP-Tool-Oberfläche eines Pakets (führt es nie aus); markiert privilegierte Toolsgehostet + lokal
forge_submit_packageZeigt Forge ein Paket, das noch nicht indexiert ist, zur Prüfung und Listunggehostet + lokal
forge_publishRegistriert oder beansprucht ein Paket in der Forge-Registry (erfordert vorher forge login)nur lokal

Beispiel-Workflow

Frag deinen KI-Client: „Ich brauche ein MCP für Web Scraping — finde etwas Vertrauenswürdiges und richte es ein.“ Der Client verkettet drei Aufrufe, ohne dass du die Unterhaltung verlässt:

  1. forge_searchfindet verifizierte Web-Scraping-Server, sortiert nach Vertrauen und Downloads
  2. forge_get_packageholt das Live-Vertrauensprofil des ersten Treffers: verifizierter Publisher, null CVEs, saubere Installationsskripte
  3. forge_auditauditiert die Projektkonfiguration nach dem Hinzufügen erneut, um zu bestätigen, dass nichts markiert ist

Die Prüfung der Lieferkette hört auf, ein Schritt zu sein, an den man denken muss, und wird zu etwas, das dein KI-Client standardmäßig tut, sobald ein neues Werkzeug ins Projekt kommt.

forge verify

Prüft ein Paket, bevor du es verwendest. Fragt die Forge-Registry nach Vertrauensstatus und Publisher-Identität ab, führt einen Live-OSV-Schwachstellen-Scan gegen genau diese Version aus und untersucht die npm-Lifecycle-Skripte auf verdächtige Muster.

bash
forge verify <package>
forge verify @modelcontextprotocol/server-memory
forge verify @upstash/context7-mcp
forge verify sam-rivera/my-mcp-server     # GitHub shorthand

Beispielausgabe

  $ forge verify @modelcontextprotocol/server-memory

  @modelcontextprotocol/server-memory · v2026.1.26
  ──────────────────────────────────────────────────────

  PACKAGE
    Author            Anthropic, PBC
    License           MIT

  REGISTRY
    Forge index       ✓  Listed
    Publisher         ✓  @modelcontextprotocol  (verified)
    forge.json        ·  Not present
    Signature         ✓  Valid  @modelcontextprotocol · Ed25519

  SECURITY  (scanned 2026-05-27)
    Vulnerabilities   ✓  None found
    Scripts           ✓  No suspicious lifecycle scripts

  ──────────────────────────────────────────────────────
  ✓  CLEAN & VERIFIED
  ──────────────────────────────────────────────────────

Optionen

FlagBeschreibung
--jsonGibt rohes JSON aus — nützlich für Skripte und CI-Pipelines

Exit-Codes

CodeBedeutung
0Sauber oder verifiziert (Warnungen führen nicht zum Fehlschlag)
1Kritische oder hohe Schwachstellen gefunden

forge install

Ein vertrauensbewusster Wrapper um npm install. Führt dieselben Prüfungen aus wie forge verify, blockiert dann bei kritischen Schwachstellen und fragt nach, bevor unverifizierte Pakete installiert werden. Akzeptiert npm-Paketnamen und GitHub-URLs.

bash
forge install <package>

# npm packages
forge install @modelcontextprotocol/server-memory
forge install @upstash/context7-mcp --save-dev

# GitHub sources (all equivalent)
forge install sam-rivera/my-mcp-server
forge install github.com/sam-rivera/my-mcp-server
forge install https://github.com/sam-rivera/my-mcp-server

Optionen

FlagBeschreibung
-f, --forceÜberspringt Rückfragen (blockiert weiterhin bei kritischen CVEs)
-g, --globalInstalliert global über npm install -g
--save-devInstalliert als Entwicklungsabhängigkeit
GitHub-Quellen: OSV- und Skript-Scans entfallen bei GitHub-URLs, weil es keine versionierten npm-Metadaten zum Abfragen gibt. Die Vertrauensprüfung der Forge-Registry läuft trotzdem, wenn das Repo indexiert ist.

forge publish

Registriert ein Paket unter deiner GitHub-Identität in der Forge-Registry. Erzeugt beim ersten Lauf ein Ed25519-Schlüsselpaar, signiert das Paket-Manifest und übermittelt es an die Registry. Der Server prüft, ob du Inhaber oder Mitarbeiter des Repos bist, bevor das Paket gelistet wird.

bash
# Run from your package directory
forge publish

# Preview — validates and signs but does not submit
forge publish --dry-run

# Different directory
forge publish --dir ./packages/my-mcp-server

Was es tut

  1. Liest package.json und forge.json aus dem Paketverzeichnis
  2. Erzeugt ein Ed25519-Schlüsselpaar unter ~/.forge/keys/, falls noch keines existiert
  3. Signiert das Tripel (packageName, githubUrl, publisherLogin)
  4. Übermittelt an die Forge-Registry — der Server führt die GitHub-Mitarbeiterprüfung durch
  5. Automatisch verifiziert, wenn du Inhaber oder Mitarbeiter des Repos bist. Andernfalls zur Prüfung eingereiht.

Voraussetzungen

Deine package.json muss ein Feld repository enthalten, das auf eine GitHub-URL zeigt, und du musst über forge login angemeldet sein.

package.json
{
  "name": "@your-scope/my-mcp-server",
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/your-username/my-mcp-server"
  }
}

forge login

Authentifiziert sich bei GitHub über den Device Flow. Speichert dein Token unter ~/.forge/config.json. Erforderlich, bevor du forge publish ausführst.

bash
forge login            # authenticate
forge login --logout   # remove stored credentials
  $ forge login

  Forge uses GitHub to verify publisher identity.

  AUTHORIZE
    URL     https://github.com/login/device
    Code    ABCD-1234

  Open the URL above and enter the code to continue.

  ──────────────────────────────────────────────────────
  ✓  Logged in as @sam-rivera
  ──────────────────────────────────────────────────────

Die CLI

Die CLI lässt sich ohne Installation über npx nutzen oder global installieren, um die Kurzform forge zu verwenden.

npx (ohne Installation)

bash
npx @forge-registry/cli verify @modelcontextprotocol/server-memory
npx @forge-registry/cli install @upstash/context7-mcp

Globale Installation

bash
npm install -g @forge-registry/cli

# then use the forge shorthand
forge verify @modelcontextprotocol/server-memory
forge login
forge publish

Voraussetzungen

Node.js 18 oder neuer.

Konfiguration

Die CLI speichert Zugangsdaten und Einstellungen in ~/.forge/config.json, geschrieben von forge login. Alle Werte lassen sich über Umgebungsvariablen überschreiben.

~/.forge/config.json
{
  "githubToken":  "gho_...",
  "githubLogin":  "sam-rivera",
  "registryUrl":  "https://forgeregistry.com"
}

Umgebungsvariablen

VariableBeschreibung
FORGE_GITHUB_TOKENGitHub-Zugriffstoken — überschreibt das gespeicherte Token
FORGE_REGISTRY_URLRegistry-URL (Standard: https://forgeregistry.com). Setze sie für die lokale Entwicklung auf http://localhost:3000.
FORGE_GITHUB_CLIENT_IDClient-ID der OAuth-App — nur nötig, wenn du eine eigene Registry betreibst

Publisher-Schlüssel

Beim ersten Ausführen von forge publish wird ein Ed25519-Schlüsselpaar erzeugt und unter ~/.forge/keys/ gespeichert. Der private Schlüssel (private.pem) wird mit den Rechten 0600 geschrieben — nur du kannst ihn lesen. Der öffentliche Schlüssel wird in der Forge-Registry hinterlegt und dient dazu, deine Signatur zu prüfen, wann immer jemand forge verify auf dein Paket anwendet.