O Model Context Protocol é um padrão aberto para dar ferramentas a assistentes de IA. O Gradiently tem um servidor MCP alojado em https://gradiently.design/api/mcp. Liga-o uma vez com uma chave de API, e o teu assistente pode chamar as ferramentas do Gradiently enquanto falas com ele. Cada ferramenta faz os mesmos pedidos à API que o teu próprio código faria, por isso tem as mesmas permissões, licenças, créditos e limites.
Antes de ligar
- Cria uma chave em Definições › API e agentes (vê Chaves de API e âmbitos). A chave decide em que espaço de trabalho o assistente trabalha e que ferramentas vão funcionar.
- Cada pedido ao servidor tem de levar a chave como
Authorization: Bearer gr_live_…, incluindo o primeiro. Sem ela, o servidor responde 401. - O servidor fala Streamable HTTP, sem estado, com respostas JSON. Não precisa de sessão nem tem um fluxo de eventos separado para abrir.
- O servidor só aceita chaves de API. Não oferece início de sessão OAuth.
Ligar o Claude Code
Adiciona o Gradiently como servidor remoto por HTTP, com a tua chave no cabeçalho. Guarda a chave numa variável de ambiente para que nunca fique no histórico da shell nem num ficheiro enviado para o repositório.
export GRADIENTLY_API_KEY="gr_live_…"
claude mcp add --transport http gradiently https://gradiently.design/api/mcp \
--header "Authorization: Bearer $GRADIENTLY_API_KEY"Inicia uma nova sessão do Claude Code e pede-lhe para listar as ferramentas do Gradiently para verificar a ligação. Se indicar um erro de autenticação, a chave foi mal escrita, foi revogada, ou o seu criador já não é proprietário nem admin do espaço de trabalho.
Outros clientes
Qualquer cliente que consiga adicionar um servidor MCP remoto por Streamable HTTP e enviar um cabeçalho de pedido personalizado pode usar o Gradiently com o mesmo URL e cabeçalho. Se o teu consegue ou não depende do cliente e da sua versão.
- Claude Desktop e claude.ai adicionam servidores remotos como conectores personalizados. Se o formulário do conector te deixar definir um cabeçalho Authorization, usa o URL e o cabeçalho acima. Se só oferecer início de sessão OAuth, o Gradiently ainda não pode ser ligado aí.
- ChatGPT e outros assistentes: a mesma regra. Onde o cliente suportar servidores MCP remotos com um cabeçalho bearer, liga-o com o URL e a tua chave.
- Clientes configurados com um ficheiro JSON aceitam muitas vezes o formato abaixo, que também aparece nas Definições em Ligar um cliente MCP. Consulta a documentação do teu cliente para o formato exato.
{
"mcpServers": {
"gradiently": {
"url": "https://gradiently.design/api/mcp",
"headers": { "Authorization": "Bearer gr_live_…" }
}
}
}Como as ferramentas se comportam
- Cada ferramenta devolve o resultado como texto JSON. Quando algo falha, a ferramenta devolve a mensagem de erro da API, como um âmbito em falta ou um modelo desconhecido.
- As ferramentas que precisam de uma marca aceitam um
personalityopcional (o seu id ou slug). Sem ele, usam a primeira marca do espaço de trabalho. - As ferramentas que guardam um design devolvem o seu link do Estúdio, o endereço
/studio/<id>do design em gradiently.design. - Várias ferramentas procuram primeiro as tuas marcas através de
/api/me, que precisa deworkspaces:reade dedesigns:read. Essas ferramentas indicam os dois âmbitos abaixo. - Uma chamada de ferramenta conta para o limite de pedidos da tua chave uma vez pelo pedido MCP e uma vez por cada pedido à API que a ferramenta faz.
Marks
| Ferramenta | O que faz | Entradas | Âmbitos |
|---|---|---|---|
search_marks | Pesquisa o Mercado público por nome ou código. Devolve cores, materiais, estado e detentor. | q, tone (dark ou light), limit (de 1 a 120, 24 por omissão), todos opcionais | marks:read |
get_mark | Um Mark e a sua receita completa. | code (um código ou um id) | marks:read |
list_marks | Os Marks detidos para este espaço de trabalho, com o estado da licença, e os teus rascunhos nele. | nenhuma | marks:read |
claim_mark | Reserva um Mark disponível. O criador da chave fica como detentor, nunca o espaço de trabalho. | code | marks:read, marks:claim |
make_mark | Constrói uma receita de Mark a partir de uma intenção, ou edita uma, com uma revisão de cor e legibilidade e o Mark mais próximo no Mercado. Não guarda nada. | spec, ou recipe e edit | marks:read |
save_mark | Guarda uma receita como Mark privado em rascunho, ou atualiza um rascunho teu. Devolve o seu link da Forge. | name, recipe, id (opcional) | brand:generate |
export_mark | Gera um Mark sozinho em PNG, até 4096 px de lado. | mark, width, height, personality | workspaces:read, designs:read, designs:write |
list_mark_versions | As versões guardadas de um rascunho, da mais recente para a mais antiga. Só o criador do Mark as vê. | mark, cursor | marks:read |
save_mark_version | Guarda um rascunho tal como está agora, ou uma receita indicada, como versão com nome. | mark, label, recipe | brand:generate |
restore_mark_version | Repõe uma versão como rascunho. O estado atual é primeiro guardado como versão. | mark, version | brand:generate |
update_mark_version | Renomeia ou marca com estrela uma versão. As versões com estrela são mantidas. | mark, version, label, starred | brand:generate |
delete_mark_version | Elimina uma versão, nunca a publicada. | mark, version | brand:generate |
Uma reserva que exija pagamento falha com uma mensagem a indicar que precisa de checkout; conclui-a no Gradiently. Uma chave não pode pagar nada.
Marcas e espaço de trabalho
| Ferramenta | O que faz | Entradas | Âmbitos |
|---|---|---|---|
generate_brand | Cria propostas de marca a partir de um nome e de uma descrição. A mesma entrada dá sempre as mesmas propostas. | input: name, description, industry, tone, colours, count, nonce | brand:generate |
adopt_brand | Transforma uma proposta num Mark em rascunho, numa marca e em três designs iniciais, num só passo. | input (sem alterações), key | brand:generate |
list_personalities | As marcas do espaço de trabalho, com os seus ids. | nenhuma | workspaces:read, designs:read |
create_personality | Cria uma marca com nome. | name | personalities:write |
get_brand_profile | O que uma marca é, para quem é, o seu tom de voz, o que fazer e não fazer, e os tipos de letra. | personality | workspaces:read, designs:read |
update_brand_profile | Substitui o perfil de uma marca. O Designer lê-o antes de cada design. | personality, profile | workspaces:read, designs:read, personalities:write |
my_workspace | Tu, as marcas do espaço de trabalho com os códigos dos seus Marks, e os Marks detidos para ele. | nenhuma | workspaces:read, designs:read, marks:read |
list_workspaces | O espaço de trabalho da chave e a tua função nele. | cursor | workspaces:read |
invite_member | Envia por email um convite válido por sete dias para entrar no espaço de trabalho. | workspaceId, email, role (admin, editor ou viewer) | members:write |
tone aceita até três de calm, bold, warm, cool, playful, luxe, natural, technical, editorial e nocturnal; um pedido com mais é recusado. colours aceita até oito cores hex e count pede de uma a oito propostas; acima disso, o pedido também é recusado. Para adotar uma proposta, envia exatamente a entrada que a gerou com a key da proposta: o servidor volta a criar a proposta a partir dessa entrada e nunca confia numa receita enviada pelo cliente.
Criar designs
| Ferramenta | O que faz | Entradas | Âmbitos |
|---|---|---|---|
design | Pede ao Designer do próprio Gradiently que crie um design, ou altere um, a partir de um pedido em palavras simples. Lê o perfil da marca e o Mark, cria o design, revê e guarda. | request, personality, size, designId, scope, selection | workspaces:read, designs:read, designs:write |
create_designs | Cria um conjunto de até doze designs a partir de um só briefing, em segundo plano. | brief, items (size, brief, title), title, personality, mark, wait | workspaces:read, designs:read, designs:write |
get_design_set | O progresso de um conjunto e o link do Estúdio de cada design assim que existe. | id | designs:read |
stop_design_set | Para um conjunto em curso. Os designs já desenhados ficam guardados. | id | designs:write |
compose_design | Pagina o teu texto com o motor de paginação e guarda-o. Devolve problemas de revisão a corrigir. | composition, personality, designId, title | workspaces:read, designs:read, designs:write |
find_templates | Pesquisa os designs feitos à mão pelo Gradiently. Devolve até seis, com uma imagem e os seus espaços. | query, size | qualquer chave |
use_template | Cria um design guardado a partir de um modelo, mantendo a sua composição. | template, text, photos, icons, hide, personality, designId | workspaces:read, designs:read, designs:write |
list_templates | Ids dos modelos iniciais com os ids dos seus elementos de texto, e todas as predefinições de tamanho. | nenhuma | qualquer chave |
create_design | Cria um design a partir do id de um modelo inicial, de uma predefinição de tamanho e de texto indexado pelo id do elemento. | template, size, copy, look, personality | workspaces:read, designs:read, designs:write |
design e create_designs gastam os créditos de IA do espaço de trabalho, tal como o Designer no Estúdio. Quando o saldo é demasiado baixo, falham com uma mensagem a indicá-lo; recarrega em Definições › Créditos de IA. No máximo, correm dois conjuntos de cada vez por pessoa, e um conjunto terminado continua legível durante cerca de vinte minutos. Os designs em si ficam.
Uma composição indica um size (o id de uma predefinição como ig-post, x-post ou li-banner, ou {w, h} em píxeis), um layout (statement, editorial, poster, split, stat, quote, list, event ou minimal) e blocks por ordem de leitura, cada um com um role como headline, body ou cta e o seu text.
{
"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" }
]
}
}compose_design. A resposta contém o id do design, o seu link do Estúdio, os problemas de revisão e os elementos que colocou.Editar e exportar
| Ferramenta | O que faz | Entradas | Âmbitos |
|---|---|---|---|
list_designs | Os designs guardados de uma marca, com links do Estúdio. | personality | workspaces:read, designs:read |
get_design | O tamanho, as páginas e cada elemento de um design com as suas propriedades. Filtra designs longos por página, tipo, nome ou texto. | id, page, kind, name, text | designs:read |
edit_design | Altera um design com até 100 operações, como uma pessoa faria no Estúdio, e guarda-o. | id, ops, page | designs:write |
update_design_text | Substitui as palavras dos elementos de texto escolhidos e mantém a paginação. | id, text (id do elemento para as palavras) | designs:read, designs:write |
resize_copies | Guarda cópias em até oito outros tamanhos, reorganizadas como faz o Estúdio. O original não muda. | id, sizes | designs:read, designs:write |
wear_mark | Põe um Mark num design, ou torna-o o Mark de uma marca para novos designs. | mark, e design ou personality | ver abaixo |
render_design | Gera um design guardado em PNG ou PDF com o motor do Estúdio. Devolve o ficheiro em base64. | id, width, height, format, page | designs:read |
export_design_link | Publica um link de visualização, /d/<id>, que qualquer pessoa que o tenha pode abrir. | id | designs:write |
wear_mark num design precisa de designs:read e designs:write. Tornar um Mark o Mark de uma marca precisa de workspaces:read, designs:read e personalities:write, e de um Mark de que és detentor com uma licença ativa. Indicar o Mark pelo seu código também precisa de marks:read.
render_design aceita width e height de 1 a 4096 píxeis e format png ou pdf. page conta a partir de 0: o PNG gera a primeira página por predefinição e o PDF todas as páginas. Um PDF mantém cada página no seu tamanho do Estúdio, por isso o tamanho que pedes tem de corresponder. Gerar precisa da mesma licença de exportação para o Mark do design que o Estúdio, e nunca publica nem altera o design.
Exemplos de pedidos
- “Encontra no Mercado Marks escuros com cromado e mostra-me os três mais próximos de azul-petróleo profundo.” Usa
search_marks. - “Gera direções de marca para a Hearth, uma padaria de bairro, calma e acolhedora, e adota a que tiver a paleta mais suave.” Usa
generate_brandeadopt_brand. - “Forja um Mark chamado Night Harbour: um fundo vazio, de azul-marinho a laranja de sódio, uma camada de grão discreta. Corrige o que a revisão assinalar e depois guarda-o.” Usa
make_markesave_mark. - “Muda o título do design 4f1c… para ‘Portas abertas às sete’ e faz cópias para uma story do Instagram e uma publicação no X.” Usa
get_design,update_design_texteresize_copies. - “Gera o design 4f1c… como PNG de 1080 por 1350 e guarda-o em launch.png.” Usa
render_design. - “Faz um cartaz para a nossa festa do solstício no terraço, 21 de junho, do pôr do sol ao nascer do sol.” Usa
design, que precisa deworkspaces:read.
A referência completa dos endpoints por trás destas ferramentas está em Referência da API. Para tudo o resto, envia-nos um pedido.

