# MCP-Server

Nutzen Sie SciFig in Claude, ChatGPT, Claude Code, Codex und Cursor über den MCP-Server.

Quelle: https://scifig.ai/de/docs/api/mcp

## MCP-Server

Server-URL: `https://mcp.scifig.ai/mcp`, Streamable HTTP. Clients mit OAuth-Unterstützung verbinden sich durch Anmeldung bei SciFig und Zustimmung zum Zugriff. Clients, die Header senden, können einen API-Schlüssel als `Authorization: Bearer sk_live_…` verwenden.

| Werkzeug | Funktion |
| --- | --- |
| generate_figure | Wissenschaftliche Illustration aus einer Beschreibung erstellen |
| edit_figure | Bild bearbeiten: per Anweisung, optional in einem maskierten Bereich, weißer Hintergrund, Seitenverhältnis, Farbänderung oder Textersetzung |
| detect_text | Text in einem Bild vor dem Ersetzen erkennen |
| upscale_figure | Auf 2K, 4K oder 8K vergrößern |
| convert_figure | In SVG, PNG, PDF, TIFF oder PPTX konvertieren |
| generate_chart | Diagramm aus CSV- oder TSV-Text oder JSON-Zeilen erstellen, bis zu 1 MB |
| edit_chart | Neueste Version eines Diagramms ändern |
| generate_flowchart | Flussdiagramm als SVG erstellen, optional aus bis zu 8 Anhängen |
| edit_flowchart | Neueste Version eines Flussdiagramms ändern |
| get_job | Status, Credits und Downloadlinks eines Auftrags |
| list_figures | Neueste Aufträge |
| get_credit_balance | Credit-Guthaben, Tarif und Limits |

Erstellungswerkzeuge warten bis zu 25 Sekunden. Läuft ein Auftrag noch, rufen Sie später `get_job` auf. Ein erneuter Aufruf des Erstellungswerkzeugs erstellt einen neuen kostenpflichtigen Auftrag. Die Ergebnisse enthalten jeden Downloadlink und bei Diagrammen und Flussdiagrammen auch den Link zum Öffnen im SciFig-Editor.

Erstellungswerkzeuge prüfen den Berechtigungsbereich `figures:generate`, bevor sie Anhänge herunterladen. Eine Leseverbindung kann Aufträge und Credits abfragen, aber keine Abbildung erstellen.

## Client verbinden

Claude, auf claude.ai und in Claude Desktop: Einstellungen → Konnektoren → Benutzerdefinierten Konnektor hinzufügen. Geben Sie die Server-URL ein, melden Sie sich bei SciFig an und erlauben Sie den Zugriff.

ChatGPT: Einstellungen → Apps → Erweitert → Entwicklermodus. Erstellen Sie eine App mit der Server-URL und OAuth-Authentifizierung.

Claude Code:

```bash
claude mcp add --transport http scifig https://mcp.scifig.ai/mcp
```

Codex (`~/.codex/config.toml`):

```toml
[mcp_servers.scifig]
url = "https://mcp.scifig.ai/mcp"
```

Cursor, in `~/.cursor/mcp.json`, mit einem API-Schlüssel aus Einstellungen → Entwickler:

```json
{
  "mcpServers": {
    "scifig": {
      "url": "https://mcp.scifig.ai/mcp",
      "headers": { "Authorization": "Bearer sk_live_…" }
    }
  }
}
```

Clients ohne OAuth können den Header `Authorization: Bearer sk_live_…` mit einem API-Schlüssel aus Einstellungen → Entwickler hinzufügen.

## Werkzeugparameter

| Werkzeug | Parameter | Erforderlich | Regeln |
| --- | --- | --- | --- |
| generate_figure | prompt | ja | 3–20.000 Zeichen |
|  | aspect_ratio | nein | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|  | quality | nein | `standard`, `advanced` oder `premium` |
|  | style | nein | Einer der Werte `flat`, `2-5d`, `line-art`, `hand-drawn`, `scientific`, `line`, `3d`, `editorial`, `sketch`, `watercolor`, `auto` |
|  | palette | nein | Palettenname mit 1–64 Zeichen oder 1–4 Farben im Format `#RRGGBB` |
|  | reference_images | nein | Bis zu 3 Bilder: `file_id`, https-URL oder data-URL; PNG, JPEG oder WebP bis 20 MB, data-URL etwa 3 MB, siehe unten |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| edit_figure | image | ja | `file_id`, https-URL oder data-URL; PNG, JPEG oder WebP bis 20 MB, data-URL etwa 3 MB, siehe unten |
|  | operation | nein | `instruct` als Standard, `white_background`, `aspect_ratio`, `recolor` oder `replace_text` |
|  | instruction | für `instruct` | 1–2.000 Zeichen |
|  | mask | nein | Nur für `instruct`: PNG bis 8 MB; weiße Bereiche dürfen geändert werden |
|  | aspect_ratio | für `aspect_ratio` | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|  | palette | nein | Nur für `recolor`: 1–8 Farben im Format `#RRGGBB` |
|  | text_detection | für `replace_text` | Die von `detect_text` zurückgegebene ID |
|  | replacements | für `replace_text` | 1–256 Einträge `[{"index", "text"}]`: `index` 0–255 aus `detect_text`, jeder Index höchstens einmal; text mit 1–500 Zeichen |
|  | quality | nein | Wird bei `replace_text` ignoriert |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| detect_text | image | ja | `file_id`, https-URL oder data-URL; PNG, JPEG oder WebP bis 20 MB, data-URL etwa 3 MB, siehe unten |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| upscale_figure | image | ja | `file_id`, https-URL oder data-URL; PNG, JPEG oder WebP bis 20 MB, data-URL etwa 3 MB, siehe unten |
|  | scale | ja | `2k`, `4k` oder `8k` |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| convert_figure | image | ja | `file_id`, https-URL oder data-URL; PNG, JPEG oder WebP bis 20 MB, data-URL etwa 3 MB, siehe unten; oder die SVG-Ausgabe eines Flussdiagramms über `file_id` |
|  | format | ja | `svg`, `png`, `pdf`, `tiff` oder `pptx` |
|  | vector_mode | nein | Nur mit Format `svg`: `editable_text` oder `full_vector` |
|  | dpi | nein | Nicht für `svg`: 300, 600 oder 1000 |
|  | width | nein | Nicht für `svg`; nur für Flussdiagramm-SVG-Quelldateien: 256–4096 Pixel |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| generate_chart | data | `data` oder `rows` | CSV- oder TSV-Text mit Kopfzeile, bis zu 1 MB bzw. 1.000.000 Zeichen |
|  | rows | `data` oder `rows` | Anstelle von `data`: 1–100.000 Objekte mit Spaltennamen und Werten; als CSV gesendet, bis zu 1 MB |
|  | data_format | nein | `csv` oder `tsv`; bei fehlender Angabe aus der ersten Zeile erkannt |
|  | request | ja | Beschreibung des Diagramms, 1–16.000 Zeichen |
|  | chart_types | nein | Bis zu 46 Diagrammtypen ohne Duplikate; siehe [Diagramme](/de/docs/api/charts) |
|  | journal_style | nein | `default`, `nature`, `science`, `cell`, `plos` oder `acs` |
|  | figure_width | nein | `single`, `onehalf` oder `double` |
|  | color_palette | nein | Ein Palettenname; siehe [Diagramme](/de/docs/api/charts) |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| edit_chart | job_id | ja | Der neueste Diagrammauftrag |
|  | instruction | ja | 1–16.000 Zeichen |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| generate_flowchart | prompt | ja | 1–8.000 Zeichen |
|  | aspect_ratio | nein | `auto`, `16:9`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `21:9` |
|  | attachments | nein | Bis zu 8 Dateien: `file_id`, https-URL oder data-URL; PDF, DOC, DOCX, Markdown, Text, SVG, PNG, JPEG oder WebP, jeweils bis zu 32 MB |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| edit_flowchart | job_id | ja | Der neueste Flussdiagrammauftrag |
|  | instruction | ja | 1–8.000 Zeichen |
|  | idempotency_key | nein | Optional; nur wiederverwenden, um dieselbe Anfrage nach einem Zeitlimit oder Netzwerkfehler zu wiederholen |
| get_job | job_id | ja | Eine Auftrags-ID |
| list_figures | limit | nein | 1–20 |
|  | cursor | nein | `next_cursor` der vorherigen Seite |
| get_credit_balance | — | — | Keine Parameter |

`generate_chart` akzeptiert ausschließlich Textdaten bis zu 1 MB. Für Excel-Arbeitsmappen (und deren `sheet_name`) oder größere Dateien verwenden Sie [`POST /charts/generations`](/de/docs/api/charts).

## Verhalten der Werkzeuge

- Der Server befindet sich unter `https://mcp.scifig.ai/mcp` (Streamable HTTP). Er ruft diese API in Ihrem Namen auf; Preise, Credits, Limits und Fehler sind daher identisch.
- Bild- und Anhangparameter akzeptieren eine `file_id`, eine https-URL oder eine Daten-URL. URLs und Daten-URLs werden zunächst über `POST /files` hochgeladen und zählen zum Upload-Limit. SciFig-eigene URLs werden abgelehnt (verwenden Sie die `file_id`). Weiterleitungen werden nur zu anderen https-Adressen verfolgt.
- Eine Anfrage an den MCP-Server ist auf 4 MB begrenzt. Base64 vergrößert Dateien um ein Drittel, sodass eine Daten-URL etwa 3 MB enthalten kann. Übergeben Sie größere Dateien als https-URL.
- Der Server prüft Ihre Zugangsdaten nur bei `initialize` und `tools/call`. Ein abgelaufenes oder widerrufenes Token führt zu `401`, damit der Client es aktualisieren oder sich erneut anmelden kann. Ein gesperrtes Konto oder ein Konto, das gerade gelöscht wird, führt zu `403`.
- Fertige Bilder werden bis zu einer Größe von 1 MB direkt im Chat angezeigt. Jedes Ergebnis enthält Download-Links; Diagramme und Flussdiagramme enthalten außerdem einen Link zum Öffnen im SciFig-Editor.
- Jede Erstellung verwendet einen neuen Idempotency-Key, sofern der Assistent keinen `idempotency_key` übergibt. Eine erneute Aufforderung erstellt und berechnet daher einen neuen Job. Verwenden Sie `get_job`, um den Fortschritt abzufragen.
- Ein Fehlerergebnis gibt den `idempotency_key` und, sofern ein Job existiert, die `job_id` zurück. Wiederholen Sie nach einer Zeitüberschreitung oder einem Serverfehler mit demselben Schlüssel oder rufen Sie `get_job` auf. Eine Ablehnung wie `402 INSUFFICIENT_CREDITS` bleibt unter ihrem Schlüssel gespeichert; senden Sie die Anfrage dann mit einem neuen Schlüssel.
