Claude
Laisser Claude piloter photosuite par MCP et surveiller une livraison en cours.
Claude par MCP#
L'app répond à MCP (Model Context Protocol) sur /mcp au port de l'API, pour que Claude Code et Claude Desktop puissent la piloter sans écrire de code. Activez l'API dans Settings → General et copiez son jeton.
Claude Code, dans le dossier où vous travaillez :
claude mcp add --transport http photosuite http://127.0.0.1:9100/mcp --header "Authorization: Bearer $CULLING_API_TOKEN"
Claude Desktop lance ses outils comme des programmes et rejoint donc l'app par la passerelle mcp-remote. Dans Settings → Developer → Edit Config, ajoutez photosuite à claude_desktop_config.json, puis quittez Claude Desktop et rouvrez-le :
{
"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>" }
}
}
}
Ce qu'il peut faire : tout ce que peut l'API, sous forme d'une trentaine d'outils : un par groupe de la référence (Navigate, Mark, View, Develop, Metadata, Select & Filter, Files, Deliver, Analyze, App) et par nature. Les outils …_read ne changent rien, les outils …_change changent des photos, des réglages ou l'affichage, et les outils …_delete mettent à la corbeille, en quarantaine, oublient ou suppriment. Autorisez les outils _read et laissez Claude demander avant les autres. describe donne les paramètres d'une opération. Les images (les photos livrées d'un workflow, une planche contact, une capture de la fenêtre) reviennent comme des images que Claude peut regarder.
Laisser Claude surveiller une livraison#
Une session Claude Code peut surveiller un workflow en cours pour vous : elle est réveillée quand des photos sont terminées, les regarde, et retient ou relance une photo qui ne va pas. Elle voit une photo une fois partie ; la retenir la retire de ses albums et du dossier de livraison, et signale ce qui est déjà sur un serveur.
- Lancez le workflow dans Settings → Workflow, avec l'API activée dans Settings → General.
- Créez un dossier pour la session, mettez-y
follow-workflow.tsdepuis la collection de scripts, et connectez-y Claude Code à l'app :
claude mcp add --transport http photosuite http://127.0.0.1:9100/mcp --header "Authorization: Bearer $CULLING_API_TOKEN"
- Dites ce qu'elle peut faire, dans
.claude/settings.jsondans ce dossier : lire et piloter le workflow, jamais supprimer, mettre à la corbeille ou modifier une connexion.
{
"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"
]
}
}
- Lancez Claude Code dans le dossier (
claude) et confiez-lui la surveillance, avec ce qui est juste pour cette livraison (la consigne peut être écrite en français) :
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.
Ce que cela coûte. Chaque réveil est un tour pour la session : environ 250 tokens par photo dans la ligne du lot et environ 2 700 pour une planche contact de 16, en plus du contexte de la session, que Claude Code lit surtout depuis son cache (la liste des outils de photosuite fait environ 7 000 tokens). Avec --batch-seconds 300, une journée de dix heures fait au plus 120 tours ; avec 0, c'est un tour par photo, quelques milliers lors d'un événement chargé. Les chiffres sont calculés d'après la taille de la ligne et de la planche, pas relevés sur une facture.
Arrêtez-la en demandant à Claude d'arrêter le Monitor, ou en mettant fin à la session. Le workflow continue, et les photos retenues le restent jusqu'à ce qu'elles soient libérées dans Settings → Workflow.
Laisser Claude approuver chaque photo#
Une étape Approve regarde chaque photo avant qu'elle parte : Claude voit la photo à côté de l'image entière dont elle est tirée, la découpe tracée, et l'approuve ou la refuse selon ce que vous écrivez dans l'étape (« le nageur est entier dans le cadre, la tête et les mains ne sont pas coupées, pas une image d'un officiel »). Placez-la avant Add to Album ou Export. Quand Claude refuse une photo, l'étape peut la retenir avec la raison de Claude (elle attend dans Settings → Workflow jusqu'à ce que vous la libériez), la livrer marquée (« Not approved: … » dans les instructions IPTC), ou la retenir et la relancer avec le recadrage que Claude propose. Une livraison en direct ne s'arrête jamais pour Claude : une photo qu'il ne juge pas à temps part, et l'app dit combien. Elle utilise votre propre clé Claude ; l'étape affiche ce que coûtent une photo et mille photos avec le modèle choisi. Le modèle Live event: FTP → DxO → Claude approves → album l'a réglée pour une compétition de natation.