Serwer MCP: wideo i obrazy prosto z agenta
Przez serwer MCP Kadrarisa agent AI - Claude Code, Codex, Cursor czy inny - dostaje komplet narzędzi do mediów: katalog modeli z cenami, wycenę przed startem, zlecanie wideo, obrazów i muzyki, podgląd zadań i stan salda. Mówisz mu zwyczajnie "potrzebuję pionowej rolki o kawie", a on wybiera model, podaje koszt i dopiero po twojej zgodzie generuje. Płacisz z tego samego salda co w API, a nieudane generacje są bezpłatne.
MCP, czyli Model Context Protocol, to otwarty standard podłączania zewnętrznych narzędzi do programów z agentami. Podajesz adres i klucz jeden raz, a resztę - jakie narzędzia są dostępne i kiedy ich użyć - agent ustala samodzielnie. Nie piszesz kodu i nie musisz znać endpointów.
| Parametr | Wartość |
|---|---|
| Adres | https://kadraris.com/mcp |
| Transport | Streamable HTTP, serwer działa u nas, więc nie stawiasz niczego lokalnie |
| Nagłówek | Authorization: Bearer sk-kd-... |
Szybka instalacja z linku
- Dodaj do Cursora - Cursor pobierze klucz ze zmiennej środowiskowej
KADRARIS_API_KEY, więc ustaw ją wcześniej (instrukcja w części o Codexie). - Dodaj do VS Code - VS Code zapyta o klucz jeden raz i schowa go w swoim magazynie sekretów.
Identyczne przyciski i gotowe polecenia dla Claude Code oraz Codexa z poprawnym adresem znajdziesz w panelu, w zakładce Klucze API. Żadne z nich nie zawiera klucza. Wyjątek: tuż po założeniu nowego klucza panel jednorazowo pokazuje polecenie Claude Code z tym kluczem w środku.
Klucz API
- W panelu przejdź do zakładki Klucze API.
- Nadaj kluczowi nazwę, np.
mcp-claude-code, i wpisz Limit miesięczny w złotówkach, choćby50. - Kliknij Utwórz klucz i skopiuj
sk-kd-...- wyświetlamy go tylko raz.
Limit miesięczny to twoja ochrona. Agent z dostępem do wideo może przez błąd w rozumowaniu zamówić kilka klipów jeden po drugim. Po dojściu do limitu API odpowiada 403 i z salda nie schodzi już nic. Szczegóły: Uwierzytelnianie.
W przykładach poniżej wstaw swój klucz zamiast sk-kd-....
Claude Code
Jedno polecenie, identyczne na macOS, Linuksie i w PowerShellu:
claude mcp add --transport http kadraris https://kadraris.com/mcp --header "Authorization: Bearer sk-kd-..."Bez dodatkowych flag serwer jest widoczny tylko w bieżącym projekcie. Dla wszystkich projektów dopisz --scope user:
claude mcp add --transport http kadraris https://kadraris.com/mcp --scope user --header "Authorization: Bearer sk-kd-..."Kontrola:
claude mcp listPrzy kadraris ma się pojawić Connected. W trakcie sesji polecenie /mcp pokaże stan serwera i jego narzędzia.
Claude Code prosi o zgodę przed użyciem każdego narzędzia. Przy generate tak to zostaw - zobaczysz, który model i z jakimi ustawieniami agent zamierza uruchomić.
Jeśli Claude Code już rozmawia z modelami przez Kadraris (ANTHROPIC_BASE_URL, zobacz Claude Code), serwer MCP działa równolegle. Możesz użyć tego samego klucza albo osobnego - oba płacą z jednego salda.
Codex CLI
Codex przechowuje klucz w zmiennej środowiskowej, a w swojej konfiguracji zapisuje jedynie jej nazwę.
macOS i Linux:
export KADRARIS_API_KEY="sk-kd-..."
codex mcp add kadraris --url https://kadraris.com/mcp --bearer-token-env-var KADRARIS_API_KEYWindows (PowerShell; zmienna zapisze się na stałe, potem otwórz nowy terminal):
[Environment]::SetEnvironmentVariable(
"KADRARIS_API_KEY", "sk-kd-...", "User")
codex mcp add kadraris --url https://kadraris.com/mcp `
--bearer-token-env-var KADRARIS_API_KEYW efekcie w ~/.codex/config.toml (na Windows %USERPROFILE%\.codex\config.toml) pojawi się:
[mcp_servers.kadraris]
url = "https://kadraris.com/mcp"
bearer_token_env_var = "KADRARIS_API_KEY"Sprawdzisz to przez codex mcp list. Pełny opis, łącznie z tym, czego Codex nie potrafi: Codex CLI z Kadrarisem.
Cursor
W projekcie załóż .cursor/mcp.json (albo ~/.cursor/mcp.json, jeśli serwer ma być we wszystkich projektach):
{
"mcpServers": {
"kadraris": {
"url": "https://kadraris.com/mcp",
"headers": {
"Authorization": "Bearer ${env:KADRARIS_API_KEY}"
}
}
}
}Zapis ${env:KADRARIS_API_KEY} Cursor zamienia na wartość zmiennej środowiskowej, dzięki czemu klucza nie ma w pliku. Ustaw zmienną jak w części o Codexie i zrestartuj Cursora. Możesz też wpisać klucz bezpośrednio ("Authorization": "Bearer sk-kd-..."), ale wtedy pilnuj, żeby plik nie trafił do repozytorium.
Zapisany plik sprawi, że kadraris zobaczysz w ustawieniach Cursora pośród serwerów MCP - stamtąd możesz go czasowo wyłączyć bez usuwania wpisu.
VS Code
Agent w VS Code (GitHub Copilot) wczytuje .vscode/mcp.json. W tym wariancie edytor przy pierwszym uruchomieniu prosi o klucz i trzyma go w swoim bezpiecznym magazynie, a nie w pliku:
{
"inputs": [
{
"type": "promptString",
"id": "kadraris-key",
"description": "Klucz Kadrarisa (sk-kd-...)",
"password": true
}
],
"servers": {
"kadraris": {
"type": "http",
"url": "https://kadraris.com/mcp",
"headers": {
"Authorization": "Bearer ${input:kadraris-key}"
}
}
}
}Żeby sprawdzić połączenie, uruchom z palety poleceń MCP: List Servers (paletę otwiera Ctrl+Shift+P, a na Macu Cmd+Shift+P) i kliknij kadraris.
Cline
W Cline otwórz MCP Servers (ikona w panelu), a potem Remote Servers i uzupełnij: kadraris jako nazwę, https://kadraris.com/mcp jako adres, Streamable HTTP jako transport. Klucz trafia do nagłówka w pliku, który otworzysz przyciskiem Configure MCP Servers:
{
"mcpServers": {
"kadraris": {
"type": "streamableHttp",
"url": "https://kadraris.com/mcp",
"headers": {
"Authorization": "Bearer sk-kd-..."
},
"disabled": false,
"autoApprove": []
}
}
}Lista autoApprove ma zostać pusta - wtedy Cline zapyta cię przed każdą generacją.
Claude Desktop
Zarówno w aplikacji desktopowej, jak i na claude.ai dodajesz serwer jako własny konektor:
- Otwórz Customize, następnie Connectors.
- Kliknij + Add i wybierz Add custom connector.
- Wpisz nazwę
Kadrarisi adreshttps://kadraris.com/mcp. - Jako uwierzytelnianie wybierz No sign in, a w Request headers dodaj nagłówek
Authorizationz wartościąBearer sk-kd-....
Według centrum pomocy Anthropic własne konektory mają wszystkie plany: Free (z limitem jednego), Pro, Max, Team oraz Enterprise. W dwóch ostatnich konektor konfiguruje właściciel organizacji. Połączenie z serwerem nawiązują serwery Anthropic, a nie twój komputer.
OpenCode
Fragment opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"kadraris": {
"type": "remote",
"url": "https://kadraris.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer sk-kd-..."
}
}
}
}Pozostałe programy
Program, który umie łączyć się ze zdalnym serwerem MCP po Streamable HTTP, potrzebuje zawsze tych samych danych: adresu https://kadraris.com/mcp i nagłówka Authorization z wartością Bearer sk-kd-.... Windsurf, na przykład, w pliku mcp_config.json zamiast url używa pola serverUrl:
{
"mcpServers": {
"kadraris": {
"serverUrl": "https://kadraris.com/mcp",
"headers": { "Authorization": "Bearer sk-kd-..." }
}
}
}Co potrafi serwer
| Narzędzie | Działanie |
|---|---|
search_models | Dopasowuje modele do potrzeby: typ zadania (text-to-video, image-to-video, image-edit, music, upscale...), pułap ceny, dźwięk, proporcje, rozdzielczość, opis słowny. Oddaje 5 najlepszych z ceną i wskazówką, kiedy który wybrać |
list_models | Pełny katalog z ceną jednostki (długi - zwykle wygodniej użyć search_models) |
get_model | Szczegóły jednego modelu: parametry, dopuszczalne wartości, limity, cena |
estimate_cost | Weryfikuje parametry, liczy przewidywany koszt i wydaje confirm_token. Niczego nie pobiera |
generate | Uruchamia zadanie i wstrzymuje odpowiedź do jego końca (standardowo 45 s, górna granica 240 s). Przyjmuje max_cost i confirm_token. Obrazy wracają również jako podgląd |
wait_for_task | Czeka do 240 s na zadanie w toku i zwraca wynik |
get_task | Natychmiast podaje stan zadania i linki do plików |
list_tasks | 20 ostatnich zadań, z opcjonalnym filtrem statusu |
cancel_task | Informuje, czy zatrzymanie zadania jest jeszcze możliwe. Tego, które trafiło już do modelu, nie zatrzymasz: porażka kosztuje 0 zł, sukces jest rozliczany |
get_balance | Saldo, środki wolne od blokad i - przy kluczu z limitem - zużyta część limitu miesięcznego |
upload_file | Robi z lokalnego pliku lub linku z sieci adres, który wstawisz w image_url, video_url, audio_url itp. |
chat | Wysyła wiadomość do wybranego modelu językowego z naszej listy, choćby po alternatywny punkt widzenia |
search_docs | Szuka w niniejszej dokumentacji i oddaje 3 pasujące wycinki wraz z odnośnikami |
Obraz zwykle zdąży w 45 sekund. Wideo potrzebuje od 1 do 4 minut: generate czeka do 240 sekund, a jeśli zadanie wciąż trwa, agent dostaje jego id i podpowiedź, żeby użyć wait_for_task. Programy, które obsługują raportowanie postępu (MCP progressToken), wyświetlają w tym czasie komunikat w rodzaju "running 40 s".
Linki do wyników mają ograniczoną ważność (expires_at). Przy każdym wyniku jest gotowe polecenie curl -o, więc wystarczy poprosić agenta: "zapisz klip w katalogu media/".
Pieniądze pod kontrolą: zgoda przed generacją
Dwa mechanizmy pilnują, żeby agent nie przekroczył kwoty, na którą się zgodziłeś:
max_costw wywołaniugenerate: jeśli wycena jest wyższa, zadanie w ogóle nie rusza - nic nie zostaje pobrane ani zamrożone.confirm_tokenzestimate_cost: agent pokazuje koszt, ty odpisujesz "OK", a on wołageneratez identycznymi parametrami i tym tokenem. Gdy w międzyczasie zmienisz model lub choćby jedno ustawienie albo upłynie 15 minut, serwer odrzuci wywołanie i saldo zostanie nietknięte.
Zalecana kolejność (stosują ją gotowe prompty opisane niżej): search_models, potem estimate_cost, twoja zgoda, generate z confirm_token i max_cost, a w razie potrzeby wait_for_task.
Trzecie zabezpieczenie to oddzielny klucz z limitem miesięcznym (sekcja "Klucz API" wyżej). Ile z limitu już poszło, pokaże get_balance.
Pliki z twojego dysku
Ożywienie zdjęcia, synchronizacja ust czy dźwięk referencyjny wymagają adresu pliku. upload_file daje go na trzy sposoby:
data_base64(zfilename) - plik leci w samym wywołaniu, do 8 MB,source_url- wskazujesz ogólnodostępny adres, a serwer pobiera plik sam (limit 25 MB),request_upload_url: true- dostajesz adres do wysyłki, który działa raz i przez 10 minut; agent wrzuca na niego plik:
curl -T zdjecie.png "https://kadraris.com/mcp/upload/..."Invoke-WebRequest -Method Put -InFile .\zdjecie.png `
-Uri "https://kadraris.com/mcp/upload/..."Każda z dróg zwraca url, mime, bytes i expires_at. Przyjmujemy PNG, JPG, WebP, MP4, MOV, MP3 i WAV - typ sprawdzamy po zawartości pliku, nie po jego nazwie. Wgrane pliki usuwamy po 30 dniach.
Gotowe prompty
Serwer udostępnia gotowe przepisy, które program pokazuje jako prompty lub polecenia z ukośnikiem (w Claude Code np. /mcp__kadraris__reel_9x16). Każdy prowadzi agenta przez wybór modelu, akceptację kosztu, ewentualne wgranie pliku i generację:
| Prompt | Argumenty |
|---|---|
reel_9x16 | topic, duration, language |
product_ad | product, style |
ugc_testimonial | product, persona, language |
image_to_video_from_file | file_path, motion |
podcast_cover | title, style |
music_jingle | mood, length |
compare_models | prompt, models |
packaging_timeline | product, eras, style |
Od czego zacząć rozmowę z agentem
Kilka poleceń do wklejenia po podłączeniu serwera:
- "Przygotuj 5-sekundową rolkę 9:16 w Seedance 2.5: barista nalewa mleko do espresso w małej kawiarni. Najpierw pokaż cenę i poczekaj, aż się zgodzę."
- "Zrób w GPT Image 2.5 trzy propozycje grafiki 16:9 do tego README i zapisz je w
docs/img/." - "Wypisz 5 najtańszych modeli wideo z obsługą 1080p i podaj cenę sekundy."
- "Jakie mam saldo?"
- "Poproś Gemini 3.6 Flash o ocenę tej funkcji i zestaw ją ze swoją."
Bieżące ceny modeli z przykładów: Seedance 2.5 od 1,51 zł za sekundę, GPT Image 2.5 0,293 zł za obraz, Nano Banana Pro od 0,411 zł za obraz. Wszystkie stawki: Cennik.
Bezpieczeństwo w praktyce
- Każdy agent z własnym kluczem i limitem. Przekroczenie limitu daje
403, a saldo konta pozostaje nienaruszone. - Najpierw cena, potem generacja. Agent woła
estimate_cost, pokazuje kwotę i przekazujeconfirm_tokenorazmax_costdogenerate(opis w sekcji o kontroli pieniędzy wyżej). Tę zasadę wpisz też do AGENTS.md. - Bez automatycznej zgody na
generate. Automatyczną zgodę możesz spokojnie dać narzędziomsearch_models,list_models,get_model,estimate_cost,get_task,wait_for_task,list_tasks,get_balanceisearch_docs, bo żadne z nich nic nie kosztuje. - Porażka to 0 zł. Środki są zamrożone na czas zadania i wracają w całości, jeśli model zwróci błąd.
- Klucz poza repozytorium. Pliki projektu odwołują się do klucza pośrednio: Cursor przez
${env:...}, VS Code przez${input:...}, Codex przezbearer_token_env_var.
Gdy coś nie działa
| Objaw | Powód i naprawa |
|---|---|
Failed to connect, serwer na czerwono | Literówka w adresie (koniec musi brzmieć /mcp) albo brak słowa Bearer ze spacją przed kluczem |
401 | Klucz zły, skasowany albo ucięty - wygeneruj nowy w panelu |
402 | Brak środków - doładuj i spróbuj ponownie |
403 | Wyczerpany limit miesięczny - załóż klucz z wyższym limitem |
422 przy generate | Parametr poza zakresem modelu, np. za długi klip - poproś agenta, żeby zaczął od get_model |
| Codex: serwer się nie uruchamia | W terminalu, z którego startujesz codex, brakuje zmiennej KADRARIS_API_KEY |
| Agent nie widzi narzędzi | Zrestartuj program po dodaniu serwera; w Claude Code zajrzyj do /mcp |
Pozostałe kody: Błędy.























