# Servidor MCP

Usa SciFig desde Claude, ChatGPT, Claude Code, Codex y Cursor a través del servidor MCP remoto.

Fuente: https://scifig.ai/es/docs/api/mcp

## Servidor MCP

URL del servidor: `https://mcp.scifig.ai/mcp`, Streamable HTTP. Los clientes compatibles con OAuth se conectan iniciando sesión en SciFig y autorizando el acceso; los que envían cabeceras pueden usar una clave API como `Authorization: Bearer sk_live_…`.

| Herramienta | Función |
| --- | --- |
| generate_figure | Crear una ilustración científica a partir de una descripción |
| edit_figure | Editar una imagen: instrucciones, opcionalmente una región enmascarada, fondo blanco, relación de aspecto, cambio de colores o sustitución de texto |
| detect_text | Detectar el texto de una imagen antes de sustituirlo |
| upscale_figure | Ampliar a 2K, 4K u 8K |
| convert_figure | Convertir a SVG, PNG, PDF, TIFF o PPTX |
| generate_chart | Crear un gráfico a partir de texto CSV o TSV o filas JSON, hasta 1 MB |
| edit_chart | Modificar la versión más reciente de un gráfico |
| generate_flowchart | Dibujar un diagrama de flujo en SVG, opcionalmente a partir de hasta 8 archivos adjuntos |
| edit_flowchart | Modificar la versión más reciente de un diagrama de flujo |
| get_job | Estado, créditos y enlaces de descarga de una tarea |
| list_figures | Tareas recientes |
| get_credit_balance | Saldo de créditos, plan y límites |

Las herramientas de creación esperan hasta 25 segundos. Si una tarea sigue ejecutándose, llama a `get_job` más tarde; volver a llamar a la herramienta de creación crea y cobra una tarea nueva. Los resultados incluyen cada enlace de descarga y, para gráficos y diagramas de flujo, el enlace que abre el resultado en el editor de SciFig.

Las herramientas de creación comprueban el ámbito `figures:generate` antes de descargar archivos adjuntos. Una conexión de solo lectura puede consultar tareas y créditos, pero no puede crear figuras.

## Conecta tu cliente

Claude, en claude.ai y Claude Desktop: Ajustes → Conectores → Añadir conector personalizado. Introduce la URL del servidor, inicia sesión en SciFig y permite el acceso.

ChatGPT: Ajustes → Aplicaciones → Avanzado → Modo de desarrollador. Crea una aplicación con la URL del servidor y autenticación OAuth.

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, en `~/.cursor/mcp.json`, con una clave API creada en Ajustes → Desarrollador:

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

Los clientes sin OAuth pueden añadir la cabecera `Authorization: Bearer sk_live_…` con una clave API creada en Ajustes → Desarrollador.

## Parámetros de las herramientas

| Herramienta | Parámetro | Obligatorio | Reglas |
| --- | --- | --- | --- |
| generate_figure | prompt | sí | 3–20 000 caracteres |
|  | aspect_ratio | no | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|  | quality | no | `standard`, `advanced` o `premium` |
|  | style | no | Uno de los valores `flat`, `2-5d`, `line-art`, `hand-drawn`, `scientific`, `line`, `3d`, `editorial`, `sketch`, `watercolor`, `auto` |
|  | palette | no | Nombre de paleta de 1–64 caracteres o 1–4 colores `#RRGGBB` |
|  | reference_images | no | Hasta 3 imágenes: `file_id`, URL https o URL data; PNG, JPEG o WebP de hasta 20 MB, aproximadamente 3 MB para una URL data, consulta más abajo |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| edit_figure | image | sí | `file_id`, URL https o URL data; PNG, JPEG o WebP de hasta 20 MB, aproximadamente 3 MB para una URL data, consulta más abajo |
|  | operation | no | `instruct` por defecto, `white_background`, `aspect_ratio`, `recolor` o `replace_text` |
|  | instruction | para `instruct` | 1–2000 caracteres |
|  | mask | no | Solo para `instruct`: PNG de hasta 8 MB, con blanco en las zonas que se pueden modificar |
|  | aspect_ratio | para `aspect_ratio` | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|  | palette | no | Solo para `recolor`: 1–8 colores `#RRGGBB` |
|  | text_detection | para `replace_text` | El identificador devuelto por `detect_text` |
|  | replacements | para `replace_text` | 1–256 elementos `[{"index", "text"}]`: `index` de 0 a 255 obtenido de `detect_text`, cada índice una vez como máximo; text de 1–500 caracteres |
|  | quality | no | Se ignora en `replace_text` |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| detect_text | image | sí | `file_id`, URL https o URL data; PNG, JPEG o WebP de hasta 20 MB, aproximadamente 3 MB para una URL data, consulta más abajo |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| upscale_figure | image | sí | `file_id`, URL https o URL data; PNG, JPEG o WebP de hasta 20 MB, aproximadamente 3 MB para una URL data, consulta más abajo |
|  | scale | sí | `2k`, `4k` u `8k` |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| convert_figure | image | sí | `file_id`, URL https o URL data; PNG, JPEG o WebP de hasta 20 MB, aproximadamente 3 MB para una URL data, consulta más abajo; o el SVG de un diagrama de flujo mediante `file_id` |
|  | format | sí | `svg`, `png`, `pdf`, `tiff` o `pptx` |
|  | vector_mode | no | Solo con el formato `svg`: `editable_text` o `full_vector` |
|  | dpi | no | No para `svg`: 300, 600 o 1000 |
|  | width | no | No para `svg`; solo para fuentes SVG de diagramas de flujo: 256–4096 píxeles |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| generate_chart | data | `data` o `rows` | Texto CSV o TSV con fila de cabecera, hasta 1 MB, equivalente a 1 000 000 de caracteres |
|  | rows | `data` o `rows` | En lugar de `data`: 1–100 000 objetos que asignan nombres de columna a valores; enviados como CSV, hasta 1 MB |
|  | data_format | no | `csv` o `tsv`; si se omite, se detecta a partir de la primera línea |
|  | request | sí | Qué representar, 1–16.000 caracteres |
|  | chart_types | no | Hasta 46 tipos de gráficos, sin duplicados; consulta [gráficos](/es/docs/api/charts) |
|  | journal_style | no | `default`, `nature`, `science`, `cell`, `plos` o `acs` |
|  | figure_width | no | `single`, `onehalf` o `double` |
|  | color_palette | no | Nombre de paleta; consulta [gráficos](/es/docs/api/charts) |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| edit_chart | job_id | sí | La tarea del gráfico más reciente |
|  | instruction | sí | 1–16.000 caracteres |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| generate_flowchart | prompt | sí | 1–8000 caracteres |
|  | aspect_ratio | no | `auto`, `16:9`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `21:9` |
|  | attachments | no | Hasta 8 archivos: `file_id`, URL https o URL data; PDF, DOC, DOCX, Markdown, texto, SVG, PNG, JPEG o WebP, hasta 32 MB cada uno |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| edit_flowchart | job_id | sí | La tarea del diagrama de flujo más reciente |
|  | instruction | sí | 1–8000 caracteres |
|  | idempotency_key | no | Opcional; reutiliza solo para repetir la misma solicitud tras agotar el tiempo de espera o un error de red |
| get_job | job_id | sí | Un identificador de tarea |
| list_figures | limit | no | 1–20 |
|  | cursor | no | `next_cursor` de la página anterior |
| get_credit_balance | — | — | Sin parámetros |

`generate_chart` solo acepta datos de texto, hasta 1 MB. Para libros de Excel (y su `sheet_name`) o archivos más grandes, usa [`POST /charts/generations`](/es/docs/api/charts).

## Cómo funcionan las herramientas

- El servidor está en `https://mcp.scifig.ai/mcp` (Streamable HTTP). Llama a esta API en tu nombre, por lo que los precios, créditos, límites y errores son los mismos.
- Los parámetros de imagen y adjuntos aceptan una `file_id`, una URL https o una URL de datos. Las URL y URL de datos se cargan primero con `POST /files`, por lo que cuentan para los límites de carga. Se rechazan las URL de SciFig (pasa la `file_id`) y solo se siguen redirecciones a otras direcciones https.
- Una solicitud al servidor MCP tiene un límite de 4 MB. Base64 aumenta el tamaño del archivo en un tercio, así que una URL de datos puede contener unos 3 MB. Envía los archivos más grandes como URL https.
- El servidor comprueba tus credenciales solo en `initialize` y `tools/call`. Un token caducado o revocado devuelve `401` para que el cliente pueda actualizarlo o iniciar sesión de nuevo; una cuenta bloqueada o en proceso de eliminación devuelve `403`.
- Las imágenes terminadas se muestran directamente en el chat si no superan 1 MB. Cada resultado incluye enlaces de descarga; los gráficos y diagramas de flujo añaden un enlace para abrirlos en el editor de SciFig.
- Cada creación usa un nuevo Idempotency-Key salvo que el asistente envíe `idempotency_key`. Volver a pedir el resultado crea y cobra un nuevo trabajo. Usa `get_job` para consultar el progreso.
- Un resultado de error devuelve `idempotency_key` y, si existe un trabajo, `job_id`. Tras un tiempo de espera agotado o un error del servidor, reintenta con la misma clave o llama a `get_job`. Un rechazo como `402 INSUFFICIENT_CREDITS` queda guardado bajo su clave; en ese caso, envía la solicitud de nuevo con una clave nueva.
