REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Type-safe MCP server for OpenAPI Sync to inspect, validate, and synchronize OpenAPI specs.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Nur einmal; gilt für alle Server, die Node.js brauchen
SettingsDeveloperEdit Config
{
"mcpServers": {
"openapi-sync": {
"command": "npx",
"args": [
"-y",
"openapi-sync-mcp"
]
}
}
}Nutze Openapi Sync MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Openapi Sync MCP nutzt, oder ein Werkzeug von Openapi Sync MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann Openapi Sync MCP noch nicht verbinden
Openapi Sync MCP läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die Openapi Sync MCP verbinden kann
B · Andere in Entwicklertools, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user openapi-sync -- npx -y openapi-sync-mcpOpenapi Sync MCP sollte in der Liste als verbunden erscheinen
Nutze Openapi Sync MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Openapi Sync MCP nutzt, oder ein Werkzeug von Openapi Sync MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Nutze Openapi Sync MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Openapi Sync MCP nutzt, oder ein Werkzeug von Openapi Sync MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
VS Code fragt nach einer Bestätigung; klicke Install
Nutze Openapi Sync MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Openapi Sync MCP nutzt, oder ein Werkzeug von Openapi Sync MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
JSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --scope user openapi-sync -- npx -y openapi-sync-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"openapi-sync": {
"command": "npx",
"args": [
"-y",
"openapi-sync-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"openapi-sync": {
"command": "npx",
"args": [
"-y",
"openapi-sync-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"openapi-sync": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"openapi-sync-mcp"
]
}
}
}Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 12. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto akintomiwa-fisayo bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 22 Tagen
Nutzt ISC
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vor 22 Tagen geändert, und die neueste Version (6.4.2) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
OpenAPI Sync is a powerful developer tool that automates the synchronization of your API documentation with your codebase using OpenAPI (formerly Swagger) specifications. It generates TypeScript types, fully-typed API clients (Fetch, Next.js Fetch, Axios, React Query, SWR, RTK Query), endpoint definitions, runtime validation schemas (Zod, Yup, Joi), and comprehensive documentation from your OpenAPI schema—ensuring type safety from API specification through client implementation to runtime validation.
📘 [Full documentation available at openapi-sync.com](https://openapi-sync.com)
npm install openapi-sync
npm install -g openapi-sync
npx openapi-sync
⚠️ macOS Big Sur Users: If you encounter an esbuild error (
Symbol not found: _SecTrustCopyCertificateChain), installesbuild@0.17.19first. See Troubleshooting for details.
All CLI commands and programmatic APIs are agent-safe — no interactive prompts, fully non-blocking. Use --json for machine-readable output and --silent to suppress logs.
Full agent reference:
llms.txt— a structured discovery file for LLMs, Copilots, and MCP tools.
# 1. Create config (all settings as flags — no stdin required)
npx openapi-sync init --no-interactive \ --api-name petstore \ --api-url https://petstore3.swagger.io/api/v3/openapi.json \ --output-folder ./src/api \ --client-type react-query \ --validation-library zod \ --config-format typescript \ --json
npx openapi-sync init --no-interactive \ --api-name backend \ --api-url https://api.example.com/openapi.json \ --auth-type bearer \ --auth-token '${env.SPEC_TOKEN}' \ --preset react-query-zod \ --json
npx openapi-sync validate --json
npx openapi-sync --json
npx openapi-sync generate-client --type react-query --json
--json)Every command emits a single, pure JSON object to stdout when --json is passed, making it safe to pipe directly into jq or consume from automated agents. All human-readable progress logs are suppressed or directed to stderr.
$ npx openapi-sync --json
{ "success": true, "apis": ["petstore"], "filesWritten": ["src/api/petstore/types.ts", "src/api/petstore/endpoints.ts"], "endpointCount": 20, "warnings": [], "errors": [], "phases": { "sync": { "filesWritten": ["src/api/petstore/types.ts", "src/api/petstore/endpoints.ts"], "endpointCount": 20 }, "client": { "filesWritten": [], "endpointCount": 20 } } }
$ npx openapi-sync validate --json
{ "valid": true, "apis": { "petstore": { "valid": true, "endpointCount": 20 } }, "configErrors": [] }
$ npx openapi-sync list-endpoints --json
{ "petstore": [ { "name": "getPetById", "method": "GET", "path": "/pet/{petId}", "tags": ["pet"], "summary": "Find pet by ID" }, { "name": "addPet", "method": "POST", "path": "/pet", "tags": ["pet"], "summary": "Add a new pet" } ] }
$ npx openapi-sync list-endpoints --api petstore --path-contains pet --limit 2 --offset 0 --json
$ npx openapi-sync get-endpoint --api petstore --operation-id getPetById --json
$ npx openapi-sync read-type --api petstore --type-name Pet --json
Compact, fast previews of planned files:
npx openapi-sync --dry-run --json
npx openapi-sync generate-client --type fetch --dry-run --json
folderSplit is omitted or empty ({}), files are placed directly in the API folder (endpoints.ts, types/index.ts, types/shared.ts).folderSplit: { byTags: true } organizes endpoints into tag subfolders (e.g. {tag}/endpoints.ts, {tag}/types.ts, shared.ts).clientGeneration.outputDir (or CLI --output) is fully supported in both flat and folder-split layouts. In flat mode, clients are placed directly in {outputDir}/clients.ts (or api.ts), while in folder-split mode clients are placed in {outputDir}/{tag}/client.ts and aggregated at {outputDir}/clients.ts, with relative imports resolving back to your generated types and endpoints.import {
ValidateConfig, Init, GenerateClient, ListEndpoints, GetEndpointDetails, ReadGeneratedType, Doctor, Purge, } from "openapi-sync";
// Pre-flight check — no files written const validation = await ValidateConfig({ silent: true }); if (!validation.valid) throw new Error(JSON.stringify(validation));
// Diagnostic health check on config, specs, peer dependencies, and directories const health = await Doctor({ silent: true }); console.log("Health check:", health.healthy ? "All checks passed" : "Issues detected");
// Inspect API surface with pagination and filtering const endpoints = await ListEndpoints({ apiName: "petstore", pathContains: "pet", limit: 5, offset: 0, silent: true, }); console.log(endpoints.petstore.length, "endpoints found");
// Inspect a single endpoint in full detail (4-tier fuzzy matching) const detail = await GetEndpointDetails({ apiName: "petstore", operationId: "getPetById", silent: true }); console.log(detail.endpoint.path);
// Read an exact generated type declaration (with optional line pagination) const typeDecl = await ReadGeneratedType({ apiName: "petstore", typeName: "Pet", silent: true }); console.log(typeDecl);
// Sync and get structured result const syncResult = await Init({ silent: true }); if (!syncResult.success) throw new Error(JSON.stringify(syncResult)); console.log("Files written:", syncResult.filesWritten);
// Generate client const clientResult = await GenerateClient({ type: "react-query", silent: true }); console.log(JSON.stringify(clientResult));
// Detect and purge stale files from disk const purgeResult = await Purge({ yes: true, silent: true }); console.log("Purged files:", purgeResult.purged);
| Code | Meaning |
|---|---|
0 | Success |
1 | Config error or validation failed |
2 | Network / spec fetch error |
3 | Generation / file write error |
| Command | Agent-safe? | Description |
|---|---|---|
npx openapi-sync | ✅ | Sync specs, generate types, endpoints, schemas |
npx openapi-sync validate | ✅ | Validate config + specs; no files written |
npx openapi-sync doctor | ✅ | Diagnostic health check on config, network, peer deps, cache |
npx openapi-sync list-endpoints | ✅ | List endpoints with filtering and pagination; no files written |
npx openapi-sync get-endpoint | ✅ | Inspect detailed schema for one endpoint by operationId or name |
npx openapi-sync read-type | ✅ | Read generated TypeScript declaration block |
npx openapi-sync generate-client | ✅ | Generate typed API client (fetch, next-fetch, axios, react-query, swr, rtk-query) |
npx openapi-sync purge --yes | ✅ | Remove stale generated files without prompting |
npx openapi-sync init --no-interactive | ✅ | Create config file without prompts |
npx openapi-sync init (no flag) | ❌ | Interactive wizard (requires stdin) |
The easiest way to get started is with the interactive setup wizard:
npx openapi-sync init
The wizard will guide you through:
1. Create `openapi.sync.json` in your project root:
{
"refetchInterval": 5000, "folder": "./src/api", "api": { "petstore": "https://petstore3.swagger.io/api/v3/openapi.json" } }
2. Run the sync command:
npx openapi-sync
3. Use generated types and endpoints:
import { getPetById } from "./src/api/petstore/endpoints";
import { IPet } from "./src/api/petstore/types";
const petUrl = getPetById("123"); // Returns: "/pet/123"
View detailed quick start guide →
Presets bundle opinionated defaults for your framework, client library, and validation stack into a single name. Instead of configuring dozens of settings by hand, pick a preset during npx openapi-sync init or set "preset": " " in your config file. Any explicit configuration values you define always override preset defaults.
| Preset Name | Target Framework / HTTP Client | Validation Library | Features Configured | Recommended Dependencies |
|---|---|---|---|---|
react-query-zod *(Default/Recommended)* | TanStack React Query v5 | Zod | Typed Query & Mutation hooks, Zod schemas, preserved custom code, operationId naming | npm i @tanstack/react-query axios zod |
react-query-yup | TanStack React Query v5 | Yup | Typed Query & Mutation hooks, Yup validation schemas, preserved custom code | npm i @tanstack/react-query axios yup |
swr-zod | Vercel SWR | Zod | SWR hooks with mutation support (useSWRMutation), Zod schemas, preserved custom code | npm i swr axios zod |
swr-yup | Vercel SWR | Yup | SWR hooks with mutation support, Yup schemas, preserved custom code | npm i swr axios yup |
| axios-zod | Axios Client | Z