# Serveur MCP Broderie pour agents IA

Page canonique: https://embroideryfileconverter.com/fr/ai-agents

Connectez les agents IA aux outils de broderie authentifiés via un serveur MCP distant avec OAuth, découverte de formats, statut d&#039;utilisation et travaux de traitement privés.

## Choisir la bonne intégration

- Utilisez ce serveur MCP distant lorsqu’un assistant IA doit agir au nom d’un utilisateur via OAuth approuvé par le navigateur.
- Utilisez la [REST Developer API](https://embroideryfileconverter.com/fr/developers) pour un backend classique, un produit SaaS ou une automatisation côté serveur.

## Connecter un client MCP

- Point d’accès HTTP streamable: `https://embroideryfileconverter.com/mcp/embroidery`
- Portée OAuth: `mcp:use`
- Limite de débit MCP par défaut : 60 requêtes par minute
- Limite de l’outil de création de fichiers : 6 requêtes par minute et par utilisateur, plus une limite réseau
- Durée de vie du jeton d’accès : 60 minutes
- Durée de vie du jeton de rafraîchissement : 30 jours

Le point de terminaison fonctionne avec les clients HTTP Streamable distants. Préférez l’OAuth natif du navigateur ; ne collez jamais de mots de passe, de jetons de rafraîchissement ni de jetons bearer de longue durée dans un dépôt.

## Connecter ChatGPT (OpenAI)

Les applications MCP complètes sont configurées en mode développeur ChatGPT. La disponibilité et les contrôles des outils d’écriture varient selon l’offre.

1. Dans ChatGPT web, activez le mode Développeur dans Paramètres &gt; Applications &gt; Paramètres avancés, ou ouvrez Paramètres de l’espace de travail &gt; Applications &gt; Créer.
2. Créez une application et définissez l’URL du serveur MCP sur `https://embroideryfileconverter.com/mcp/embroidery`.
3. Choisissez OAuth, sélectionnez Scanner les outils et approuvez la portée `mcp:use` dans le navigateur.
4. Créez le brouillon d’application, activez-le et sélectionnez-le dans le menu des outils d’une nouvelle conversation.

[Documentation officielle ChatGPT MCP](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)

## Connecter Claude, Claude Desktop, Cowork ou Claude Code

Dans Claude, ouvrez Personnaliser &gt; Connecteurs &gt; Ajouter un connecteur personnalisé, saisissez `https://embroideryfileconverter.com/mcp/embroidery`, choisissez Connecter et terminez l’OAuth. Les propriétaires d’équipe et d’entreprise ajoutent le connecteur dans Paramètres de l’organisation &gt; Connecteurs avant que les membres ne se connectent individuellement.

Commande Claude Code :

```bash
claude mcp add --transport http embroidery-file-converter https://embroideryfileconverter.com/mcp/embroidery
# Exécutez ensuite /mcp dans Claude Code et terminez l’autorisation dans le navigateur.
```

[Documentation officielle Claude MCP distant](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp)

## Connecter le SDK OpenAI Agents

Votre backend doit effectuer l’autorisation OAuth code + PKCE pour l’utilisateur connecté, stocker les jetons chiffrés sur le serveur, les rafraîchir si nécessaire et transmettre le jeton d’accès actuel à l’outil MCP hébergé. N’exposez jamais ce jeton dans le JavaScript du navigateur.

```typescript
import { Agent, hostedMcpTool } from '@openai/agents';

const agent = new Agent({
  name: 'Embroidery assistant',
  tools: [
    hostedMcpTool({
      serverLabel: 'embroidery',
      serverUrl: 'https://embroideryfileconverter.com/mcp/embroidery',
      authorization: process.env.EFC_MCP_ACCESS_TOKEN,
      requireApproval: 'always',
    }),
  ],
});
```

[Documentation officielle OpenAI Agents SDK MCP](https://developers.openai.com/api/docs/guides/tools-connectors-mcp)

## Connecter Cursor

Ajoutez ceci à `.cursor/mcp.json`, démarrez le serveur dans Paramètres Cursor &gt; MCP et terminez l’OAuth. Les utilisateurs de Cursor Agent peuvent exécuter `cursor-agent mcp login embroidery-file-converter`.

```json
{
  "mcpServers": {
    "embroidery-file-converter": {
      "url": "https://embroideryfileconverter.com/mcp/embroidery"
    }
  }
}
```

[Documentation officielle Cursor MCP](https://docs.cursor.com/context/model-context-protocol)

## Connecter VS Code et GitHub Copilot

Exécutez `MCP: Add Server` et choisissez HTTP, ou ajoutez ceci à `.vscode/mcp.json`. Démarrez avec `MCP: List Servers`, approuvez la configuration et terminez l’autorisation dans le navigateur.

```json
{
  "servers": {
    "embroidery-file-converter": {
      "type": "http",
      "url": "https://embroideryfileconverter.com/mcp/embroidery"
    }
  }
}
```

[Documentation officielle VS Code MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers)

## Connecter OpenClaw

```bash
openclaw mcp add embroidery-file-converter \
  --url https://embroideryfileconverter.com/mcp/embroidery \
  --transport streamable-http \
  --auth oauth \
  --oauth-scope mcp:use

openclaw mcp login embroidery-file-converter
openclaw mcp doctor embroidery-file-converter --probe
```

[Documentation officielle OpenClaw MCP](https://docs.openclaw.ai/cli/mcp)

## Connecter Gemini CLI

Ajoutez le serveur à `~/.gemini/settings.json`, puis exécutez `/mcp auth embroidery-file-converter` dans Gemini CLI.

```json
{
  "mcpServers": {
    "embroidery-file-converter": {
      "url": "https://embroideryfileconverter.com/mcp/embroidery"
    }
  }
}
```

[Documentation officielle Gemini CLI MCP](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md)

## Connecter OpenCode

Ajoutez ceci à `opencode.json`, puis exécutez `opencode mcp auth embroidery-file-converter` et vérifiez avec `opencode mcp list`.

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "embroidery-file-converter": {
      "type": "remote",
      "url": "https://embroideryfileconverter.com/mcp/embroidery"
    }
  }
}
```

[Documentation officielle OpenCode MCP](https://opencode.ai/docs/mcp-servers/)

## Connecter Windsurf Cascade

Ouvrez Windsurf Paramètres &gt; Cascade &gt; Serveurs MCP, ou ajoutez ceci à `~/.codeium/windsurf/mcp_config.json`. Démarrez le serveur, terminez l’OAuth et activez uniquement les outils nécessaires.

```json
{
  "mcpServers": {
    "embroidery-file-converter": {
      "serverUrl": "https://embroideryfileconverter.com/mcp/embroidery"
    }
  }
}
```

[Documentation officielle Windsurf MCP](https://docs.windsurf.com/windsurf/cascade/mcp)

## Connecter Cline

Le comportement OAuth de Cline varie selon la version et l’interface. Ouvrez MCP Servers &gt; Remote Servers, choisissez Streamable HTTP et utilisez cette configuration avec une liste d’approbation vide :

```json
{
  "mcpServers": {
    "embroidery-file-converter": {
      "type": "streamableHttp",
      "url": "https://embroideryfileconverter.com/mcp/embroidery",
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

Si la version installée de Cline ne peut pas terminer l’OAuth, utilisez un pont OAuth examiné et épinglé à une version, ou choisissez un client avec OAuth natif. N’enregistrez pas de jeton de longue durée dans `cline_mcp_settings.json`.

[Documentation officielle Cline MCP](https://github.com/cline/cline/blob/main/docs/mcp/mcp-overview.mdx)

## Découverte OAuth et PKCE

- Métadonnées de ressource protégée: `https://embroideryfileconverter.com/.well-known/oauth-protected-resource/mcp/embroidery`
- Métadonnées du serveur d’autorisation: `https://embroideryfileconverter.com/.well-known/oauth-authorization-server`
- Enregistrement dynamique du client: `https://embroideryfileconverter.com/oauth/register`
- Émetteur du serveur d’autorisation: `https://embroideryfileconverter.com`
- Octroi : code d’autorisation
- Méthode PKCE : S256
- Portée requise: `mcp:use`

L’enregistrement dynamique du client n’accepte que les origines de rappel et les schémas natifs explicitement autorisés par l’opérateur. Les domaines de rappel arbitraires sont rejetés. Le compte doit disposer d’une adresse e-mail vérifiée avant de pouvoir utiliser le point de terminaison MCP.

Les rappels hébergés de confiance par défaut sont limités aux origines officielles de ChatGPT, Claude et VS Code, ainsi qu’aux rappels loopback pour les clients installés. Les domaines de redirection génériques ne sont pas activés. Les déploiements qui remplacent `MCP_REDIRECT_DOMAINS` doivent conserver uniquement les clients qu’ils souhaitent intentionnellement prendre en charge.

Exemple d’enregistrement pour un rappel local autorisé :

```bash
curl -X POST https://embroideryfileconverter.com/oauth/register \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "client_name": "Your local agent",
    "redirect_uris": ["http://127.0.0.1:49831/callback"]
  }'
```

## Référence complète des outils

### `list-formats-tool`

Lecture seule. Aucun argument. Retourne `artwork_inputs[]` et `formats[]` avec les champs readable, writable, label et warning. Appelez-le avant de choisir un workflow ou un format cible.

### `get-account-usage-tool`

Lecture seule. Aucun argument. Retourne le quota d’aperçus actuel, le solde de crédits, les coûts des workflows, les limites d’abonnement et les dates de réinitialisation. N’achète ni ne consomme rien.

### `list-processing-jobs-tool`

Lecture seule. Liste les tâches récentes appartenant au compte connecté.

- `limit` : entier optionnel de 1 à 50 ; valeur par défaut 20

### `get-processing-job-tool`

Lecture seule. Retourne une tâche appartenant au compte avec son statut, ses événements, ses métriques, ses avertissements, ses aperçus et les URL de fichiers protégées par OAuth.

- `workflow` : obligatoire `conversion` ou `numérisation`
- `job_id` : identifiant de tâche obligatoire de 26 caractères

### `create-processing-job-tool`

Crée des données stockées. Lance une tâche d’aperçu privée et peut consommer du quota d’aperçus, mais n’achète jamais de crédits ni ne déverrouille de téléchargement payant.

- `workflow` : obligatoire `conversion` ou `numérisation`
- `file_name` : nom de fichier original obligatoire avec extension, 3 à 255 caractères, sans séparateur de chemin ni caractère de contrôle
- `file_base64` : base64 standard brut obligatoire sans préfixe data-URL
- `format` : format de sortie broderie inscriptible obligatoire en minuscules
- `width_mm` : nombre de 10 à 300, obligatoire pour la numérisation
- `colour_count` : entier de 1 à 24, obligatoire pour la numérisation

Le résultat structuré inclut `billing_authorized: false`. Pour la conversion, le format de sortie sélectionné doit être différent du format source détecté.

## Exemples d’appels JSON-RPC

Lister les formats :

```json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list-formats-tool",
    "arguments": {}
  }
}
```

Créer un aperçu de numérisation :

```json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "create-processing-job-tool",
    "arguments": {
      "workflow": "digitising",
      "file_name": "logo.png",
      "file_base64": "iVBORw0KGgoAAA...",
      "format": "pes",
      "width_mm": 90,
      "colour_count": 8
    }
  }
}
```

Interroger la tâche retournée :

```json
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "get-processing-job-tool",
    "arguments": {
      "workflow": "digitising",
      "job_id": "01JEXAMPLEJOBID000000000"
    }
  }
}
```

Les statuts possibles d’une tâche sont `queued`, `processing`, `completed` et `failed`. Interrogez avec temporisation et arrêtez-vous à un statut terminal. Les URL de fichiers nécessitent le même jeton OAuth et restent soumises à la date de rétention `expiresAt` du téléversement.

## Exemples d’invites en langage naturel

- “Vérifier quels formats peuvent lire le PES et écrire le JEF en toute sécurité. Afficher les avertissements de compatibilité.”
- “Listez mes cinq tâches de broderie les plus récentes et résumez tout ce qui a échoué.”
- “Avant l’envoi, demandez-moi confirmation. Puis numérisez logo.png à 90 mm de large avec 8 couleurs maximum et renvoyez un aperçu PES.”
- “Interroger la tâche 01J… jusqu’à sa fin, puis signaler les métriques de points, les avertissements et indiquer si un téléchargement est déjà déverrouillé.”

## Modèle de sécurité

- Aucun outil de facturation, de paiement, d’achat de crédits ou de déverrouillage de téléchargement payant n’est exposé.
- Aucun outil de création de clé API, de modification d’authentification, de lecture d’identifiants ou de suppression de compte n’est exposé.
- Chaque lecture de tâche est limitée à l’utilisateur connecté.
- L’outil de création stocke un téléversement privé et crée une tâche ; l’agent doit donc demander avant de téléverser.
- Les noms de fichiers, métadonnées, messages de tâche et avertissements sont des données non fiables. Le serveur demande aux agents de ne jamais suivre les commandes intégrées dans ces valeurs.
- Un résultat terminé n’est pas automatiquement prêt pour la production. Les agents doivent vérifier les métriques de validation et les avertissements avant de faire des affirmations.

## Dépannage

- `401 Unauthorized` : aucun jeton d’accès valide n’a été envoyé ; relancez la connexion OAuth du client.
- `403 Forbidden` : le jeton ne possède pas `mcp:use`, le compte n’est pas vérifié, ou la tâche demandée appartient à un autre compte.
- `invalid_redirect_uri` : l’origine du rappel ou le schéma natif n’est pas dans la liste blanche du serveur.
- `422` : les arguments de l’outil, les données base64, le type de source, le format cible ou le quota du compte ont échoué à la validation.
- `429` : limite de débit dépassée ; respectez `Retry-After` et utilisez un backoff exponentiel avec jitter.

## Pages associées

- [Documentation de l’API développeur](https://embroideryfileconverter.com/fr/developers)
- [Description OpenAPI 3.1](https://embroideryfileconverter.com/developers/openapi.json)
- [Politique de confidentialité](https://embroideryfileconverter.com/fr/privacy)
