Udviklere

MCP og AI-assistenter

Gradientlys MCP-server giver en AI-assistent værktøjer til at søge i Marks, lave brands og designs, redigere dem og gengive dem. Den kører på én adresse og bruger din API-nøgle.

Opdateret 1. oktober 2026

Model Context Protocol er en åben standard for at give AI-assistenter værktøjer. Gradiently kører en hostet MCP-server på https://gradiently.design/api/mcp. Forbind den én gang med en API-nøgle, så kan din assistent kalde Gradientlys værktøjer, mens du taler med den. Hvert værktøj laver de samme API-forespørgsler, som din egen kode ville, så det har de samme tilladelser, licenser, kreditter og grænser.

Før du forbinder

  • Opret en nøgle i Indstillinger › API og agenter (se API-nøgler og tilladelser). Nøglen afgør, hvilket arbejdsområde assistenten arbejder i, og hvilke værktøjer der virker.
  • Hver forespørgsel til serveren skal have nøglen med som Authorization: Bearer gr_live_…, også den første. Uden den svarer serveren 401.
  • Serveren taler Streamable HTTP, tilstandsløst, med JSON-svar. Den kræver ingen session og har ingen separat hændelsesstrøm, der skal åbnes.
  • Serveren accepterer kun API-nøgler. Den tilbyder ikke login med OAuth.

Forbind Claude Code

Tilføj Gradiently som ekstern server over HTTP med din nøgle i headeren. Gem nøglen i en miljøvariabel, så den aldrig havner i din shell-historik eller i en fil, der bliver committet.

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 session i Claude Code, og bed den om at vise Gradientlys værktøjer for at tjekke forbindelsen. Melder den en godkendelsesfejl, er nøglen skrevet forkert, tilbagekaldt, eller dens skaber er ikke længere ejer eller admin af arbejdsområdet.

Andre klienter

Enhver klient, der kan tilføje en ekstern MCP-server over Streamable HTTP og sende en brugerdefineret header, kan bruge Gradiently med samme URL og header. Om din kan, afhænger af klienten og dens version.

  • Claude Desktop og claude.ai tilføjer eksterne servere som brugerdefinerede connectors. Lader formularen dig angive en Authorization-header, så brug URL’en og headeren ovenfor. Tilbyder den kun login med OAuth, kan Gradiently ikke forbindes dér endnu.
  • ChatGPT og andre assistenter: samme regel. Hvor klienten understøtter eksterne MCP-servere med en bearer-header, forbinder du den med URL’en og din nøgle.
  • Klienter, der konfigureres med en JSON-fil, accepterer ofte formatet nedenfor, som også vises i Indstillinger under Tilslut en MCP-klient. Tjek din klients dokumentation for det præcise format.
json
{
  "mcpServers": {
    "gradiently": {
      "url": "https://gradiently.design/api/mcp",
      "headers": { "Authorization": "Bearer gr_live_…" }
    }
  }
}

Sådan opfører værktøjerne sig

  • Hvert værktøj returnerer sit resultat som JSON-tekst. Når noget fejler, returnerer værktøjet i stedet API’ens fejlbesked, fx en manglende tilladelse eller en ukendt skabelon.
  • Værktøjer, der skal bruge et brand, tager en valgfri personality (dens id eller slug). Uden den bruger de arbejdsområdets første brand.
  • Værktøjer, der gemmer et design, returnerer dets link til Studiet, designets adresse /studio/<id> på gradiently.design.
  • Flere værktøjer slår først dine brands op via /api/me, som kræver både workspaces:read og designs:read. Disse værktøjer viser begge tilladelser nedenfor.
  • Et værktøjskald tæller mod din nøgles hastighedsgrænse én gang for MCP-forespørgslen og én gang for hver API-forespørgsel, værktøjet laver.

Marks

VærktøjHvad det gørInputTilladelser
search_marksSøger i det offentlige Marked efter navn eller kode. Returnerer farver, materialer, status og indehaver.q, tone (dark eller light), limit (1 til 120, standard 24), alle valgfrimarks:read
get_markÉn Mark og dens fulde opskrift.code (en kode eller et id)marks:read
list_marksMarks, der ejes for dette arbejdsområde, med licensstatus, og dine kladder i det.ingenmarks:read
claim_markSikrer en ledig Mark. Nøglens skaber bliver indehaver, aldrig arbejdsområdet.codemarks:read, marks:claim
make_markBygger en Mark-opskrift ud fra en hensigt, eller redigerer en, med en gennemgang af farver og læsbarhed og den nærmeste Mark i Markedet. Gemmer intet.spec, eller recipe og editmarks:read
save_markGemmer en opskrift som din private Mark-kladde eller opdaterer en kladde, du ejer. Returnerer dens link til Forge.name, recipe, id (valgfri)brand:generate
export_markGengiver en Mark alene som PNG, op til 4096 px på hver side.mark, width, height, personalityworkspaces:read, designs:read, designs:write
list_mark_versionsEn kladdes gemte versioner, nyeste først. Kun Markens skaber kan se dem.mark, cursormarks:read
save_mark_versionGemmer en kladde, som den er nu, eller en given opskrift, som en navngiven version.mark, label, recipebrand:generate
restore_mark_versionSætter en version tilbage som kladden. Den nuværende tilstand gemmes først som en version.mark, versionbrand:generate
update_mark_versionOmdøber eller stjernemarkerer en version. Stjernemarkerede versioner bevares.mark, version, label, starredbrand:generate
delete_mark_versionSletter en version, aldrig den udgivne.mark, versionbrand:generate

Kræver det betaling at sikre sig en Mark, fejler kaldet med en besked om, at det kræver checkout; gør det færdigt i Gradiently. En nøgle kan ikke betale for noget.

Brands og arbejdsområde

VærktøjHvad det gørInputTilladelser
generate_brandLaver brandforslag ud fra et navn og en beskrivelse. Samme input giver altid de samme forslag.input: name, description, industry, tone, colours, count, noncebrand:generate
adopt_brandGør ét forslag til en Mark-kladde, et brand og tre startdesigns i ét trin.input (uændret), keybrand:generate
list_personalitiesArbejdsområdets brands med deres id’er.ingenworkspaces:read, designs:read
create_personalityOpretter et navngivet brand.namepersonalities:write
get_brand_profileHvad et brand er, hvem det er til, dets tone, hvad man gør og ikke gør, og skrifttyper.personalityworkspaces:read, designs:read
update_brand_profileErstatter et brands profil. Designer læser den før hvert design.personality, profileworkspaces:read, designs:read, personalities:write
my_workspaceDig, arbejdsområdets brands med deres Mark-koder og de Marks, der ejes for det.ingenworkspaces:read, designs:read, marks:read
list_workspacesNøglens arbejdsområde og din rolle i det.cursorworkspaces:read
invite_memberSender en invitation, der gælder i syv dage, til at blive medlem af arbejdsområdet.workspaceId, email, role (admin, editor eller viewer)members:write

tone tager op til tre af calm, bold, warm, cool, playful, luxe, natural, technical, editorial og nocturnal; en forespørgsel med flere afvises. colours tager op til otte hexfarver, og count beder om et til otte forslag; flere end det afvises også. For at vælge et forslag sender du præcis det input, der genererede det, sammen med forslagets key: serveren laver forslaget igen ud fra det input og stoler aldrig på en opskrift sendt af klienten.

Design

VærktøjHvad det gørInputTilladelser
designBeder Gradientlys egen Designer om at lave et design, eller ændre et, ud fra en almindelig forespørgsel. Den læser brandprofilen og Marken, designer, gennemgår og gemmer.request, personality, size, designId, scope, selectionworkspaces:read, designs:read, designs:write
create_designsLaver en serie på op til tolv designs ud fra ét brief, i baggrunden.brief, items (size, brief, title), title, personality, mark, waitworkspaces:read, designs:read, designs:write
get_design_setEn series fremskridt og hvert designs link til Studiet, når det findes.iddesigns:read
stop_design_setStopper en kørende serie. Designs, der allerede er tegnet, forbliver gemt.iddesigns:write
compose_designSætter din tekst op med layoutmotoren og gemmer den. Returnerer fund fra gennemgangen, der skal rettes.composition, personality, designId, titleworkspaces:read, designs:read, designs:write
find_templatesSøger i Gradientlys håndlavede designs. Returnerer op til seks, med et billede og deres pladser.query, sizeenhver nøgle
use_templateLaver et gemt design ud fra en skabelon og bevarer dens komposition.template, text, photos, icons, hide, personality, designIdworkspaces:read, designs:read, designs:write
list_templatesId’er på startskabeloner med id’erne på deres tekstelementer og alle forudindstillede størrelser.ingenenhver nøgle
create_designOpretter et design ud fra id’et på en startskabelon, en forudindstillet størrelse og tekst angivet pr. element-id.template, size, copy, look, personalityworkspaces:read, designs:read, designs:write

design og create_designs bruger arbejdsområdets AI-kreditter, ligesom Designer gør i Studiet. Er saldoen for lav, fejler de med en besked om det; fyld op i Indstillinger › AI-kreditter. Højst to serier kører ad gangen pr. person, og en færdig serie kan læses i omkring tyve minutter. Selve designene bliver.

En komposition angiver en size (et id på en forudindstilling som ig-post, x-post eller li-banner, eller {w, h} i pixels), et layout (statement, editorial, poster, split, stat, quote, list, event eller minimal) og blocks i læserækkefø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" }
    ]
  }
}
Input til compose_design. Svaret indeholder designets id, dets link til Studiet, fund fra gennemgangen og de elementer, det placerede.

Redigering og eksport

VærktøjHvad det gørInputTilladelser
list_designsEt brands gemte designs med links til Studiet.personalityworkspaces:read, designs:read
get_designEt designs størrelse, sider og hvert element med dets egenskaber. Filtrér lange designs efter side, type, navn eller tekst.id, page, kind, name, textdesigns:read
edit_designÆndrer et design med op til 100 handlinger, som en person ville gøre i Studiet, og gemmer det.id, ops, pagedesigns:write
update_design_textErstatter ordene i udvalgte tekstelementer og bevarer layoutet.id, text (element-id til ord)designs:read, designs:write
resize_copiesGemmer kopier i op til otte andre størrelser, omlagt som i Studiet. Originalen er uændret.id, sizesdesigns:read, designs:write
wear_markSætter en Mark på ét design eller gør den til et brands Mark for nye designs.mark og design eller personalityse nedenfor
render_designGengiver et gemt design som PNG eller PDF med Studiets motor. Returnerer filen som base64.id, width, height, format, pagedesigns:read
export_design_linkUdgiver et visningslink, /d/<id>, som alle med linket kan åbne.iddesigns:write

wear_mark på et design kræver designs:read og designs:write. At gøre en Mark til et brands Mark kræver workspaces:read, designs:read og personalities:write og en Mark, du ejer med en aktiv licens. Angiver du Marken med dens kode, kræves også marks:read.

render_design tager width og height fra 1 til 4096 pixels og format png eller pdf. page tælles fra 0: PNG gengiver som standard den første side og PDF alle sider. En PDF bevarer hver side i dens størrelse fra Studiet, så den størrelse, du beder om, skal passe. Gengivelse kræver samme eksportlicens til designets Mark som i Studiet, og den udgiver eller ændrer aldrig designet.

Eksempler på prompts

  • »Find mørke Marks i Markedet med krom i, og vis mig de tre, der ligger tættest på dyb petroleum.« Bruger search_marks.
  • »Generér brandretninger til Hearth, et bageri i nabolaget, roligt og varmt, og vælg den med den blødeste palet.« Bruger generate_brand og adopt_brand.
  • »Smed en Mark, der hedder Night Harbour: en tom bund, marineblå til natriumorange, ét stille lag korn. Ret alt, hvad gennemgangen påpeger, og gem den så.« Bruger make_mark og save_mark.
  • »Skift overskriften på design 4f1c… til ›Dørene åbner klokken syv‹, og lav kopier til en Instagram-story og et opslag på X.« Bruger get_design, update_design_text og resize_copies.
  • »Gengiv design 4f1c… som en PNG på 1080 gange 1350, og gem den som launch.png.« Bruger render_design.
  • »Lav en plakat til vores solhvervsfest på taget, 21. juni, fra solnedgang til solopgang.« Bruger design, som kræver workspaces:read.

Hele referencen for de endpoints, der ligger bag disse værktøjer, står på API-reference. Til alt andet kan du sende os en forespørgsel.

Brug for hjælp?

Send os en forespørgsel med emnet API og MCP, så svarer en person.

Send en forespørgsel