# Serwer MCP haftu dla agentów AI

Strona kanoniczna: https://embroideryfileconverter.com/pl/ai-agents

Połącz agentów AI z uwierzytelnionymi narzędziami haftu poprzez zdalny serwer MCP z OAuth, odkrywaniem formatów, statusem użycia i prywatnymi zadaniami przetwarzania.

## Wybierz właściwą integrację

- Używaj tego zdalnego serwera MCP, gdy asystent AI ma działać w imieniu użytkownika za pośrednictwem zatwierdzonego w przeglądarce OAuth.
- Używaj [REST Developer API](https://embroideryfileconverter.com/pl/developers) dla klasycznego backendu, produktu SaaS lub automatyzacji po stronie serwera.

## Połącz klienta MCP

- Strumieniowy punkt końcowy HTTP: `https://embroideryfileconverter.com/mcp/embroidery`
- Zakres OAuth: `mcp:use`
- Domyślny limit szybkości MCP: 60 żądań na minutę
- Limit narzędzi tworzenia plików: 6 żądań na minutę na użytkownika plus limit sieciowy
- Czas życia tokena dostępu: 60 minut
- Czas życia tokena odświeżania: 30 dni

Endpoint działa ze zdalnymi klientami Streamable HTTP. Preferuj natywny OAuth w przeglądarce; nigdy nie wklejaj haseł, tokenów odświeżania ani długoterminowych tokenów bearer do repozytorium.

## Połącz ChatGPT (OpenAI)

Pełne aplikacje MCP konfiguruje się w trybie deweloperskim ChatGPT. Dostępność i kontrola narzędzi zapisu różnią się w zależności od planu.

1. W ChatGPT web włącz tryb Dewelopera w Ustawienia &gt; Aplikacje &gt; Zaawansowane ustawienia lub otwórz Ustawienia obszaru roboczego &gt; Aplikacje &gt; Utwórz.
2. Utwórz aplikację i ustaw adres URL serwera MCP na `https://embroideryfileconverter.com/mcp/embroidery`.
3. Wybierz OAuth, zaznacz Skanuj narzędzia i zatwierdź zakres `mcp:use` w przeglądarce.
4. Utwórz wersję roboczą aplikacji, włącz ją i wybierz ją z menu narzędzi w nowej rozmowie.

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

## Połącz Claude, Claude Desktop, Cowork lub Claude Code

W Claude otwórz Dostosuj &gt; Łączniki &gt; Dodaj łącznik niestandardowy, wpisz `https://embroideryfileconverter.com/mcp/embroidery`, wybierz Połącz i zakończ OAuth. Właściciele Team i Enterprise dodają łącznik w Ustawienia organizacji &gt; Łączniki przed indywidualnym połączeniem członków.

Polecenie Claude Code:

```bash
claude mcp add --transport http embroidery-file-converter https://embroideryfileconverter.com/mcp/embroidery
# Następnie uruchom /mcp w Claude Code i zakończ autoryzację w przeglądarce.
```

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

## Połącz OpenAI Agents SDK

Twój backend musi zakończyć kod autoryzacji OAuth + PKCE dla zalogowanego użytkownika, przechowywać tokeny zaszyfrowane na serwerze, odświeżać je w razie potrzeby i przekazywać bieżący token dostępu do hostowanego narzędzia MCP. Nigdy nie ujawniaj tego tokena w JavaScript przeglądarki.

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

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

## Połącz Cursor

Dodaj to do `.cursor/mcp.json`, uruchom serwer w Ustawienia Cursor &gt; MCP i zakończ OAuth. Użytkownicy Cursor Agent mogą uruchomić `cursor-agent mcp login embroidery-file-converter`.

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

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

## Połącz VS Code i GitHub Copilot

Uruchom `MCP: Add Server` i wybierz HTTP lub dodaj to do `.vscode/mcp.json`. Uruchom za pomocą `MCP: List Servers`, zaufaj konfiguracji i zakończ autoryzację w przeglądarce.

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

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

## Połącz 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
```

[Oficjalna dokumentacja OpenClaw MCP](https://docs.openclaw.ai/cli/mcp)

## Połącz Gemini CLI

Dodaj serwer do `~/.gemini/settings.json`, następnie uruchom `/mcp auth embroidery-file-converter` w Gemini CLI.

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

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

## Połącz OpenCode

Dodaj to do `opencode.json`, następnie uruchom `opencode mcp auth embroidery-file-converter` i zweryfikuj za pomocą `opencode mcp list`.

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

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

## Połącz Windsurf Cascade

Otwórz Ustawienia Windsurf &gt; Cascade &gt; Serwery MCP lub dodaj to do `~/.codeium/windsurf/mcp_config.json`. Uruchom serwer, zakończ OAuth i włącz tylko wymagane narzędzia.

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

[Oficjalna dokumentacja Windsurf MCP](https://docs.windsurf.com/windsurf/cascade/mcp)

## Połącz Cline

Zachowanie OAuth w Cline różni się w zależności od wersji i interfejsu. Otwórz Serwery MCP &gt; Serwery zdalne, wybierz Streamable HTTP i użyj tej konfiguracji z pustą listą zatwierdzeń:

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

Jeśli zainstalowana wersja Cline nie może zakończyć OAuth, użyj sprawdzonego mostka OAuth z przypiętą wersją lub wybierz klienta z natywnym OAuth. Nie zapisuj długoterminowego tokena w `cline_mcp_settings.json`.

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

## Odkrywanie OAuth i PKCE

- Metadane chronionego zasobu: `https://embroideryfileconverter.com/.well-known/oauth-protected-resource/mcp/embroidery`
- Metadane serwera autoryzacji: `https://embroideryfileconverter.com/.well-known/oauth-authorization-server`
- Dynamiczna rejestracja klienta: `https://embroideryfileconverter.com/oauth/register`
- Wydawca serwera autoryzacji: `https://embroideryfileconverter.com`
- Grant: kod autoryzacji
- Metoda PKCE: S256
- Wymagany zakres: `mcp:use`

Dynamiczna rejestracja klienta akceptuje tylko źródła callback i schematy natywne jawnie dozwolone przez operatora. Arbitralne domeny callback są odrzucane. Konto musi mieć zweryfikowany adres e-mail przed użyciem endpointu MCP.

Domyślne zaufane hostowane callbacki są ograniczone do oficjalnych źródeł ChatGPT, Claude i VS Code oraz callbacków loopback dla zainstalowanych klientów. Domeny przekierowań z wildcard nie są włączone. Wdrożenia nadpisujące `MCP_REDIRECT_DOMAINS` muszą zachować tylko klientów, które celowo wspierają.

Przykładowa rejestracja dla dozwolonego lokalnego callbacku:

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

## Pełna dokumentacja narzędzi

### `list-formats-tool`

Tylko do odczytu. Nie przyjmuje argumentów. Zwraca `artwork_inputs[]` i `formats[]` z polami readable, writable, label oraz warning. Wywołaj przed wyborem przepływu pracy lub formatu docelowego.

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

Tylko do odczytu. Nie przyjmuje argumentów. Zwraca bieżący limit podglądów, saldo kredytów, koszty przepływów pracy, limity subskrypcji oraz daty resetu. Nigdy nie kupuje ani nie zużywa niczego.

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

Tylko do odczytu. Wyświetla ostatnie zadania należące do połączonego konta.

- `limit`: opcjonalna liczba całkowita od 1 do 50; domyślnie 20

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

Tylko do odczytu. Zwraca jedno należące zadanie ze statusem, zdarzeniami, metrykami, ostrzeżeniami, artefaktami podglądu oraz dostępnymi chronionymi OAuth adresami URL plików.

- `workflow`: wymagane `conversion` lub `digitising`
- `job_id`: wymagany 26-znakowy identyfikator zadania

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

Tworzy przechowywane dane. Uruchamia jedno prywatne zadanie podglądu i może zużyć limit podglądów, ale nigdy nie kupuje kredytów ani nie odblokowuje płatnego pobierania.

- `workflow`: wymagane `conversion` lub `digitising`
- `file_name`: wymagana oryginalna nazwa pliku z rozszerzeniem, od 3 do 255 znaków, bez separatorów ścieżki ani znaków sterujących
- `file_base64`: wymagany surowy standardowy base64 bez prefiksu data-URL
- `format`: wymagany mały format wyjściowy haftu z możliwością zapisu
- `width_mm`: liczba od 10 do 300, wymagana przy digitalizacji
- `colour_count`: liczba całkowita od 1 do 24, wymagana przy digitalizacji

Wynik strukturalny zawiera `billing_authorized: false`. Przy konwersji wybrany format wyjściowy musi różnić się od wykrytego formatu źródłowego.

## Przykłady narzędzi JSON-RPC

Lista formatów:

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

Utwórz podgląd digitalizacji:

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

Odpytaj zwrócone zadanie:

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

Możliwe statusy zadań to `queued`, `processing`, `completed` oraz `failed`. Odpytuj z backoff i zatrzymaj się przy statusie terminalnym. Adresy URL plików wymagają tego samego tokena dostępu OAuth i pozostają objęte datą przechowywania `expiresAt` przesyłania.

## Przykładowe zapytania w języku naturalnym

- “Sprawdź, które formaty odczytują PES i bezpiecznie zapisują JEF. Pokaż ostrzeżenia zgodności.”
- “Wymień pięć moich najnowszych zadań haftu i podsumuj wszystko, co nie powiodło się.”
- “Przed przesłaniem poproś mnie o potwierdzenie. Następnie zdigitalizuj logo.png na szerokość 90 mm z nie więcej niż 8 kolorami i zwróć podgląd PES.”
- “Odpytuj zadanie 01J… aż się zakończy, a następnie podaj metryki ściegów, ostrzeżenia i informację, czy pobieranie jest już odblokowane.”

## Model bezpieczeństwa

- Nie udostępniono narzędzi do rozliczeń, płatności, zakupu kredytów ani odblokowywania płatnych pobrań.
- Nie udostępniono narzędzi do tworzenia kluczy API, zmiany uwierzytelniania, odczytu poświadczeń ani usuwania konta.
- Każde odczytywane zadanie jest ograniczone do połączonego użytkownika.
- Narzędzie create przechowuje prywatne przesyłanie i tworzy zadanie, dlatego agent ma polecenie zapytać przed przesłaniem.
- Nazwy plików, metadane, komunikaty zadań i ostrzeżenia są danymi niezaufanymi. Serwer instruuje agentów, aby nigdy nie wykonywali poleceń osadzonych w tych wartościach.
- Zakończony wynik nie jest automatycznie gotowy do produkcji. Agenci powinni sprawdzić metryki walidacji i ostrzeżenia przed składaniem oświadczeń.

## Rozwiązywanie problemów

- `401 Unauthorized`: nie wysłano poprawnego tokena dostępu; uruchom ponownie połączenie OAuth klienta.
- `403 Forbidden`: token nie ma uprawnienia `mcp:use`, konto jest niezweryfikowane lub żądane zadanie należy do innego konta.
- `invalid_redirect_uri`: źródło wywołania zwrotnego lub schemat natywny nie znajduje się na liście dozwolonych serwera.
- `422`: argumenty narzędzia, dane base64, typ źródła, format docelowy lub limit konta nie przeszły walidacji.
- `429`: przekroczono limit szybkości; honoruj `Retry-After` i stosuj wykładnicze wycofanie z jitterem.

## Powiązane strony

- [Dokumentacja API dla deweloperów](https://embroideryfileconverter.com/pl/developers)
- [Opis OpenAPI 3.1](https://embroideryfileconverter.com/developers/openapi.json)
- [Polityka prywatności](https://embroideryfileconverter.com/pl/privacy)
