Ein KI-Tool verbinden
Verbinde Claude Code, Codex, Gemini CLI und weitere MCP-Clients, um Screenshot-Projekte mit KI zu erstellen und zu bearbeiten, im Browser zu prüfen und im Web-Editor zu exportieren.
Ein KI-Tool verbinden
Wenn MCP für diese AppScreenshots-Bereitstellung aktiviert ist, verbinde ein kompatibles KI-Tool mit:
https://appscreenshots.net/api/mcpWähle HTTP/Streamable HTTP und OAuth. Melde dich im Browser mit deinem AppScreenshots-Konto an, wähle die Projekte und Assets, die das Tool nutzen darf, und entscheide, ob es Projekte erstellen darf. Datenbankzugriff oder ein API-Key sind nicht erforderlich.
Für eine Übersicht mit Beispiel-Prompts siehe die MCP-Landingpage.
Verbinde deinen Client
Die folgenden Befehle registrieren den Endpoint bei jedem Client. Schließe nach dem Verbinden die Browser-Anmeldung ab, sobald der Client sie anzeigt.
claude mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpFühre danach /mcp in Claude Code aus und autorisiere. Für eine projektbezogene Verbindung führe eine .mcp.json zusammen, statt den User-Scope zu registrieren — konfiguriere nicht beides, außer du willst den Scope bewusst überschreiben.
codex mcp add appscreenshots --url https://appscreenshots.net/api/mcp
codex mcp login appscreenshotsAlternativ füge in der config.toml des Clients einen Abschnitt [mcp_servers.appscreenshots] mit url = "..." hinzu.
gemini mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpFühre in der Gemini CLI /mcp auth appscreenshots aus. Die Einstellungsdatei-Variante nutzt httpUrl für Streamable HTTP mit "oauth": {"enabled": true}.
Öffne /mcp-config, füge einen HTTP-Server mit dem Endpoint hinzu und nutze /mcp-config login appscreenshots. Die Konfigurationsdatei ist ~/.kimi-code/mcp.json:
{
"mcpServers": {
"appscreenshots": {
"url": "https://appscreenshots.net/api/mcp"
}
}
}Starte die Sitzung nach dem Hinzufügen neu. Ältere kimi-cli-Distributionen nutzen stattdessen kimi mcp add --transport http --auth oauth.
Führe den Server in ~/.zcode/cli/config.json unter mcp.servers zusammen oder füge in Settings → MCP den HTTP-Dienst namens appscreenshots hinzu:
{
"mcp": {
"servers": {
"appscreenshots": {
"type": "http",
"url": "https://appscreenshots.net/api/mcp",
"oauth": {
"type": "authorization_code",
"scope": "projects:read projects:write assets:read offline_access"
}
}
}
}
}Starte die Sitzung neu und schließe die OAuth-Browser-Anmeldung ab, sobald der Client sie anzeigt. Beeil dich: der Desktop-Client bricht eine ausstehende Autorisierung nach etwa 180 Sekunden ab.
Nutze den in deinem Konto oder Workspace verfügbaren Eintrag für benutzerdefinierte MCP-Verbindungen und wähle OAuth mit dem Endpoint oben. Die Verfügbarkeit hängt von Konto- und Workspace-Einstellungen ab — ein öffentliches GitHub-Repository erzeugt keinen ChatGPT-Verzeichniseintrag.
Die Client-Integration basiert auf den offiziellen Referenzen und einem abgeschlossenen Protokoll-Ende-zu-Ende-Test (OAuth, Projekterstellung, Bearbeitung, Web-Vorschau, Export). Individuelle Client-Zertifizierungen laufen noch; den aktuellen Stand zeigt die Verifikationsmatrix des Verbindungskits.
Verbindungskit
Das öffentliche Repository appscreenshots-mcp liefert fertige Konfigurationsdateien für alle Clients oben, ein optionales Agent-Skill, das den Screenshot-Workflow vermittelt, und einen Doctor-Befehl, der den Server vom Terminal aus prüft:
git clone https://github.com/horace68/appscreenshots-mcp.git
node bin/appscreenshots.mjs config claude # gibt ein Konfigurations-Snippet aus
node bin/appscreenshots.mjs install-skill claude
node bin/appscreenshots.mjs doctorDer Helfer gibt nur Konfiguration aus und installiert das Skill. Er ist kein lokaler stdio-Server — nutze die native Remote-Verbindung deines Clients.
Tools
Die folgenden neun Tools werden über Streamable HTTP bereitgestellt. Clients können den Namen Präfixe voranstellen. Für Eingabe-Schemata und Kontoberechtigungen ist der gehostete Server die Quelle der Wahrheit.
| Tool | Art | Zweck |
|---|---|---|
get_capabilities | Lesen | Berechtigungen, Design-Grenzen (100–5000 px), Geräte, Elementtypen, maxFrames (20), maxElementsPerFrame (100), Vorschau-/Export-Modi |
search_templates | Lesen | Durchsucht Metadaten öffentlicher Vorlagen (query, offset) |
get_template | Lesen | Liest eine berechtigte Vorlage per id |
list_projects | Lesen | Listet autorisierte Projekte, 25 pro Seite |
get_project | Lesen | Liest die aktuelle Revision und das editierbare Design, mit editorUrl |
get_project_preview | Lesen | Editor-Link, Revision, Frames und Browser-Prüfanweisungen — Text, kein Bild |
list_assets | Lesen | Listet geteilte Assets und Assets autorisierter Projekte, 50 pro Seite |
create_project | Schreiben | Erstellt aus Vorlage oder leerem Canvas (name, optionales templateId, width, height, idempotencyKey) |
update_project | Schreiben | Wendet 1–100 strukturierte Operationen pro Aufruf an, mit expectedRevision und idempotencyKey |
Bearbeitungsoperationen
update_project nimmt eine diskriminierte Liste von Operationen entgegen:
set_name— Projekt umbenennenadd_frame/remove_frame/reorder_frames— Frames verwaltenupsert_element— Element einfügen oder ersetzen; erfordert vollständige Geometrie und erhält bei gleichem Typ weggelassene Felderpatch_element— Teilbearbeitung per Element-id; ein Typwechsel ist nicht erlaubtremove_element— Element löschenset_background— Hintergrund eines Frames setzen; geteilte Hintergründe werden pro Frame materialisiertset_locales— 1–20 Sprachen und die Standardsprache festlegenset_canvas— Canvas-Größe (100–5000) und Modus (separateodercontinuous)
Elemente tragen Typografie, Device-Mockup-Felder, Bild-assetId-Referenzen, Formen, Icons, rotation und stackOrder. Bilder werden ausschließlich über autorisierte assetId-Werte referenziert — nie per URL oder lokalem Pfad; bestehende Bildreferenzen bleiben serverseitig erhalten, sende sie also nicht zurück.
Verwende für jede logische Schreiboperation einen frischen Idempotenz-Schlüssel; verwende ihn nur für einen identischen Wiederholungsversuch erneut. Lese nach einem Revisionskonflikt zuerst die neueste Version ein. Nutze niemals SQL, HTML oder Skripte als Bearbeitungsanweisung.
Fehler
Fehler geben einen JSON-Körper {code, message} mit isError: true zurück:
| Code | Bedeutung |
|---|---|
REVISION_CONFLICT | Das Projekt änderte sich nach expectedRevision — neu einlesen und erneut versuchen |
ASSET_NOT_AUTHORIZED | Das Asset wurde auf der Zustimmungsseite nicht ausgewählt |
FRAME_NOT_FOUND / ELEMENT_NOT_FOUND | Der referenzierte Frame oder das Element existiert nicht |
ELEMENT_TYPE_CHANGE_NOT_ALLOWED | patch_element kann den Typ eines Elements nicht ändern |
INVALID_FRAME_ORDER / INVALID_DEFAULT_LOCALE | Ungültige Frame-Reihenfolge oder Standardsprache |
DUPLICATE_ID | Eine id kollidiert mit einer bestehenden |
PROJECT_SIZE_LIMIT | Frame-, Element- oder Payload-Limit überschritten |
RATE_LIMITED | Zu viele Aufrufe — HTTP 429 mit Retry-After |
Autorisierung und Limits
Der Server nutzt OAuth 2.1 mit PKCE und Browser-Anmeldung:
- Scopes:
projects:read,projects:write(nur wenn du Erstellen oder Bearbeiten erlaubst),assets:readundoffline_access. - Access-Tokens gelten eine Stunde, Refresh-Tokens 30 Tage.
- Access-Tokens erfordern einen aktiven Grant: Widerrufst du die Verbindung, funktionieren bestehende Tokens sofort nicht mehr.
- Rate-Limits: 60 MCP-Aufrufe pro Minute im Free-Plan, 120 pro Minute in Bezahlplänen. Bei Überschreitung kommt HTTP 429 mit
Retry-After: 60. - Request-Bodies sind auf 2 MB begrenzt; Projekte auf 20 Frames und 100 Elemente pro Frame.
Deine Plan-Berechtigungen gelten unverändert: Einschränkungen für Projekte, Bezahl-Vorlagen, benutzerdefinierte Fonts und Batch-Export bleiben bestehen, und es gibt keine Gebühren für gehostete KI — Design und Texte liefert die verbundene KI.
Beginne mit deinen Screenshots
Lade die Original-Screenshots zuerst im Web-Editor hoch. Autorisiere dann dieses Projekt oder wähle auf der Zustimmungsseite einzelne Assets. MCP stellt keine Binär-Upload-Tools bereit; eine im Chat angehängte Datei ist für diesen Dienst nicht automatisch erreichbar.
Probiere diesen Prompt:
Erstelle ein englisches App-Store-Screenshot-Projekt aus einer verfügbaren Vorlage mit meinen autorisierten Assets. Nutze kurze Headlines und ein sauberes Layout. Öffne den Editor mit den verfügbaren Browser-Tools, prüfe die Screenshots, korrigiere visuelle Probleme und gib mir den Projekt-Link für den Export im Web.
Die verbundene KI liefert Design und Texte; MCP speichert editierbare Projekte. get_project_preview gibt den Editor-Link und Prüfanweisungen zurück, keine Bilddaten. Ein Agent mit Browser-Tools kann den Editor öffnen, die Screenshots prüfen, das Design per MCP korrigieren und sicher neu laden, um die neueste Version zu sehen. Die Browser-Anmeldung ist getrennt vom MCP-OAuth, und ungespeicherte Änderungen müssen vor dem Neuladen erhalten bleiben. Vorschau und Export machst du im Web-Editor.
Zugriff verwalten
Öffne Settings → Connected AI tools, um ausgewählte Projekte/Assets zu ändern oder eine Verbindung zu widerrufen. Das Tool kann nicht auf nicht ausgewählte Projekte zugreifen. Bearbeiten Website und KI-Tool dasselbe Projekt gleichzeitig, lade vor dem Speichern konfliktträchtiger Änderungen die neueste Version.
Für die Browser-Prüfung sind weder Browserless noch eine Render-Warteschlange im Hintergrund nötig. Dieses MCP stellt Projekt-Tools und Browser-Prüfanleitungen bereit, kein Cloud-Rendering. Ohne Browser-/Bild-Tools sollte der Agent den Editor-Link zurückgeben und die visuelle Prüfung als ausstehend melden, statt eine Verifikation zu behaupten.
Fehlerbehebung
| Symptom | Lösung |
|---|---|
invalid_redirect_uri: web clients require https redirect URIs | Nutze eine Loopback-Weiterleitung (http://127.0.0.1:<Port>/callback oder http://localhost:<Port>/callback) und überlasse Loopback-Registrierungen dem Native-Client-Standard |
401 mit WWW-Authenticate: Bearer resource_metadata=… | Normale Discovery-Antwort auf unauthentifizierte Aufrufe — schließe den OAuth-Flow im Client ab |
| Autorisierung läuft wiederholt ab | Verbinde den Client neu; ein widerrufener oder abgelaufener Grant macht Refresh-Tokens ungültig |
| Client bricht die Browser-Anmeldung ab | Schließe die Anmeldung zügig ab (manche Clients brechen nach ~180 Sekunden ab) und starte die Verbindung neu |
429-Antworten RATE_LIMITED | Warte das Retry-After (60 s) ab, bevor du es erneut versuchst; mit Bezahlplan sind 120 Aufrufe/min möglich |
Client-spezifische Hinweise und die aktuelle Verifikationsmatrix findest du im Fehlerbehebungsguide des Verbindungskits.
AppScreenshots Dokumentation