Przejdź do treści
cutty.dev
Dla deweloperów

API i serwer MCP

Twórz i zarządzaj krótkimi linkami z poziomu kodu — przez REST API albo przez serwer MCP w Twoim asystencie AI.

cutty ma publiczne API i serwer MCP. Pierwsze pozwala tworzyć i zmieniać linki z poziomu kodu, drugie — wprost z asystenta AI, który mówi protokołem MCP. Oba używają tego samego klucza API.

Klucz API

Każde wywołanie uwierzytelniasz nagłówkiem:

Authorization: Bearer ck_twój_klucz

Skąd wziąć klucz: zaloguj się, wejdź w panelKlucze APIUtwórz klucz. Pełny klucz (zaczyna się od ck_) pokazujemy tylko raz, przy tworzeniu — zapisz go od razu w bezpiecznym miejscu. Limit to 120 żądań na minutę na klucz.

Bazowy adres

Wszystkie endpointy REST żyją pod https://cutty.dev/api/v1. Żądania i odpowiedzi są w formacie JSON.

Tworzenie linku

POST /api/v1/links — w ciele JSON podajesz co najmniej url. Reszta jest opcjonalna:

  • url — adres docelowy (wymagane)
  • slug — własna końcówka, 3–40 znaków; pominięta = losowa
  • expiresAt — data wygaśnięcia w formacie ISO 8601
  • maxHits — limit kliknięć (1–1 000 000)
  • password — hasło chroniące link
  • utmSource, utmMedium, utmCampaign — parametry UTM doklejane przy przekierowaniu

W odpowiedzi dostajesz slug, shortUrl i target.

curl -X POST https://cutty.dev/api/v1/links \
  -H "Authorization: Bearer ck_twój_klucz" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://przyklad.pl/bardzo/dlugi/adres","slug":"oferta"}'

Lista i pojedynczy link

GET /api/v1/links zwraca wszystkie Twoje linki. GET /api/v1/links/{slug} — szczegóły jednego.

curl https://cutty.dev/api/v1/links/oferta \
  -H "Authorization: Bearer ck_twój_klucz"

Zmiana i usunięcie

PATCH /api/v1/links/{slug} aktualizuje wybrane pola (np. targetUrl, expiresAt, maxHits, status, password). DELETE /api/v1/links/{slug} usuwa link.

curl -X PATCH https://cutty.dev/api/v1/links/oferta \
  -H "Authorization: Bearer ck_twój_klucz" \
  -H "Content-Type: application/json" \
  -d '{"maxHits":500}'

Serwer MCP

Jeśli pracujesz z asystentem AI, możesz podpiąć cutty przez MCP (Model Context Protocol) i poprosić go, żeby skracał oraz porządkował linki wprost w rozmowie. Serwer działa pod https://mcp.cutty.dev/mcp w transporcie Streamable HTTP, a uwierzytelniasz się tym samym kluczem API — nagłówkiem Authorization: Bearer ck_....

Dostępne narzędzia: create_link, list_links, get_link, update_link, delete_link oraz qr_link (kod QR dla linku).

Przykładowy wpis w konfiguracji klienta MCP:

{
  "mcpServers": {
    "cutty": {
      "url": "https://mcp.cutty.dev/mcp",
      "headers": {
        "Authorization": "Bearer ck_twój_klucz"
      }
    }
  }
}

Coś nie działa?

Napisz na [email protected] — odpisuję tego samego dnia.