# Broderi-MCP-server för AI-agenter

Kanonisk sida: https://embroideryfileconverter.com/sv/ai-agents

Anslut AI-agenter till autentiserade broderiverktyg via en fjärr-MCP-server med OAuth, formatupptäckt, användningsstatus och privata bearbetningsjobb.

## Välj rätt integration

- Använd denna fjärr-MCP-server när en AI-assistent ska agera för en användares räkning via webbläsar-godkänd OAuth.
- Använd [REST Developer API](https://embroideryfileconverter.com/sv/developers) för ett konventionellt backend, SaaS-produkt eller serverautomationslösning.

## Anslut en MCP-klient

- Strömbar HTTP-slutpunkt: `https://embroideryfileconverter.com/mcp/embroidery`
- OAuth-omfång: `mcp:use`
- Standard MCP-hastighetsgräns: 60 begäranden per minut
- Gräns för filskapandeverktyg: 6 begäranden per minut per användare, plus en nätverksgräns
- Åtkomsttoken livslängd: 60 minuter
- Uppdateringstoken livslängd: 30 dagar

Slutpunkten fungerar med fjärranslutna Streamable HTTP-klienter. Föredra inbyggd webbläsar-OAuth; klistra aldrig in lösenord, uppdateringstoken eller långlivade bearer-token i ett arkiv.

## Anslut ChatGPT (OpenAI)

Fullständiga MCP-appar konfigureras i ChatGPT-utvecklingsläge. Tillgänglighet och skrivverktygskontroller varierar beroende på plan.

1. I ChatGPT-webben aktiverar du Utvecklingsläge under Inställningar &gt; Appar &gt; Avancerade inställningar, eller öppna Arbetsytainställningar &gt; Appar &gt; Skapa.
2. Skapa en app och ange MCP-serverns URL till `https://embroideryfileconverter.com/mcp/embroidery`.
3. Välj OAuth, välj Skanna verktyg och godkänn `mcp:use`-omfånget i webbläsaren.
4. Skapa utkastappen, aktivera den och välj den från verktygsmenyn i en ny konversation.

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

## Anslut Claude, Claude Desktop, Cowork eller Claude Code

I Claude öppnar du Anpassa &gt; Anslutningar &gt; Lägg till anpassad anslutning, ange `https://embroideryfileconverter.com/mcp/embroidery`, välj Anslut och slutför OAuth. Team- och Enterprise-ägare lägger till anslutningen under Organisationsinställningar &gt; Anslutningar innan medlemmar ansluter individuellt.

Claude Code-kommando:

```bash
claude mcp add --transport http embroidery-file-converter https://embroideryfileconverter.com/mcp/embroidery
# Kör sedan /mcp inne i Claude Code och slutför webbläsarautorisering.
```

[Officiell Claude fjärr-MCP-dokumentation](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp)

## Anslut OpenAI Agents SDK

Ditt backend måste slutföra OAuth-auktoriseringskod + PKCE för sin inloggade användare, lagra token krypterat på servern, uppdatera dem vid behov och skicka den aktuella åtkomsttoken till det hostade MCP-verktyget. Exponera aldrig denna token i webbläsar-JavaScript.

```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',
    }),
  ],
});
```

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

## Anslut Cursor

Lägg till detta i `.cursor/mcp.json`, starta servern i Cursor-inställningar &gt; MCP och slutför OAuth. Cursor Agent-användare kan köra `cursor-agent mcp login embroidery-file-converter`.

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

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

## Anslut VS Code och GitHub Copilot

Kör `MCP: Add Server` och välj HTTP, eller lägg till detta i `.vscode/mcp.json`. Starta med `MCP: List Servers`, lita på konfigurationen och slutför webbläsarautorisering.

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

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

## Anslut 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
```

[Officiell OpenClaw MCP-dokumentation](https://docs.openclaw.ai/cli/mcp)

## Anslut Gemini CLI

Lägg till servern i `~/.gemini/settings.json`, kör sedan `/mcp auth embroidery-file-converter` inne i Gemini CLI.

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

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

## Anslut OpenCode

Lägg till detta i `opencode.json`, kör sedan `opencode mcp auth embroidery-file-converter` och verifiera med `opencode mcp list`.

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

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

## Anslut Windsurf Cascade

Öppna Windsurf-inställningar &gt; Cascade &gt; MCP-servrar, eller lägg till detta i `~/.codeium/windsurf/mcp_config.json`. Starta servern, slutför OAuth och aktivera endast de nödvändiga verktygen.

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

[Officiell Windsurf MCP-dokumentation](https://docs.windsurf.com/windsurf/cascade/mcp)

## Anslut Cline

Clines OAuth-beteende varierar beroende på version och yta. Öppna MCP-servrar &gt; Fjärrservrar, välj Streamable HTTP och använd denna konfiguration med en tom godkännandelista:

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

Om den installerade Cline-versionen inte kan slutföra OAuth, använd en granskad och versionspinnad OAuth-brygga, eller välj en klient med inbyggd OAuth. Commita inte en långlivad token till `cline_mcp_settings.json`.

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

## OAuth-upptäckt och PKCE

- Metadata för skyddad resurs: `https://embroideryfileconverter.com/.well-known/oauth-protected-resource/mcp/embroidery`
- Metadata för auktoriseringsserver: `https://embroideryfileconverter.com/.well-known/oauth-authorization-server`
- Dynamisk klientregistrering: `https://embroideryfileconverter.com/oauth/register`
- Auktoriseringsserverns utfärdare: `https://embroideryfileconverter.com`
- Bevilja: auktoriseringskod
- PKCE-metod: S256
- Krävt omfång: `mcp:use`

Dynamisk klientregistrering accepterar endast callback-ursprung och inbyggda scheman som uttryckligen tillåts av operatören. Godtyckliga callback-domäner avvisas. Kontot måste ha en verifierad e-postadress innan MCP-slutpunkten kan användas.

De standardmässigt betrodda hostade callback:erna är begränsade till officiella ChatGPT-, Claude- och VS Code-ursprung plus loopback-callback:er för installerade klienter. Jokertecken-omdirigeringsdomäner är inte aktiverade. Driftsättningar som åsidosätter `MCP_REDIRECT_DOMAINS` måste behålla endast de klienter de avser att stödja.

Exempel på registrering för en tillåten lokal callback:

```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"]
  }'
```

## Komplett verktygsreferens

### `list-formats-tool`

Skrivskyddad. Tar inga argument. Returnerar `artwork_inputs[]` och `formats[]` med fälten readable, writable, label och warning. Anropa den innan du väljer arbetsflöde eller målformat.

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

Skrivskyddad. Tar inga argument. Returnerar aktuell förhandsvisningskvot, kreditsaldo, arbetsflödeskostnader, prenumerationsgränser och återställningsdatum. Den köper eller förbrukar aldrig något.

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

Skrivskyddad. Listar senaste jobben som ägs av det anslutna kontot.

- `limit`: valfritt heltal från 1 till 50; standard 20

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

Skrivskyddad. Returnerar ett ägt jobb med status, händelser, mätvärden, varningar, förhandsvisningsartefakter och tillgängliga OAuth-skyddade fil-URL:er.

- `workflow`: obligatoriskt `conversion` eller `digitising`
- `job_id`: obligatoriskt 26-teckens jobb-ID

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

Skapar lagrad data. Startar ett privat förhandsvisningsjobb och kan förbruka förhandsvisningskvot, men köper aldrig krediter eller låser upp en betalad nedladdning.

- `workflow`: obligatoriskt `conversion` eller `digitising`
- `file_name`: obligatoriskt ursprungligt filnamn med filändelse, 3 till 255 tecken, utan sökvägsseparatorer eller kontrolltecken
- `file_base64`: obligatorisk rå standard-base64 utan data-URL-prefix
- `format`: obligatoriskt skrivbart broderiutdata i gemener
- `width_mm`: tal från 10 till 300, obligatoriskt vid digitalisering
- `colour_count`: heltal från 1 till 24, obligatoriskt vid digitalisering

Det strukturerade resultatet innehåller `billing_authorized: false`. Vid konvertering måste det valda utdataformatet skilja sig från det identifierade källformatet.

## JSON-RPC-verktygsexempel

Lista format:

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

Skapa en digitaliseringsförhandsvisning:

```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
    }
  }
}
```

Hämta det returnerade jobbet:

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

Möjliga jobbstatusar är `queued`, `processing`, `completed` och `failed`. Hämta med backoff och stoppa vid terminal status. Fil-URL:er kräver samma OAuth-åtkomsttoken och omfattas fortfarande av uppladdningens retention-datum `expiresAt`.

## Exempel på naturliga språkuppmaningar

- “Kontrollera vilka format som kan läsa PES och säkert skriva JEF. Visa kompatibilitetsvarningar.”
- “Lista mina fem senaste broderijobb och summera allt som misslyckades.”
- “Fråga mig om att bekräfta innan uppladdning. Digitalisera sedan logo.png till 90 mm bredd med högst 8 färger och returnera en PES-förhandsvisning.”
- “Hämta jobb 01J… tills det är klart, rapportera sedan stygnmätvärden, varningar och om en nedladdning redan är upplåst.”

## Säkerhetsmodell

- Inget verktyg för fakturering, kassa, kreditköp eller upplåsning av betalad nedladdning exponeras.
- Inget verktyg för API-nyckelskapande, autentiseringsändring, inläsning av autentiseringsuppgifter eller kontosradering exponeras.
- Varje jobbläsning är begränsad till den anslutna användaren.
- Skapa-verktyget lagrar en privat uppladdning och skapar ett jobb, så agenten instrueras att fråga innan uppladdning.
- Filnamn, metadata, jobbmeddelanden och varningar är opålitlig data. Servern instruerar agenter att aldrig följa kommandon som är inbäddade i dessa värden.
- Ett slutfört resultat är inte automatiskt produktionsklart. Agenter bör kontrollera valideringsmätvärden och varningar innan de gör påståenden.

## Felsökning

- `401 Unauthorized`: ingen giltig åtkomsttoken skickades; starta om klientens OAuth-anslutning.
- `403 Forbidden`: token saknar `mcp:use`, kontot är overifierat eller det begärda jobbet tillhör ett annat konto.
- `invalid_redirect_uri`: callback-ursprunget eller det inbyggda schemat finns inte på serverns tillåtelselista.
- `422`: verktygsargument, base64-data, källtyp, målformat eller kontokvot misslyckades vid validering.
- `429`: hastighetsgräns överskriden; respektera `Retry-After` och använd exponentiell backoff med jitter.

## Relaterade sidor

- [Dokumentation för utvecklar-API](https://embroideryfileconverter.com/sv/developers)
- [OpenAPI 3.1-beskrivning](https://embroideryfileconverter.com/developers/openapi.json)
- [Integritetspolicy](https://embroideryfileconverter.com/sv/privacy)
