O Model Context Protocol é um padrão aberto para dar ferramentas a assistentes de IA. O Gradiently mantém um servidor MCP hospedado em https://gradiently.design/api/mcp. Conecte uma vez com uma chave de API, e seu assistente pode chamar as ferramentas do Gradiently enquanto você conversa com ele. Cada ferramenta faz as mesmas requisições à API que o seu próprio código faria, então tem as mesmas permissões, licenças, créditos e limites.
Antes de conectar
- Crie uma chave em Configurações › API e agentes (veja Chaves de API e escopos). A chave decide em qual workspace o assistente trabalha e quais ferramentas vão funcionar.
- Toda requisição ao servidor precisa levar a chave como
Authorization: Bearer gr_live_…, inclusive a primeira. Sem ela, o servidor responde 401. - O servidor usa Streamable HTTP, sem estado, com respostas em JSON. Ele não precisa de sessão e não tem um fluxo de eventos separado para abrir.
- O servidor aceita só chaves de API. Ele não oferece login por OAuth.
Conectar o Claude Code
Adicione o Gradiently como servidor remoto por HTTP, com sua chave no cabeçalho. Guarde a chave em uma variável de ambiente para que ela nunca vá parar no histórico do shell nem em um arquivo com commit.
export GRADIENTLY_API_KEY="gr_live_…"
claude mcp add --transport http gradiently https://gradiently.design/api/mcp \
--header "Authorization: Bearer $GRADIENTLY_API_KEY"Abra uma nova sessão do Claude Code e peça para ele listar as ferramentas do Gradiently para testar a conexão. Se ele informar um erro de autenticação, a chave foi digitada errado, foi revogada, ou quem a criou não é mais proprietário ou admin do workspace.
Outros clientes
Qualquer cliente que consiga adicionar um servidor MCP remoto por Streamable HTTP e enviar um cabeçalho de requisição personalizado pode usar o Gradiently com a mesma URL e o mesmo cabeçalho. Se o seu consegue ou não depende do cliente e da versão dele.
- Claude Desktop e claude.ai adicionam servidores remotos como conectores personalizados. Se o formulário do conector permitir definir um cabeçalho Authorization, use a URL e o cabeçalho acima. Se ele só oferecer login por OAuth, o Gradiently ainda não pode ser conectado ali.
- ChatGPT e outros assistentes: a mesma regra. Onde o cliente aceita servidores MCP remotos com um cabeçalho bearer, conecte com a URL e sua chave.
- Clientes configurados por um arquivo JSON costumam aceitar o formato abaixo, que também aparece em Configurações, em Conectar um cliente MCP. Confira a documentação do seu cliente para ver 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 escopo faltando ou um modelo desconhecido.
- As ferramentas que precisam de uma marca aceitam um
personalityopcional (o id ou o slug dela). Sem ele, usam a primeira marca do workspace. - As ferramentas que salvam um design devolvem o link do Studio, o endereço
/studio/<id>do design em gradiently.design. - Várias ferramentas primeiro consultam suas marcas por
/api/me, que precisa deworkspaces:readedesigns:read. Essas ferramentas listam os dois escopos abaixo. - Uma chamada de ferramenta conta para o limite de requisições da sua chave uma vez pela requisição MCP e uma vez para cada requisição à API que a ferramenta faz.
Marks
| Ferramenta | O que faz | Entradas | Escopos |
|---|---|---|---|
search_marks | Busca no Mercado público por nome ou código. Devolve cores, materiais, status e titular. | q, tone (dark ou light), limit (de 1 a 120, padrão 24), todos opcionais | marks:read |
get_mark | Um Mark e a receita completa dele. | code (um código ou um id) | marks:read |
list_marks | Os Marks mantidos para este workspace, com o estado da licença, e seus rascunhos nele. | nenhuma | marks:read |
claim_mark | Reserva um Mark disponível. Quem criou a chave fica com ele, nunca o workspace. | code | marks:read, marks:claim |
make_mark | Monta uma receita de Mark a partir de uma intenção, ou edita uma, com revisão de cor e legibilidade e o Mark mais próximo no Mercado. Não salva nada. | spec, ou recipe e edit | marks:read |
save_mark | Salva uma receita como seu Mark privado em rascunho, ou atualiza um rascunho seu. Devolve o link da Forge. | name, recipe, id (opcional) | brand:generate |
export_mark | Renderiza um Mark sozinho como PNG, com até 4096 px de lado. | mark, width, height, personality | workspaces:read, designs:read, designs:write |
list_mark_versions | As versões salvas de um rascunho, da mais recente à mais antiga. Só quem criou o Mark as vê. | mark, cursor | marks:read |
save_mark_version | Guarda um rascunho como está agora, ou uma receita dada, como uma versão com nome. | mark, label, recipe | brand:generate |
restore_mark_version | Volta uma versão para o rascunho. O estado atual é guardado antes como versão. | mark, version | brand:generate |
update_mark_version | Renomeia ou marca uma versão com estrela. As versões com estrela são mantidas. | mark, version, label, starred | brand:generate |
delete_mark_version | Exclui uma versão, nunca a publicada. | mark, version | brand:generate |
Uma reserva que exige pagamento falha com uma mensagem dizendo que precisa de checkout; conclua no Gradiently. Uma chave não pode pagar por nada.
Marcas e workspace
| Ferramenta | O que faz | Entradas | Escopos |
|---|---|---|---|
generate_brand | Cria propostas de marca a partir de um nome e uma descrição. A mesma entrada sempre gera as mesmas propostas. | input: name, description, industry, tone, colours, count, nonce | brand:generate |
adopt_brand | Transforma uma proposta em um Mark em rascunho, uma marca e três designs iniciais, em uma única etapa. | input (sem alteração), key | brand:generate |
list_personalities | As marcas do workspace, com os ids delas. | nenhuma | workspaces:read, designs:read |
create_personality | Cria uma marca com nome. | name | personalities:write |
get_brand_profile | O que uma marca é, para quem ela é, o tom de voz, o que fazer e o que evitar, e as fontes. | personality | workspaces:read, designs:read |
update_brand_profile | Substitui o perfil de uma marca. O Designer lê esse perfil antes de cada design. | personality, profile | workspaces:read, designs:read, personalities:write |
my_workspace | Você, as marcas do workspace com os códigos dos Marks delas, e os Marks mantidos para ele. | nenhuma | workspaces:read, designs:read, marks:read |
list_workspaces | O workspace da chave e a sua função nele. | cursor | workspaces:read |
invite_member | Envia por e-mail um convite de sete dias para entrar no workspace. | workspaceId, email, role (admin, editor ou viewer) | members:write |
tone aceita até três destes: calm, bold, warm, cool, playful, luxe, natural, technical, editorial e nocturnal; uma requisição com mais é recusada. colours aceita até oito cores hex e count pede de uma a oito propostas; acima disso, a requisição também é recusada. Para adotar uma proposta, envie exatamente a entrada que a gerou junto com a key da proposta: o servidor cria a proposta de novo a partir dessa entrada e nunca confia em uma receita enviada pelo cliente.
Criar designs
| Ferramenta | O que faz | Entradas | Escopos |
|---|---|---|---|
design | Pede ao próprio Designer do Gradiently para criar um design, ou alterar um, a partir de um pedido em palavras simples. Ele lê o perfil da marca e o Mark, cria, revisa e salva. | 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 único 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 Studio de cada design assim que ele existir. | id | designs:read |
stop_design_set | Para um conjunto em andamento. Os designs já feitos continuam salvos. | id | designs:write |
compose_design | Diagrama o seu texto com o motor de layout e salva. Devolve os problemas da revisão para corrigir. | composition, personality, designId, title | workspaces:read, designs:read, designs:write |
find_templates | Busca nos designs feitos à mão pelo Gradiently. Devolve até seis, com uma imagem e os espaços de cada um. | query, size | qualquer chave |
use_template | Cria um design salvo a partir de um modelo, mantendo a composição dele. | template, text, photos, icons, hide, personality, designId | workspaces:read, designs:read, designs:write |
list_templates | Os ids dos modelos iniciais com os ids dos elementos de texto deles, e todos os tamanhos predefinidos. | nenhuma | qualquer chave |
create_design | Cria um design a partir do id de um modelo inicial, de um tamanho predefinido 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 workspace, como o Designer faz no Studio. Quando o saldo é baixo demais, elas falham com uma mensagem avisando; faça uma recarga em Configurações › Créditos de IA. No máximo dois conjuntos rodam ao mesmo tempo por pessoa, e um conjunto concluído fica disponível para leitura por uns vinte minutos. Os designs em si continuam salvos.
Uma composição indica um size (o id de um tamanho predefinido, como ig-post, x-post ou li-banner, ou {w, h} em pixels), um layout (statement, editorial, poster, split, stat, quote, list, event ou minimal) e blocks na 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 traz o id do design, o link do Studio, os problemas da revisão e os elementos que foram colocados.Editar e exportar
| Ferramenta | O que faz | Entradas | Escopos |
|---|---|---|---|
list_designs | Os designs salvos de uma marca, com links do Studio. | personality | workspaces:read, designs:read |
get_design | O tamanho, as páginas e cada elemento de um design com as propriedades dele. Filtre 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 Studio, e salva. | id, ops, page | designs:write |
update_design_text | Substitui as palavras dos elementos de texto escolhidos e mantém o layout. | id, text (id do elemento para as palavras) | designs:read, designs:write |
resize_copies | Salva cópias em até oito outros tamanhos, reorganizadas como o Studio faz. O original não muda. | id, sizes | designs:read, designs:write |
wear_mark | Coloca um Mark em um design, ou o torna o Mark de uma marca para os novos designs. | mark, e design ou personality | veja abaixo |
render_design | Renderiza um design salvo em PNG ou PDF com o motor do Studio. Devolve o arquivo em base64. | id, width, height, format, page | designs:read |
export_design_link | Publica um link de visualização, /d/<id>, que qualquer pessoa com ele pode abrir. | id | designs:write |
wear_mark em um 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 que seja seu com uma licença ativa. Indicar o Mark pelo código também precisa de marks:read.
render_design aceita width e height de 1 a 4096 pixels e format png ou pdf. page conta a partir de 0: o PNG renderiza a primeira página por padrão e o PDF, todas as páginas. Um PDF mantém cada página no tamanho dela no Studio, então o tamanho que você pedir precisa ser o mesmo. Renderizar exige a mesma licença de exportação do Mark do design que o Studio exige, e nunca publica nem altera o design.
Exemplos de pedidos
- “Encontre no Mercado Marks escuros com cromado e me mostre os três mais próximos de um azul-petróleo profundo.” Usa
search_marks. - “Gere direções de marca para a Hearth, uma padaria de bairro, calma e acolhedora, e adote a que tiver a paleta mais suave.” Usa
generate_brandeadopt_brand. - “Forje um Mark chamado Night Harbour: um fundo vazio, do azul-marinho ao laranja de lâmpada de sódio, uma camada discreta de granulação. Corrija o que a revisão apontar e depois salve.” Usa
make_markesave_mark. - “Mude o título do design 4f1c… para ‘Portas abertas às sete’ e faça cópias para um story do Instagram e um post do X.” Usa
get_design,update_design_texteresize_copies. - “Renderize o design 4f1c… como PNG de 1080 por 1350 e salve em launch.png.” Usa
render_design. - “Crie um pôster para a nossa festa de 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 dessas ferramentas está em Referência da API. Para qualquer outra coisa, envie uma solicitação.

