Utviklere

MCP og AI-assistenter

MCP-serveren til Gradiently gir en AI-assistent verktøy for å søke i Marks, lage merkevarer og design, redigere dem og gjengi dem. Den kjører på én adresse og bruker API-nøkkelen din.

Oppdatert 1. oktober 2026

Model Context Protocol er en åpen standard for å gi AI-assistenter verktøy. Gradiently driver en MCP-server på https://gradiently.design/api/mcp. Koble den til én gang med en API-nøkkel, så kan assistenten din kalle verktøyene til Gradiently mens du snakker med den. Hvert verktøy gjør de samme API-forespørslene som din egen kode ville gjort, så det har de samme tillatelsene, lisensene, kredittene og grensene.

Før du kobler til

  • Opprett en nøkkel i Innstillinger › API og agenter (se API-nøkler og tillatelser). Nøkkelen avgjør hvilket arbeidsområde assistenten jobber i, og hvilke verktøy som virker.
  • Hver forespørsel til serveren må ha med nøkkelen som Authorization: Bearer gr_live_…, også den første. Uten den svarer serveren 401.
  • Serveren bruker Streamable HTTP, uten tilstand, med JSON-svar. Den trenger ingen økt og har ingen egen hendelsesstrøm som må åpnes.
  • Serveren godtar bare API-nøkler. Den tilbyr ikke innlogging med OAuth.

Koble til Claude Code

Legg til Gradiently som en ekstern server over HTTP, med nøkkelen din i headeren. Oppbevar nøkkelen i en miljøvariabel, så den aldri havner i skallhistorikken eller i en fil som committes.

bash
export GRADIENTLY_API_KEY="gr_live_…"

claude mcp add --transport http gradiently https://gradiently.design/api/mcp \
  --header "Authorization: Bearer $GRADIENTLY_API_KEY"

Start en ny økt i Claude Code og be den liste opp verktøyene til Gradiently for å sjekke tilkoblingen. Melder den en autentiseringsfeil, er nøkkelen skrevet feil eller tilbakekalt, eller så er den som opprettet den, ikke lenger eier eller administrator i arbeidsområdet.

Andre klienter

Alle klienter som kan legge til en ekstern MCP-server over Streamable HTTP og sende en egendefinert header i forespørselen, kan bruke Gradiently med samme URL og header. Om din kan det, avhenger av klienten og versjonen.

  • Claude Desktop og claude.ai legger til eksterne servere som egendefinerte koblinger. Lar skjemaet for koblingen deg angi en Authorization-header, bruker du URL-en og headeren ovenfor. Tilbyr det bare innlogging med OAuth, kan Gradiently ikke kobles til der ennå.
  • ChatGPT og andre assistenter: samme regel. Der klienten støtter eksterne MCP-servere med en bearer-header, kobler du den til med URL-en og nøkkelen din.
  • Klienter som konfigureres med en JSON-fil, godtar ofte formen nedenfor, som også vises i Innstillinger under Koble til en MCP-klient. Sjekk dokumentasjonen til klienten din for det nøyaktige formatet.
json
{
  "mcpServers": {
    "gradiently": {
      "url": "https://gradiently.design/api/mcp",
      "headers": { "Authorization": "Bearer gr_live_…" }
    }
  }
}

Slik oppfører verktøyene seg

  • Hvert verktøy returnerer resultatet som JSON-tekst. Når noe feiler, returnerer verktøyet i stedet feilmeldingen fra API-et, for eksempel om en manglende tillatelse eller en ukjent mal.
  • Verktøy som trenger en merkevare, tar en valgfri personality (id-en eller sluggen). Uten den bruker de den første merkevaren i arbeidsområdet.
  • Verktøy som lagrer et design, returnerer Studio-lenken, altså designets /studio/<id>-adresse på gradiently.design.
  • Flere verktøy slår først opp merkevarene dine via /api/me, som krever både workspaces:read og designs:read. Disse verktøyene oppgir begge tillatelsene nedenfor.
  • Et verktøykall teller mot nøkkelens forespørselsgrense én gang for MCP-forespørselen og én gang for hver API-forespørsel verktøyet gjør.

Marks

VerktøyHva det gjørInndataTillatelser
search_marksSøker i det offentlige Markedet etter navn eller kode. Returnerer farger, materialer, status og innehaver.q, tone (dark eller light), limit (1 til 120, standard 24), alle valgfriemarks:read
get_markÉn Mark og hele oppskriften.code (en kode eller en id)marks:read
list_marksMarks som innehas for dette arbeidsområdet, med lisensstatus, og utkastene dine i det.ingenmarks:read
claim_markSikrer en ledig Mark. Den som opprettet nøkkelen, blir innehaver, aldri arbeidsområdet.codemarks:read, marks:claim
make_markBygger en Mark-oppskrift ut fra en intensjon, eller redigerer en, med vurdering av farger og lesbarhet og den nærmeste Marken i Markedet. Lagrer ingenting.spec, eller recipe og editmarks:read
save_markLagrer en oppskrift som ditt private Mark-utkast, eller oppdaterer et utkast du eier. Returnerer Forge-lenken.name, recipe, id (valgfri)brand:generate
export_markGjengir en Mark alene som PNG, opptil 4096 px per side.mark, width, height, personalityworkspaces:read, designs:read, designs:write
list_mark_versionsDe lagrede versjonene av et utkast, nyeste først. Bare skaperen av Marken ser dem.mark, cursormarks:read
save_mark_versionTar vare på et utkast slik det er nå, eller en gitt oppskrift, som en navngitt versjon.mark, label, recipebrand:generate
restore_mark_versionSetter en versjon tilbake som utkastet. Nåværende tilstand lagres først som en versjon.mark, versionbrand:generate
update_mark_versionGir nytt navn til eller stjernemerker en versjon. Stjernemerkede versjoner beholdes.mark, version, label, starredbrand:generate
delete_mark_versionSletter en versjon, aldri den publiserte.mark, versionbrand:generate

Et forsøk på å sikre en Mark som krever betaling, feiler med en melding om at det må betales; fullfør det i Gradiently. En nøkkel kan ikke betale for noe.

Merkevarer og arbeidsområde

VerktøyHva det gjørInndataTillatelser
generate_brandLager merkevareforslag fra et navn og en beskrivelse. De samme inndataene gir alltid de samme forslagene.input: name, description, industry, tone, colours, count, noncebrand:generate
adopt_brandGjør ett forslag om til et Mark-utkast, en merkevare og tre startdesign, i ett steg.input (uendret), keybrand:generate
list_personalitiesMerkevarene i arbeidsområdet, med id-ene deres.ingenworkspaces:read, designs:read
create_personalityLager en navngitt merkevare.namepersonalities:write
get_brand_profileHva en merkevare er, hvem den er for, stemmen, hva man skal og ikke skal gjøre, og fontene.personalityworkspaces:read, designs:read
update_brand_profileErstatter profilen til en merkevare. Designer leser den før hvert design.personality, profileworkspaces:read, designs:read, personalities:write
my_workspaceDeg, merkevarene i arbeidsområdet med Mark-kodene sine, og Marksene som innehas for det.ingenworkspaces:read, designs:read, marks:read
list_workspacesArbeidsområdet til nøkkelen og rollen din i det.cursorworkspaces:read
invite_memberSender en invitasjon til arbeidsområdet på e-post, gyldig i sju dager.workspaceId, email, role (admin, editor eller viewer)members:write

tone tar opptil tre av calm, bold, warm, cool, playful, luxe, natural, technical, editorial og nocturnal; en forespørsel med flere avvises. colours tar opptil åtte hex-farger, og count ber om ett til åtte forslag; flere enn det avvises også. For å ta i bruk et forslag sender du nøyaktig de inndataene som genererte det, sammen med forslagets key: serveren lager forslaget på nytt fra de inndataene og stoler aldri på en oppskrift sendt fra klienten.

Design

VerktøyHva det gjørInndataTillatelser
designBer Gradientlys egen Designer lage et design, eller endre et, ut fra en vanlig forespørsel. Den leser merkevareprofilen og Marken, designer, vurderer og lagrer.request, personality, size, designId, scope, selectionworkspaces:read, designs:read, designs:write
create_designsLager en serie på opptil tolv design fra én brief, i bakgrunnen.brief, items (size, brief, title), title, personality, mark, waitworkspaces:read, designs:read, designs:write
get_design_setFremdriften til en serie og Studio-lenken til hvert design når det finnes.iddesigns:read
stop_design_setStopper en serie som kjører. Design som allerede er tegnet, forblir lagret.iddesigns:write
compose_designSetter opp teksten din med layoutmotoren og lagrer den. Returnerer funn fra vurderingen som bør rettes.composition, personality, designId, titleworkspaces:read, designs:read, designs:write
find_templatesSøker i de håndlagde designene til Gradiently. Returnerer opptil seks, med et bilde og feltene deres.query, sizealle nøkler
use_templateLager et lagret design fra en mal og beholder komposisjonen.template, text, photos, icons, hide, personality, designIdworkspaces:read, designs:read, designs:write
list_templatesId-er for startmaler med id-ene til tekstelementene, og alle forhåndsinnstilte størrelser.ingenalle nøkler
create_designLager et design fra en id for en startmal, en forhåndsinnstilt størrelse og tekst knyttet til element-id-er.template, size, copy, look, personalityworkspaces:read, designs:read, designs:write

design og create_designs bruker arbeidsområdets AI-kreditter, slik Designer gjør i Studio. Når saldoen er for lav, feiler de med en melding om det; fyll på i Innstillinger › AI-kreditter. Høyst to serier kjører samtidig per person, og en ferdig serie kan leses i rundt tjue minutter. Selve designene blir værende.

En komposisjon angir en size (en id for en forhåndsinnstilt størrelse som ig-post, x-post eller li-banner, eller {w, h} i piksler), en layout (statement, editorial, poster, split, stat, quote, list, event eller minimal) og blocks i leserekkefølge, hver med en role som headline, body eller cta og sin text.

json
{
  "composition": {
    "size": "ig-post",
    "layout": "event",
    "blocks": [
      { "role": "eyebrow", "text": "Summer supper club" },
      { "role": "headline", "text": "Long table on the roof" },
      { "role": "details", "text": "", "items": ["Saturday 21 June", "7pm till late"] },
      { "role": "cta", "text": "Book a seat" }
    ]
  }
}
Inndata for compose_design. Svaret inneholder designets id, Studio-lenken, funn fra vurderingen og elementene som ble plassert.

Redigering og eksport

VerktøyHva det gjørInndataTillatelser
list_designsDe lagrede designene til en merkevare, med Studio-lenker.personalityworkspaces:read, designs:read
get_designStørrelsen og sidene til et design og hvert element med egenskapene sine. Filtrer lange design etter side, type, navn eller tekst.id, page, kind, name, textdesigns:read
edit_designEndrer et design med opptil 100 operasjoner, slik en person ville gjort i Studio, og lagrer det.id, ops, pagedesigns:write
update_design_textErstatter ordene i valgte tekstelementer og beholder oppsettet.id, text (element-id til ord)designs:read, designs:write
resize_copiesLagrer kopier i opptil åtte andre størrelser, lagt ut på nytt slik Studio gjør. Originalen forblir uendret.id, sizesdesigns:read, designs:write
wear_markSetter en Mark på ett design, eller gjør den til merkevarens Mark for nye design.mark, og design eller personalityse nedenfor
render_designGjengir et lagret design som PNG eller PDF med motoren til Studio. Returnerer filen som base64.id, width, height, format, pagedesigns:read
export_design_linkPubliserer en visningslenke, /d/<id>, som alle som har den, kan åpne.iddesigns:write

wear_mark på et design krever designs:read og designs:write. Å gjøre en Mark til merkevarens Mark krever workspaces:read, designs:read og personalities:write, og en Mark du innehar med aktiv lisens. Å angi Marken med koden krever i tillegg marks:read.

render_design tar width og height fra 1 til 4096 piksler og format png eller pdf. page teller fra 0: PNG gjengir første side som standard og PDF alle sidene. En PDF beholder hver side i størrelsen den har i Studio, så størrelsen du ber om, må stemme. Gjengivelse krever den samme eksportlisensen for designets Mark som Studio, og den publiserer eller endrer aldri designet.

Eksempler på ledetekster

  • «Finn mørke Marks i Markedet med krom i seg, og vis meg de tre som ligger nærmest dyp blågrønn.» Bruker search_marks.
  • «Lag merkevareretninger for Hearth, et nabolagsbakeri, rolig og varmt, og ta i bruk den med den mykeste paletten.» Bruker generate_brand og adopt_brand.
  • «Smi en Mark som heter Night Harbour: en tom bunn, marineblå til natriumoransje, ett rolig kornlag. Rett alt vurderingen påpeker, og lagre den så.» Bruker make_mark og save_mark.
  • «Endre overskriften på design 4f1c… til ‘Dørene åpner klokka sju’, og lag kopier til en Instagram-story og et X-innlegg.» Bruker get_design, update_design_text og resize_copies.
  • «Gjengi design 4f1c… som en PNG på 1080 ganger 1350 og lagre den som launch.png.» Bruker render_design.
  • «Lag en plakat til solvervfesten vår på taket, 21. juni, fra solnedgang til soloppgang.» Bruker design, som krever workspaces:read.

Hele referansen for endepunktene bak disse verktøyene finner du under API-referanse. For alt annet kan du sende oss en forespørsel.

Trenger du hjelp?

Send oss en forespørsel med emnet API og MCP, så svarer et menneske.

Send en forespørsel