Skip to main content
Glama

Publish landing page

publish_landing_page
Destructive

Publica ou atualiza a landing page do negocio em .noeixo.tech, usando o modelo do Desafio noEixo. Na primeira vez, mande todos os campos obrigatorios (nome_do_negocio, ramo, cidade, frase_principal, descricao, whatsapp, beneficios, servicos) e o subdominio. Para ALTERAR, mande so os campos que mudam: o resto continua como esta (veja get_landing_page). Texto vazio ("") apaga um campo opcional. O campo de depoimentos aceita só depoimentos reais informados pelo negócio. Devolve o endereco publicado.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "publish_landing_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
corNoCor da marca em #RRGGBB, escura o bastante para texto branco (padrão #1D6B5A)
cnpjNoCNPJ para o rodapé (opcional)
ramoNoRamo, como aparece acima do título: "Odontologia", "Confeitaria" (até 40)
emailNoE-mail de contato (opcional)
cidadeNoCidade (até 40)
horarioNoHorário de atendimento, ex.: "Segunda a sexta, 8h às 18h; sábado, 8h às 12h" (opcional)
enderecoNoEndereço completo, para o botão do Google Maps (opcional)
foto_urlNoFoto real do negócio, que ocupa o quadro do topo (opcional). Aceita endereço https OU o próprio arquivo em base64 ("data:image/png;base64,..."; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente
logo_urlNoLogo da marca, que entra no cabeçalho no lugar do nome em texto. Prefira o logo horizontal; a altura fica em 46 px (opcional). Aceita endereço https OU o próprio arquivo em base64 ("data:image/png;base64,..."; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente
servicosNoLista JSON com 1 a 6 serviços: [{"nome":"Limpeza","descricao":"Para quem é e o que inclui","preco":"R$ 150"}] (preço opcional, até 20 caracteres, aparece exatamente como enviado: para preço variável escreva "A partir de R$ 150")
whatsappNoWhatsApp com DDD, ex.: (48) 99999-0000 (o 55 é completado)
descricaoNoO que o negócio faz, para quem e por que escolher (até 260)
perguntasNoLista JSON com até 6 perguntas frequentes: [{"pergunta":"Aceita cartão?","resposta":"Sim, em até 3x."}] (opcional)
beneficiosNoLista JSON com 1 a 3 motivos curtos para confiar, ex.: ["Resposta em até 15 min","Nota 4,9 no Google"]
subdominioNoEndereço da página, só letras, números e hífen: "clinicasorriso" vira clinicasorriso.noeixo.tech. Obrigatório na primeira publicação; trocar depois tira o endereço antigo do ar.
depoimentosNoLista JSON com até 3 depoimentos REAIS, autorizados: [{"texto":"...","nome":"Ana","detalhe":"Joinville"}] (opcional)
cor_de_fundoNoCor CLARA em #RRGGBB para o topo e as seções de fundo, ex.: o tom claro da marca "#E6F2D3". Cor escura é recusada, porque o texto da página é escuro (opcional, padrão: a cor da marca bem diluída)
chamada_finalNoTítulo da chamada final da página (opcional, padrão "Pronto para resolver isso?")
chat_do_agenteNo"sim" coloca na página um botão que abre o chat do agente de IA da conta (o mesmo do widget), com o botão de WhatsApp logo acima; "não" tira. Exige o agente configurado na conta (opcional, padrão: sem chat)
cor_dos_botoesNoCor dos botões de ação em #RRGGBB (padrão: verde do WhatsApp). O texto fica branco ou escuro sozinho, para dar leitura; o botão flutuante de WhatsApp continua verde (opcional)
imagem_do_topoNoImagem (de preferência 16:9, como a capa do Google) que entra no quadro da marca no topo, com o botão "Fale conosco" embaixo. Só vale quando não há foto_url (a foto ocupa o quadro inteiro). Aparece no computador; no celular o quadro some (opcional). Aceita endereço https OU o próprio arquivo em base64 ("data:image/png;base64,..."; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente
target_user_idNo(Só o admin da plataforma) userId da conta a operar
tempo_respostaNoTempo de resposta no horário de atendimento, ex.: "15 minutos" (opcional)
texto_do_botaoNoTexto dos botões que levam ao formulário, no lugar de "Pedir orçamento", ex.: "Quero a análise grátis" (até 30, opcional)
cor_de_destaqueNoSegunda cor da marca em #RRGGBB, para os números do "Como funciona" e o traço sob os títulos pequenos, ex.: "#F5B82E". O texto sobre ela fica branco ou escuro sozinho (opcional)
frase_principalNoO resultado que o cliente procura, em uma frase (até 90)
nome_do_negocioNoNome do negócio (até 60 caracteres)
titulo_do_formularioNoTítulo do formulário no lugar de "Peça seu orçamento em 1 minuto", ex.: "Descubra quanto a sua conta pode cair" (até 60, opcional)
perguntas_do_formularioNoLista JSON com até 4 perguntas a mais no formulário, obrigatórias para o visitante: [{"pergunta":"Empresa"},{"pergunta":"Valor médio da conta","opcoes":["Até R$ 5 mil","Acima de R$ 5 mil"]}]. Sem opcoes = resposta livre; com opcoes = 2 a 8 escolhas. As respostas entram na mensagem do WhatsApp (opcional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / foto_url / description
      Previous value: -"Endereço https de uma foto real do negócio (opcional)"New value: +"Foto real do negócio, que ocupa o quadro do topo (opcional). Aceita endereço https OU o próprio arquivo em base64 (\"data:image/png;base64,...\"; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente"
    • changedInput schema / properties / imagem_do_topo / description
      Previous value: -"Endereço https de uma imagem (de preferência 16:9, como a capa do Google) que entra no quadro da marca no topo, com o botão \"Fale conosco\" embaixo. Só vale quando não há foto_url (a foto ocupa o quadro inteiro). Aparece no computador; no celular o quadro some (opcional)"New value: +"Imagem (de preferência 16:9, como a capa do Google) que entra no quadro da marca no topo, com o botão \"Fale conosco\" embaixo. Só vale quando não há foto_url (a foto ocupa o quadro inteiro). Aparece no computador; no celular o quadro some (opcional). Aceita endereço https OU o próprio arquivo em base64 (\"data:image/png;base64,...\"; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente"
    • changedInput schema / properties / logo_url / description
      Previous value: -"Endereço https do logo da marca (PNG, SVG ou JPG), que entra no cabeçalho no lugar do nome em texto. Prefira o logo horizontal; a altura fica em 46 px (opcional)"New value: +"Logo da marca, que entra no cabeçalho no lugar do nome em texto. Prefira o logo horizontal; a altura fica em 46 px (opcional). Aceita endereço https OU o próprio arquivo em base64 (\"data:image/png;base64,...\"; PNG, JPG, WEBP ou SVG, até 3 MB), que fica salvo junto da página. Não use imagem da base de conhecimento: lá o agente acha o logo na busca e pode mandá-lo ao cliente"
  2. Changed4 schema fields changed
    • addedInput schema / properties / cor_de_destaque
      Added value: +{
      +  "description": "Segunda cor da marca em #RRGGBB, para os números do \"Como funciona\" e o traço sob os títulos pequenos, ex.: \"#F5B82E\". O texto sobre ela fica branco ou escuro sozinho (opcional)",
      +  "type": "string"
      +}
    • addedInput schema / properties / cor_de_fundo
      Added value: +{
      +  "description": "Cor CLARA em #RRGGBB para o topo e as seções de fundo, ex.: o tom claro da marca \"#E6F2D3\". Cor escura é recusada, porque o texto da página é escuro (opcional, padrão: a cor da marca bem diluída)",
      +  "type": "string"
      +}
    • addedInput schema / properties / imagem_do_topo
      Added value: +{
      +  "description": "Endereço https de uma imagem (de preferência 16:9, como a capa do Google) que entra no quadro da marca no topo, com o botão \"Fale conosco\" embaixo. Só vale quando não há foto_url (a foto ocupa o quadro inteiro). Aparece no computador; no celular o quadro some (opcional)",
      +  "type": "string"
      +}
    • addedInput schema / properties / logo_url
      Added value: +{
      +  "description": "Endereço https do logo da marca (PNG, SVG ou JPG), que entra no cabeçalho no lugar do nome em texto. Prefira o logo horizontal; a altura fica em 46 px (opcional)",
      +  "type": "string"
      +}
  3. Changed4 schema fields changed
    • addedInput schema / properties / cor_dos_botoes
      Added value: +{
      +  "description": "Cor dos botões de ação em #RRGGBB (padrão: verde do WhatsApp). O texto fica branco ou escuro sozinho, para dar leitura; o botão flutuante de WhatsApp continua verde (opcional)",
      +  "type": "string"
      +}
    • addedInput schema / properties / perguntas_do_formulario
      Added value: +{
      +  "description": "Lista JSON com até 4 perguntas a mais no formulário, obrigatórias para o visitante: [{\"pergunta\":\"Empresa\"},{\"pergunta\":\"Valor médio da conta\",\"opcoes\":[\"Até R$ 5 mil\",\"Acima de R$ 5 mil\"]}]. Sem opcoes = resposta livre; com opcoes = 2 a 8 escolhas. As respostas entram na mensagem do WhatsApp (opcional)",
      +  "type": "string"
      +}
    • addedInput schema / properties / texto_do_botao
      Added value: +{
      +  "description": "Texto dos botões que levam ao formulário, no lugar de \"Pedir orçamento\", ex.: \"Quero a análise grátis\" (até 30, opcional)",
      +  "type": "string"
      +}
    • addedInput schema / properties / titulo_do_formulario
      Added value: +{
      +  "description": "Título do formulário no lugar de \"Peça seu orçamento em 1 minuto\", ex.: \"Descubra quanto a sua conta pode cair\" (até 60, opcional)",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / chat_do_agente
      Added value: +{
      +  "description": "\"sim\" coloca na página um botão que abre o chat do agente de IA da conta (o mesmo do widget), com o botão de WhatsApp logo acima; \"não\" tira. Exige o agente configurado na conta (opcional, padrão: sem chat)",
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior beyond the annotations: it is a partial-update (PATCH-like) tool where omitted fields persist, empty string erases optional fields, testimonials must be real, and it returns the published address (valuable since there is no output schema). Annotations already flag the destructive/open-world profile, and the subdomain-swap risk is stated in the schema rather than the description, so it stops short of 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and URL, then the create-vs-update rule, then the erasure rule, then the return value. Dense but every sentence carries a rule; slightly long and mixes several operational constraints into one paragraph rather than a tight two-liner.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 29-parameter mutation tool with no output schema, the description covers the essentials: create vs. update semantics, field erasure, and the return value. It could add more on validation/refusal behavior (e.g., colliding subdomains, rejected dark background colors) but the critical invocation guidance is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot express: which fields are mandatory on the first publish, that unspecified fields keep their prior value, and that "" clears an optional field. It does not restate per-field formats, which is appropriate given the rich schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific pair of verbs (publish/create vs. update) and the exact resource and URL shape (<subdominio>.noeixo.tech), using the noEixo Challenge template. It also implicitly routes the reader to get_landing_page for reading, so an agent can tell it apart from that sibling without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly distinguishes first-time use ('mande todos os campos obrigatorios ... e o subdominio') from edits ('mande so os campos que mudam'), names the companion read tool, and states the empty-string deletion rule. The only remaining inference is which optional fields exist, which the schema covers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources