Claude

Deja que Claude maneje photosuite por MCP y vigile una entrega en marcha.

Claude por MCP#

La app responde a MCP (Model Context Protocol) en /mcp, en el puerto de la API, para que Claude Code y Claude Desktop la manejen sin escribir código. Activa la API en Settings → General y copia su token.

Claude Code, en la carpeta donde trabajas:

claude mcp add --transport http photosuite http://127.0.0.1:9100/mcp --header "Authorization: Bearer $CULLING_API_TOKEN"

Claude Desktop arranca sus herramientas como programas, así que llega a la app a través del puente mcp-remote. En Settings → Developer → Edit Config, añade photosuite a claude_desktop_config.json, y luego cierra Claude Desktop y vuelve a abrirlo:

{
  "mcpServers": {
    "photosuite": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://127.0.0.1:9100/mcp", "--allow-http", "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer <your API token>" }
    }
  }
}

Lo que puede hacer: todo lo que puede la API, como una treintena de herramientas: una por grupo de la referencia (Navigate, Mark, View, Develop, Metadata, Select & Filter, Files, Deliver, Analyze, App) y tipo. Las herramientas …_read no cambian nada, las …_change cambian fotos, ajustes o lo que se muestra, y las …_delete mueven a la papelera, a cuarentena, olvidan o eliminan. Permite las herramientas _read y deja que Claude pregunte antes de las demás. describe da los parámetros de una operación. Las imágenes (las fotos entregadas de un flujo de trabajo, una hoja de contactos, una captura de la ventana) vuelven como imágenes que Claude puede mirar.

Dejar que Claude vigile una entrega#

Una sesión de Claude Code puede vigilar por ti un flujo de trabajo en marcha: se despierta cuando hay fotos terminadas, las mira y retiene o vuelve a ejecutar una foto que esté mal. Ve una foto después de que salió; retenerla la saca de sus álbumes y de la carpeta de entrega, e indica lo que ya está en un servidor.

  1. Inicia el flujo de trabajo en Settings → Workflow, con la API activada en Settings → General.
  2. Crea una carpeta para la sesión, pon en ella follow-workflow.ts de la colección de scripts y conecta allí Claude Code a la app:
claude mcp add --transport http photosuite http://127.0.0.1:9100/mcp --header "Authorization: Bearer $CULLING_API_TOKEN"
  1. Di lo que puede hacer, en .claude/settings.json en esa carpeta: leer y dirigir el flujo de trabajo, nunca eliminar, mandar a la papelera ni cambiar una conexión.
{
  "permissions": {
    "allow": [
      "mcp__photosuite__workflow_read",
      "mcp__photosuite__workflow_change",
      "mcp__photosuite__deliver_read",
      "mcp__photosuite__describe",
      "Bash(bun follow-workflow.ts:*)"
    ],
    "deny": [
      "mcp__photosuite__deliver_change",
      "mcp__photosuite__files_change",
      "mcp__photosuite__analyze_delete",
      "mcp__photosuite__app_delete",
      "mcp__photosuite__deliver_delete",
      "mcp__photosuite__develop_delete",
      "mcp__photosuite__files_delete",
      "mcp__photosuite__metadata_delete",
      "mcp__photosuite__select_filter_delete",
      "mcp__photosuite__view_delete",
      "mcp__photosuite__workflow_delete"
    ]
  }
}
  1. Inicia Claude Code en la carpeta (claude) y dale la vigilancia, con lo que es correcto para esta entrega (la indicación puede escribirse en español):
Watch the photosuite workflow "Live event". Start
`bun follow-workflow.ts --batch-seconds 300 --workflow "Live event"` under Monitor.
For each batch, look at the contact sheet (workflow_read, GET /api/workflow/files/sheet)
and judge every picture: the swimmer whole with air above the head, level, exposed
like the others. For a wrong one: hold it (POST /api/workflow/files/{id}/hold, by
"claude", with the reason), look at the whole frame (GET /api/workflow/files/{id}/picture
with stage=source), and run it again with a corrected crop or ev
(POST /api/workflow/files/{id}/rerun). Say in one line what you did and why.
Never stop the workflow, and do nothing else.

Lo que cuesta. Cada despertar es un turno de la sesión: unos 250 tokens por foto en la línea de la tanda y unos 2 700 por una hoja de contactos de 16, además del contexto de la sesión, que Claude Code lee sobre todo de su caché (la lista de herramientas de photosuite son unos 7 000 tokens). Con --batch-seconds 300, un día de diez horas son como mucho 120 turnos; con 0, un turno por foto, unos miles en un evento intenso. Las cifras están calculadas a partir del tamaño de la línea y de la hoja, no leídas en una factura.

Detenla pidiendo a Claude que pare el Monitor, o terminando la sesión. El flujo de trabajo sigue, y las fotos retenidas siguen retenidas hasta que se liberan en Settings → Workflow.

Dejar que Claude apruebe cada foto#

Un paso Approve mira cada foto antes de que salga: Claude ve la foto junto a la imagen entera de la que se recortó, con el recorte marcado, y la aprueba o la rechaza según lo que escribas en el paso («el nadador está entero en el encuadre, la cabeza y las manos no están cortadas, no es una imagen de un juez»). Ponlo antes de Add to Album o Export. Cuando Claude rechaza una foto, el paso puede retenerla con la razón de Claude (espera en Settings → Workflow hasta que la liberes), entregarla marcada («Not approved: …» en las instrucciones IPTC) o retenerla y volver a ejecutarla con el recorte que propone Claude. Una entrega en directo nunca se detiene por Claude: una foto que no juzga a tiempo sale, y la app dice cuántas. Usa tu propia clave de Claude; el paso muestra lo que cuestan una foto y mil fotos con el modelo que elijas. La plantilla Live event: FTP → DxO → Claude approves → album lo tiene preparado para una competición de natación.

esc
    ↑↓ navegar↵ abrir