Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Vectorize images to SVG, PDF, EPS or DXF, and check a DXF before cutting.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
4/4 Prüfungen bestanden · Was du fragst, läuft über den Server des Anbieters (homotope.app) · ✓ Befehle geprüft am 13. Nov. 2026
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude · etwa 2 Min.
Kein Schlüssel, nichts zu installieren · Einmal auf claude.ai oder in der Desktop-App einrichten, dann im Chat nutzen · kostenlose Konten können 1 hinzufügen · bei Team/Enterprise fügt ein Owner ihn hinzu
CustomizeConnectors
Kopiere jeden Wert in das gleichnamige Feld in Claude und klicke Continue
Homotopehttps://homotope.app/mcpKlicke auf der von Claude erkannten Anmelde-Seite auf Continue · wähle bei Authentication, was der Anbieter angibt (Sign in now, Sign in when needed oder No sign in), dann Add
+ConnectorsHomotope
Nutze Homotope und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Homotope nutzt, oder ein Werkzeug von Homotope 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 ChatGPT je nach Tarif
Volles MCP: ChatGPT Business, Enterprise oder Edu im Web · Pro: verbindet mit Lese-/Abrufrechten, Werkzeuge, die Daten ändern, gehen evtl. nicht · Plus: in der Doku nicht bestätigt; siehst du auf der Plugins-Seite eine Option für eigene MCP-Server, kannst du es versuchen · nur Web
Plugins+Add custom MCP server
Namen eingeben, Adresse unter Connection einfügen, Risikohinweis abhaken und Create as a plugin klicken
Homotopehttps://homotope.app/mcpNeuen Chat öffnen und vor dem Tippen Homotope aus deinen Plugins wählen
Nutze Homotope und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn ChatGPT sagt, dass es Homotope nutzt, oder ein Werkzeug von Homotope in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von OpenAI abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Claude Code · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --transport http --scope user homotope https://homotope.app/mcpHomotope sollte in der Liste als verbunden erscheinen
Nutze Homotope und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Homotope nutzt, oder ein Werkzeug von Homotope 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 · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
Nutze Homotope und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Homotope nutzt, oder ein Werkzeug von Homotope 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 · etwa 2 Min.
Kein Schlüssel, nichts zu installieren
VS Code fragt nach einer Bestätigung; klicke Install
Nutze Homotope und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Homotope nutzt, oder ein Werkzeug von Homotope 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
Adresse für Apps, die über das Web verbinden
https://homotope.app/mcpJSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --transport http --scope user homotope https://homotope.app/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"homotope": {
"url": "https://homotope.app/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"homotope": {
"type": "http",
"url": "https://homotope.app/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.
Verbinden sich über das Internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Der Server verlangt eine Anmeldung, bevor er seine Tools auflistet.
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 14. Nov. 2026
Der Registry-Name wurde über die Domain homotope.app bestätigt (die Registry prüft, wem die Domain gehört)
Code zuletzt geändert: vor 13 Tagen
Nicht relevant: Cloud-Server des Inhabers von homotope.app; du führst keinen Code aus dem Repo aus
Antwort in 268 ms (HTTP 401)
Gibt OAuth-Anmeldung an, damit deine KI-App dich zum Einloggen weiterleiten kann
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
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 4 von 4 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 in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt vor 13 Tagen geändert, und die neueste Version (1.0.0) kam vor 13 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL und funktioniert daher auch in Apps mit Remote-MCP, etwa ChatGPT im Web (volles MCP ab Business; Pro nur lesend).
In derselben Kategorie: Figma Context MCP, AutoClip, Next AI Draw.io
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
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Clip long videos into short clips with covers and captions. Local CLI and MCP.
draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand
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.
This is the engine of Homotope, an image vectorizer that runs in the browser: nothing is uploaded. Try it in the workshop (free, no account needed for SVG and PNG).
Raster-to-vector engine in pure TypeScript: turns a PNG or JPEG (any RGBA pixel buffer) into a clean SVG, and from that SVG into DXF, PDF or EPS. Released under the MIT license.
What this package is not: it has no editor, no server, no REST API, no MCP server and no printer checks; those live in the hosted service. The npm package is frozen at 0.2.0: what it contains is complete and usable on its own.
npm install @homotope/engine
npm install pngjs jpeg-js
Requires an ES2022 runtime (Node ≥ 22, any current browser). ESM only.
| Import | What | Dependencies |
|---|---|---|
@homotope/engine | vectorize, presetOptions, PRESET_NAMES, all types | none |
@homotope/engine/export | convertSvg (SVG → PDF, DXF, EPS), exportLayers, sceneFromSvg | none |
@homotope/engine/cutcheck | checkSvg, simplifySvg: cut-readiness report for cutters | none |
@homotope/engine/node | decodePng, decodeJpeg, encodePng, encodeJpeg | pngjs, jpeg-js |
Browser bundles only receive what they import: the core never imports pngjs or jpeg-js.
import { readFileSync, writeFileSync } from 'node:fs';
import { vectorize, presetOptions } from '@homotope/engine'; import { convertSvg } from '@homotope/engine/export'; import { decodePng } from '@homotope/engine/node';
const image = decodePng(new Uint8Array(readFileSync('logo.png'))); const result = vectorize(image, presetOptions('logo'), { onProgress: (e) => process.stdout.write(\r${e.stage} ${Math.round(e.progress * 100)}%), });
writeFileSync('logo.svg', result.svg); writeFileSync('logo.dxf', convertSvg(result.svg, 'dxf')); console.log(\n${result.palette.colors.length} colours, ${result.stats.paths} paths);
vectorize is synchronous on purpose: run it in a worker so the page stays responsive. Its input is any ImageData-like object { width, height, data: Uint8ClampedArray } (RGBA, not premultiplied).
// main.ts
const bitmap = await createImageBitmap(file); const canvas = new OffscreenCanvas(bitmap.width, bitmap.height); const ctx = canvas.getContext('2d')!; ctx.drawImage(bitmap, 0, 0); const { width, height, data } = ctx.getImageData(0, 0, bitmap.width, bitmap.height);
const worker = new Worker(new URL('./vectorize.worker.ts', import.meta.url), { type: 'module' }); worker.onmessage = (e: MessageEvent<{ svg: string }>) => { const url = URL.createObjectURL(new Blob([e.data.svg], { type: 'image/svg+xml' })); document.querySelector ('#preview')!.src = url; // or offer it as a download }; worker.postMessage({ width, height, data }, [data.buffer]);
// vectorize.worker.ts
import { vectorize, presetOptions, type RasterImage } from '@homotope/engine';
self.onmessage = (e: MessageEvent ) => { const { svg } = vectorize(e.data, presetOptions('illustration')); self.postMessage({ svg }); };
Cancellation is cooperative: pass { cancel: { cancelled: boolean } } as the third argument (for example backed by a SharedArrayBuffer); vectorize then throws a CancelledError between and inside stages.
presetOptions(name) returns a full, independent options object that you can tweak.
| Preset | For |
|---|---|
logo | Flat colours, crisp corners, straight lines kept straight |
illustration | Up to 32 colours, smoother curves, light gradients, stacked shapes |
pixel-art | Exact pixel grid, no curves, zero error |
line-art | Ink drawings and text: two colours, filled shapes |
centerline | Strokes traced as single open paths (plotter, laser engraving) |
black-white | Two colours from an automatic (Otsu) threshold |
photo | Up to 64 colours, denoising, small regions absorbed, stacked shapes |
import { presetOptions, vectorize } from '@homotope/engine';
const options = presetOptions('logo'); options.quantize.colors = 4; // fixed number of colours instead of 'auto' options.export.precision = 1; // decimals in path data options.export.mode = 'stacked'; // fewer nodes: shapes stacked instead of cut out const { svg } = vectorize(image, options);
Every option is typed and documented in VectorizeOptions (preprocess, quantize, segment, fit, export, centerline).
viewBox in the pixel coordinates of the original image, cubic Béziers, one per colour by default (export.mergeByColor).export.mode: 'cut' (default): every region is an exact path with its holes (fill-rule="evenodd"), no overlap; 'stacked': shapes stacked by depth, fewer nodes.preprocess.alphaMode: 'keep') produce no path.result.palette lists the colours (sRGB and OKLab, pixel counts); result.stats the number of paths and nodes; result.timings the time spent per stage.homotope.app runs this engine in the browser with a visual editor (palette, presets, before/after), plus optional server processing, a REST API and an MCP server for AI assistants: see the API documentation.
npm install
npm test # Vitest, no DOM npm run typecheck npm run lint npm run eval # renders every fixture and measures the error (Resvg) npm run build # dist/ (ESM + .d.ts)
See CONTRIBUTING.md.
MIT.