Documentação do servidor MCP do Chattee
Última atualização: 2026-10-15 · Esta página em Markdown · O que o teu assistente pode fazer com o Chattee
O servidor MCP do Chattee é um servidor remoto do Model Context Protocol que permite a assistentes de IA como o Claude Code, o Claude.ai, o Cursor, o Codex e o ChatGPT criar, alterar, implementar e publicar apps web completas no Chattee. Esta página mostra como ligar cada cliente, como funcionam a autenticação e as permissões, o que fazem as 35 ferramentas e os limites com que te vais deparar.
O que é o servidor MCP do Chattee?
O servidor MCP do Chattee permite que o assistente de IA que já usas construa apps web completas no Chattee: cria um projeto a partir da tua descrição, transmite-te o plano para aprovares, acompanha a construção e publica a app em Ao vivo. É um único endpoint remoto, autenticado por OAuth ou por um token de acesso pessoal.
Fala o Model Context Protocol (revisões 2025-11-25 e 2026-07-28) por Streamable HTTP, num único URL:
https://chattee.ai/mcp/connect
Através dele, o teu assistente pode criar um projeto a partir de uma descrição, transmitir-te o plano que o Chattee propõe e levar-lhe a tua resposta, acompanhar a construção, entregar-te a pré-visualização do Rascunho, publicar em Ao vivo, começar projetos a partir de modelos ou exportá-los como modelos, ler e escrever ficheiros, gerir variáveis de ambiente e recursos geridos, ler a base de dados e consultar os teus créditos. O Chattee constrói apps web completas: um front-end React, um back-end Node, uma base de dados Postgres gerida, autenticação, armazenamento de ficheiros e e-mail, implementados e alojados em chattee.ai.
A única regra que molda tudo: os planos e as decisões sobre dinheiro ficam contigo. Cada plano é-te mostrado completo e só tu o aprovas; uma execução que atinge o orçamento fica em pausa, e o seu limite sobe só até um total que tu indiques. Os créditos compram-se no builder, nunca pelo teu assistente.
O que posso pedir ao meu assistente para fazer com o Chattee?
Pede com as tuas palavras, como explicarias o projeto a um programador: o teu assistente transforma o pedido em chamadas às ferramentas do Chattee e mostra-te o que volta. Uma app nova passa por um plano que aprovas; uma pequena alteração pode entrar diretamente. A tabela mostra pedidos reais e as ferramentas que usaram.
| Pedes | O que acontece | Ferramentas chamadas |
|---|---|---|
| Faz-me um site de uma página para a minha padaria, «Sunrise Bakery»: um destaque com o nome e uma frase curta, três cartões para o nosso pão, os bolos e o café, o horário de funcionamento e uma secção de contacto com a nossa morada (12 Baker Street, Springfield). Sem início de sessão, sem área de administração. Publica-o quando estiver pronto. | O Chattee planeia um site de uma página sem back-end e faz duas perguntas sobre o aspeto; depois do teu sim, constrói a página e publica-a. | create_project, wait_for_run, answer_question, approve_plan, publish_project, get_release_status |
| Constrói um portal de alunos para o meu centro de explicações, o Brightpath Tutoring. Os alunos iniciam sessão e veem as suas próprias notas e assiduidade, e carregam lá os seus trabalhos. Quando um aluno entrega um trabalho, quero receber um e-mail sobre isso. Publica-o quando funcionar. | O Chattee pergunta como é que os alunos obtêm contas e que aspeto deve ter o portal, planeia uma app full-stack (início de sessão, base de dados, armazenamento de ficheiros, e-mail) para o teu sim, constrói-a, continuando uma vez depois do limite de tempo da execução, e publica-a. | create_project, wait_for_run, answer_question, approve_plan, set_env_vars, get_project, get_run_logs, list_resources, get_release_status, continue_run, list_env_vars, publish_project |
| Faz-me uma app para o nosso clube desportivo, o TSV Grünwald. Os sócios registam-se e iniciam sessão, veem os horários dos treinos e os próximos eventos e podem inscrever-se num evento; recebem uma confirmação por e-mail. A direção carrega documentos, como atas de reuniões, que todos os sócios podem ler. Publica a app quando estiver pronta. | O Chattee pergunta pelo aspeto e pela cor do clube, planeia a app dos sócios (início de sessão, base de dados, armazenamento de ficheiros, e-mail) para o teu sim, constrói-a, continuando uma vez depois do limite de tempo da execução, e publica-a. | create_project, wait_for_run, answer_question, approve_plan, continue_run, publish_project, get_release_status |
| Porque é que a última implementação falhou? | O teu assistente lê o registo de implementação e explica o erro. | get_run_logs (source) |
| Muda o título da página inicial para «Fresco todas as manhãs». | Uma alteração pequena e direta, sem plano; os créditos são gastos de imediato. | send_message (mode), wait_for_run |
| Quantas pessoas se registaram em Ao vivo? | Uma consulta só de leitura à base de dados de Ao vivo; as leituras em Ao vivo ficam registadas. | query_database (env, sql) |
| Volta a pôr em Ao vivo a versão de ontem. | O teu assistente encontra a versão no histórico e restaura-a em Ao vivo. | get_release_status, publish_project (restore_release_uid) |
| Guarda este projeto como modelo. | Um modelo privado com a sua própria base de dados vazia, a partir do qual podes começar projetos novos. | export_project_as_template |
As três primeiras linhas são execuções reais do benchmark MCP do Chattee: o pedido tal como o utilizador simulado o escreveu (traduzido, porque os testes correram em inglês e em alemão) e as ferramentas que o assistente chamou, pela ordem em que as chamou pela primeira vez. As restantes são pedidos isolados.
Requisitos
Precisas de três coisas: uma conta Chattee, um cliente MCP que fale Streamable HTTP e uma forma de iniciar sessão. Os clientes alojados só precisam de iniciar sessão com OAuth; os outros enviam um token de acesso pessoal num cabeçalho. A chave API da tua conta é recusada de propósito, porque não tem permissões delimitadas nem pode ser revogada.
- Uma conta Chattee (começa grátis). O plano gratuito inclui créditos.
- Um cliente MCP: Claude Code, Claude.ai ou Claude Desktop, Cursor, Codex CLI, ChatGPT ou o teu próprio agente com o Claude Agent SDK.
- Ou um token de acesso pessoal (criado na página Assistentes de IA do builder), ou um cliente que inicie sessão por OAuth. A chave API da tua conta não funciona aqui.
Como adiciono o servidor MCP do Chattee ao Claude Code?
O Claude Code adiciona o servidor MCP do Chattee com um comando e inicia sessão por OAuth, sem colar nenhum token. Adiciona-o para o teu utilizador, para que esteja em todos os projetos; uma equipa que partilha um repositório pode antes fazer commit de um .mcp.json, com o token de cada pessoa lido de uma variável de ambiente.
Adiciona o servidor uma vez e depois inicia sessão:
claude mcp add --transport http chattee --scope user https://chattee.ai/mcp/connect
--scope user adiciona o Chattee para o teu utilizador, para estar em todos os projetos e não só na pasta atual (o âmbito predefinido do Claude Code). Inicia sessão a partir da shell:
claude mcp login chattee
Dentro do Claude Code, /mcp faz o mesmo: escolhe lá o Chattee. Em qualquer dos casos, o Claude Code abre a página de consentimento do Chattee, tu aprovas e as ferramentas aparecem como mcp__chattee__<tool>. Para usar um token de acesso pessoal em vez de OAuth, passa-o como cabeçalho:
claude mcp add --transport http chattee --scope user https://chattee.ai/mcp/connect --header "Authorization: Bearer chattee_pat_…"
Para uma configuração ao nível do projeto que uma equipa possa partilhar, põe isto num .mcp.json na raiz do repositório. O ficheiro não contém nenhum token: o Claude Code substitui ${CHATTEE_PAT} pela variável de ambiente CHATTEE_PAT, por isso cada pessoa da equipa usa o seu próprio token de acesso pessoal e o ficheiro pode ir para o repositório tal como está:
{
"mcpServers": {
"chattee": {
"type": "http",
"url": "https://chattee.ai/mcp/connect",
"headers": {
"Authorization": "Bearer ${CHATTEE_PAT}"
}
}
}
}
Define a variável antes de abrires o Claude Code, por exemplo no perfil da tua shell (~/.zshrc ou ~/.bashrc): export CHATTEE_PAT=chattee_pat_…. Nunca escrevas o próprio token no .mcp.json e nunca o ponhas em nenhum commit.
Depois pede ao Claude Code, por exemplo: «Constrói no Chattee uma página de reservas para o meu estúdio de ioga e mostra-me o plano antes de o aprovares.»
Como adiciono o Chattee como conector personalizado no Claude.ai e no Claude Desktop?
O Claude.ai, o Claude Desktop e as apps móveis do Claude ligam-se ao Chattee como conector personalizado: colas o URL do servidor uma vez, inicias sessão no Chattee e aprovas as permissões. A ligação usa OAuth 2.1, funciona em todos os planos do Claude e aparece depois em todas as conversas em que ativares o conector.
Os conectores personalizados estão disponíveis em todos os planos (o plano gratuito permite um conector personalizado). Os menus aparecem aqui com os nomes da interface em inglês:
- Abre Customize → Connectors (proprietários de Team e Enterprise: Organization settings → Connectors, depois Add → Custom → Web).
- Clica em +, escolhe Add custom connector, cola
https://chattee.ai/mcp/connectcomo URL e clica em Add. - Liga o conector: o Claude abre a página de consentimento do Chattee. Inicia sessão, revê as permissões e aprova.
O Chattee aparece então como um conector que podes ativar em cada conversa, na web, no Claude Desktop e nas apps móveis. Não colas nenhum token no Claude.
Como adiciono o servidor MCP do Chattee ao Cursor?
O Cursor instala o servidor MCP do Chattee com um clique, ou com algumas linhas no mcp.json, e depois inicia sessão por OAuth na página de consentimento do Chattee. Como o Cursor ignora os cabeçalhos configurados assim que um servidor oferece OAuth, iniciar sessão é a única forma de autenticação; um token no ficheiro não serve de nada.
Ou adiciona tu o servidor a ~/.cursor/mcp.json (ou ao .cursor/mcp.json do projeto):
{
"mcpServers": {
"chattee": {
"url": "https://chattee.ai/mcp/connect"
}
}
}
O Cursor deteta que o servidor oferece OAuth e pede-te para iniciares sessão; aprova na página de consentimento do Chattee.
Como adiciono o servidor MCP do Chattee ao Codex CLI?
O Codex CLI liga-se ao Chattee com um token de acesso pessoal que lê de uma variável de ambiente, por isso o token nunca fica num ficheiro de configuração. Adiciona o servidor com um comando ou com três linhas de TOML, e mantém a espera predefinida: o Codex termina qualquer chamada de ferramenta ao fim de 60 segundos.
Põe um token de acesso pessoal na variável de ambiente CHATTEE_PAT e depois adiciona o servidor:
codex mcp add chattee --url https://chattee.ai/mcp/connect --bearer-token-env-var CHATTEE_PAT
Ou escreve o mesmo em ~/.codex/config.toml:
[mcp_servers.chattee]
url = "https://chattee.ai/mcp/connect"
bearer_token_env_var = "CHATTEE_PAT"
O Codex termina uma chamada de ferramenta ao fim de 60 segundos, por isso mantém a espera predefinida de 45 segundos do wait_for_run; a ferramenta responde antes disso e o Codex simplesmente volta a chamá-la.
Como ligo o servidor MCP do Chattee ao ChatGPT?
O ChatGPT liga servidores MCP no Developer mode, na página a que agora chama Plugins (antes dizia conectores), nos planos pagos da OpenAI e só na web. O Chattee liga-se apenas por OAuth: colas o URL do servidor, aprovas na página de consentimento do Chattee e depois escolhes o Chattee numa conversa.
A OpenAI oferece o Developer mode nos planos pagos (Plus, Pro, Business, Enterprise e Edu) e só na web; num espaço de trabalho Business, Enterprise ou Edu, pode ser preciso que um administrador o autorize primeiro. Os menus aparecem aqui com os nomes da interface em inglês:
- Abre Settings → Security and login e ativa o Developer mode.
- Vai a ChatGPT Plugins, clica em +, escreve um nome (Chattee) e uma breve descrição e cola
https://chattee.ai/mcp/connectcomo URL do servidor da ligação. Cria-a. - O ChatGPT envia-te para a página de consentimento do Chattee; inicia sessão e aprova.
- Numa conversa nova, escolhe Developer mode no menu + e seleciona o Chattee.
O ChatGPT não aceita tokens de acesso pessoal, e não faz mal: o fluxo OAuth concede as mesmas permissões, e revogas a ligação no Chattee, na página Assistentes de IA.
Como uso o servidor MCP do Chattee a partir do Claude Agent SDK?
Um agente que constróis com o Claude Agent SDK chega ao Chattee pelo mesmo servidor remoto: passa-o nas opções de query() com um token de acesso pessoal lido do ambiente. O servidor impõe as permissões, mas não a tua política de aprovação, por isso o teu agente decide quando um plano pode ser aprovado; mantém uma pessoa nesse circuito.
Passa o servidor nas opções de query(), com um token de acesso pessoal como bearer, lido da variável de ambiente CHATTEE_PAT, para que o token nunca fique no teu código:
mcpServers: {
chattee: {
type: "http",
url: "https://chattee.ai/mcp/connect",
headers: { Authorization: "Bearer " + process.env.CHATTEE_PAT },
},
}
Permite as ferramentas com allowedTools: ["mcp__chattee"] e mantém uma pessoa no circuito para o approve_plan — aqui o servidor não recusa nada, por isso é a política do teu próprio agente que impede que um plano seja aprovado sem ninguém o ver.
A skill do Chattee e o tools.json
A skill do Chattee ensina um agente a trabalhar com o Chattee: o ciclo de construção, a regra da aprovação, o significado de cada resultado e todas as ferramentas. É um ficheiro Markdown, mais um zip para o Claude.ai. O tools.json lista as mesmas ferramentas como dados. Um plugin, quando estiver listado, instala a ligação e a skill juntas.
- Skill para agentes:
skill.mdensina a um agente o ciclo de construção, a regra da aprovação e todas as ferramentas, em qualquer cliente que leia Agent Skills (Claude Code, Cursor, Codex, o Claude Agent SDK). A skill está em inglês, porque são os agentes que a leem. O Claude.ai aceita a mesma skill comochattee-skill.zip: carrega-a em Customize → Skills. - Ferramentas em JSON:
tools.jsonlista todas as ferramentas com o grupo, a permissão, o acesso e os parâmetros de cada uma, para agentes e diretórios que preferem dados a texto.
Autenticação: OAuth ou tokens de acesso pessoal
Há duas formas de iniciar sessão e um só conjunto de permissões. Os clientes alojados usam OAuth 2.1 e enviam-te para a página de consentimento do Chattee; os outros enviam um token de acesso pessoal. Em ambos os casos, as permissões que concedes decidem que ferramentas funcionam, e revogas uma ligação ou um token na página Assistentes de IA.
- OAuth 2.1 é o que os clientes alojados usam (Claude.ai, ChatGPT, Cursor, o início de sessão
/mcpdo Claude Code). O cliente identifica-se com um documento de metadados de client ID ou por registo dinâmico, prova a posse com PKCE (S256) e envia-te para a página de consentimento do Chattee. A página mostra o nome do cliente com o seu domínio verificado, ou marca como não verificado um cliente que se registou a si próprio e mostra para onde a aprovação te leva de volta. Os tokens de acesso duram 1 hora e os tokens de atualização 30 dias; uma atualização roda o token, e um token reutilizado revoga toda a autorização. - Os tokens de acesso pessoal (
chattee_pat_…) são para clientes que enviam um cabeçalho: o Claude Code com--header, o Codex, o Agent SDK, scripts. Cria-os na página Assistentes de IA, com as permissões que quiseres e uma data de expiração opcional. O token é mostrado uma vez e guardado em hash. Revoga-o na mesma página.
| Permissão | O que permite | Ferramentas |
|---|---|---|
projects:read | listar e ler áreas de trabalho, projetos, conversas, execuções, registos, ficheiros, modelos e o estado das publicações | list_workspaces, list_projects, get_project, list_chats, get_chat, wait_for_run, get_run_logs, get_release_status, list_templates, get_template, list_files, read_file; também: create_project, send_message e refine_plan com anexos |
projects:write | criar projetos e conversas, enviar mensagens, aprovar e rever planos, responder a perguntas, interromper, continuar e repetir execuções | create_project, create_chat, send_message, approve_plan, refine_plan, answer_question, stop_run, continue_run, retry_run; também: wait_for_run quando o teu cliente mostra a pergunta do agente como formulário |
projects:delete | eliminar projetos e conversas (um projeto pede o nome exato como confirmação) | delete_project, delete_chat |
publish | publicar em Ao vivo, restaurar uma versão, aplicar variáveis de ambiente em Ao vivo | publish_project; também: set_env_vars com env: live |
templates | exportar um projeto como modelo; mudar o nome, descrever, etiquetar, publicar e eliminar os teus modelos | export_project_as_template, update_template, delete_template |
files:write | escrever e eliminar ficheiros no Rascunho de um projeto | write_file, delete_file |
config | variáveis de ambiente, recursos geridos, criação de recursos, consultas à base de dados só de leitura | list_env_vars, set_env_vars, list_resources, provision_resource, query_database |
usage:read | o saldo de créditos | get_credits |
Privilégio mínimo: um token só com projects:read e usage:read pode ver tudo e não altera nada; acrescenta projects:write para construir, e publish só se o teu assistente tiver de pôr alterações em Ao vivo.
Uma ferramenta chamada sem a sua permissão responde com um resultado insufficient_scope que indica a permissão e onde a concedes; nada é alterado. As apps ligadas e os tokens estão listados, e revogam-se, na página Assistentes de IA.
Referência das ferramentas MCP
O servidor MCP do Chattee tem 35 ferramentas MCP («MCP tools») em oito grupos, listadas com a permissão que cada uma exige e o que pode fazer aos teus dados. Cada resultado traz Markdown e dados estruturados, e cada link devolvido (conversa no builder, pré-visualização do Rascunho, URL de Ao vivo) é absoluto, para o teu assistente to passar.
Conta e áreas de trabalho
Em nome de quem constróis: as tuas áreas de trabalho e os créditos que uma construção vai gastar.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_workspaces | Lista as áreas de trabalho a que pertences; a primeira por ordem alfabética é a predefinida. | projects:read | Só leitura |
get_credits | Mostra o saldo de créditos que a próxima construção vai gastar e o limite de créditos por execução. | usage:read | Só leitura |
Projetos
Um projeto é uma app web, com a sua própria pré-visualização do Rascunho e o seu URL de Ao vivo.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_projects | Lista os projetos de uma área de trabalho com o estado da implementação e links; query pesquisa pelo nome. | projects:read | Só leitura |
get_project | Mostra os módulos, o estado do Rascunho e de Ao vivo, as alterações por publicar, a conversa com uma execução em curso e links. | projects:read | Só leitura |
create_project | Cria um projeto a partir de um pedido (o planeamento começa logo) ou de um modelo. | projects:write1 | Altera dados |
delete_project | Elimina um projeto de vez; pede o nome exato como confirmação. | projects:delete | Substitui ou elimina |
1 Com anexos, create_project, send_message e refine_plan também precisam de projects:read.
Conversas
Cada conversa é um diálogo com o agente; um projeto faz uma coisa de cada vez.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_chats | Lista as conversas de um projeto pela atividade mais recente. | projects:read | Só leitura |
create_chat | Abre uma conversa nova ou devolve a vazia; nunca entrega a conversa ocupada. | projects:write | Altera dados |
get_chat | Lê a transcrição como linhas tipificadas (texto, plano, pergunta, resumo final) mais o estado da execução; recua página a página com before. | projects:read | Só leitura |
delete_chat | Elimina uma conversa; é recusado enquanto tiver uma execução por resolver. | projects:delete | Substitui ou elimina |
Execuções
Inicia uma execução, espera pelos pontos de decisão e transmite as tuas decisões sobre o plano e sobre as perguntas do agente.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
send_message | Inicia uma execução (mode: plan ou edit) ou passa feedback à que está a decorrer; uma conversa grande que ficou parada continua numa nova. | projects:write1 | Altera dados |
wait_for_run | Espera por um ponto de decisão (plano, pergunta, pausa, conclusão, falha) ou pelo tempo limite, e vai transmitindo o progresso. | projects:read | Altera dados2 |
approve_plan | Transmite o teu sim ao plano; implementa e inicia a construção. | projects:write | Altera dados |
refine_plan | Transmite o teu feedback sobre o plano; o agente revê-o. | projects:write1 | Altera dados |
answer_question | Transmite a tua resposta a uma pergunta do agente; nunca um palpite. | projects:write | Altera dados |
stop_run | Interrompe a execução, ou termina uma que está em pausa no limite de créditos. | projects:write | Substitui ou elimina3 |
continue_run | Retoma uma execução em pausa; aumenta o orçamento só até um total que tu indiques. | projects:write | Altera dados |
retry_run | Volta a correr uma execução interrompida ou falhada, na mesma conversa. | projects:write | Altera dados |
get_run_logs | Lê as chamadas de ferramentas da execução, o registo de implementação ou o registo de um contentor; avisa quando uma resposta foi cortada. | projects:read | Só leitura |
1 Com anexos, create_project, send_message e refine_plan também precisam de projects:read.
2 wait_for_run só envia a resposta que tu dás quando o teu cliente mostra a pergunta do agente como formulário.
3 stop_run termina a execução em curso, ou uma em pausa no limite de créditos; o trabalho já feito fica no Rascunho.
Publicação
Passa o Rascunho para Ao vivo, acompanha a versão ou volta a uma versão anterior.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
get_release_status | O Rascunho face a Ao vivo, a versão que está em Ao vivo, o histórico e os bloqueios; espera por uma versão com wait_seconds. | projects:read | Só leitura |
publish_project | Publica o Rascunho em Ao vivo, ou restaura uma versão anterior. | publish | Substitui ou elimina |
Modelos
Começa um projeto a partir de um modelo, ou transforma um projeto implementado num modelo.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_templates | Lista os modelos de que podes partir: os teus, os publicados ou ambos. | projects:read | Só leitura |
get_template | Mostra a descrição, as etiquetas, os módulos e a pré-visualização de um modelo. | projects:read | Só leitura |
export_project_as_template | Congela um projeto implementado como modelo privado, com a sua própria base de dados vazia. | templates | Altera dados |
update_template | Muda o nome, a descrição ou as etiquetas de um modelo, ou publica-o ou retira-o da publicação. | templates | Altera dados |
delete_template | Elimina um modelo de vez; retira-o primeiro da publicação. | templates | Substitui ou elimina |
Ficheiros
Lê o código ou faz uma alteração pequena e segura; para algo maior, envia uma edição para o agente a construir e verificar.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_files | Mostra uma árvore de ficheiros, ou pesquisa nomes e conteúdos. | projects:read | Só leitura |
read_file | Lê uma janela de um ficheiro de texto, no máximo 200 000 caracteres por chamada. | projects:read | Só leitura |
write_file | Escreve um ficheiro inteiro do Rascunho, criando-o se não existir; conta como alteração por publicar. | files:write | Substitui ou elimina |
delete_file | Elimina um ficheiro do Rascunho. | files:write | Substitui ou elimina |
Configuração e dados
As definições da app, os seus recursos geridos e consultas à base de dados só de leitura.
| Ferramenta | O que faz | Permissão | Acesso |
|---|---|---|---|
list_env_vars | Lista as variáveis por módulo; o valor de um segredo volta como null. | config | Só leitura |
set_env_vars | Junta as variáveis às existentes; só remove uma com remove: true; apply recria os contentores. | config4 | Substitui ou elimina |
list_resources | Lista a base de dados gerida, o armazenamento de ficheiros, a autenticação e o e-mail, com o estado de cada um. | config | Só leitura |
provision_resource | Adiciona um recurso gerido fora de um plano. | config | Altera dados |
query_database | Mostra o esquema ou executa uma instrução só de leitura no Rascunho ou em Ao vivo (env é obrigatório; as leituras em Ao vivo ficam registadas). | config | Só leitura |
4 Com env: live, set_env_vars também precisa de publish.
O ciclo de construção e a aprovação humana
Cada construção segue o mesmo ciclo: uma execução de planeamento, a tua aprovação, a construção e uma publicação quando a pedires. O teu assistente conduz o ciclo com poucas ferramentas e espera entre os passos, porque uma construção demora 5–90 minutos. Duas decisões são sempre tuas: aprovar um plano e gastar mais do que o orçamento de uma execução.
create_project(ousend_messagenuma conversa existente commode: plan) inicia uma execução de planeamento.wait_for_runresponde quando o plano está pronto. O teu assistente mostra-te o plano completo e o link para o builder.- Dizes que sim —
approve_plan— ou dás feedback —refine_plan. A aprovação implementa os contentores e inicia a construção. wait_for_run, repetidamente, até a execução terminar. Uma execução demora 5–90 minutos; cada espera termina ao fim de 240 segundos, no máximo, com o progresso até aí, e um resultadotimed_out_waitingquer apenas dizer «chama outra vez».- Se o agente perguntar alguma coisa (
awaiting_input), o teu assistente transmite-te a pergunta e a tua resposta volta poranswer_question. Os clientes que suportam elicitação MCP recebem a pergunta como formulário. - Quando a execução termina, voltam o resumo final e o link da pré-visualização do Rascunho.
publish_projectquando o pedires; o URL de Ao vivo volta da mesma forma.
As pausas por orçamento, um cartão expirado ou a falta de créditos terminam uma espera com um resultado escalate e links para o builder. O orçamento de uma execução em pausa sobe só até um total que tu indiques: o teu assistente passa o teu número com continue_run e só o guarda como predefinição se o disseres à parte. Uma execução em pausa no limite termina sozinha ao fim de 30 minutos se ninguém decidir, e stop_run termina-a de imediato; o trabalho fica guardado, e a tua próxima mensagem continua-o como uma nova execução com um novo limite de créditos. Os créditos compram-se no builder; nada neste endpoint os compra.
Limites e limitação de pedidos
Cada limite abaixo é imposto pelo servidor e indicado na resposta quando o atinges, para o teu assistente poder esperar ou restringir a chamada em vez de adivinhar. As esperas têm um teto para nenhum cliente perder a chamada, as chamadas são limitadas por utilizador e as leituras longas chegam em janelas que vais percorrendo.
wait_for_runespera 45 segundos por predefinição;get_release_statusespera 0 segundos por predefinição, por isso responde de imediato se não passareswait_seconds. Ambos esperam no máximo 240 segundos por chamada. Mais não serve de nada: o Claude Code abandona uma chamada de ferramenta HTTP ao fim de cinco minutos sem progresso.- 120 chamadas por minuto e por utilizador, somando todos os teus tokens e apps ligadas; acima disso, um resultado
rate_limitedcomretry_after_seconds. Uma espera em curso mantém a execução a andar. - 20 esperas simultâneas por utilizador, uma execução por projeto de cada vez e o limite de projetos do teu plano.
- Anexos: até 10 por mensagem, texto até 256 KB e ficheiros binários até 5 MB cada, e no máximo 20 MB no total por mensagem.
read_filedevolve no máximo 200 000 caracteres por chamada. Uma janela mais longa volta comtruncated: trueenext_offset_line, e o resultado explica como continuar a ler comoffset_lineelimit_lines.get_chatencurta as mensagens longas (truncated: true) e devolve as mais antigas através debefore: passa onext_beforedo resultado para ler a página anterior.get_run_logslimita cada resposta e avisa quando a cortou; restringe-a comtailousource.- As chaves de idempotência das ferramentas que alteram dados ficam memorizadas durante 24 horas; um reinício do serviço esquece-as.
Segurança
O endpoint é a única superfície pública do servidor MCP do Chattee; a verificação dos tokens e todas as chamadas ao Chattee correm atrás dele, no mesmo servidor. Os tokens são guardados em hash, as permissões verificadas em cada chamada, o conteúdo passa pelas verificações de segurança do builder e cada chamada de ferramenta fica num registo de auditoria.
- O endpoint é a única superfície pública. A verificação dos tokens e todas as chamadas ao plano de controlo do Chattee correm em loopback, dentro do mesmo servidor.
- Os tokens são guardados em hash. O OAuth usa PKCE S256, URIs de redirecionamento exatos (exceto as portas de loopback, segundo o RFC 8252), códigos de uso único e tokens de atualização rotativos; a página de consentimento mostra o domínio verificado de um cliente e marca como não verificado um cliente que se registou a si próprio, por isso um cliente que se faça passar por outro fica à vista.
- As permissões são impostas em cada chamada; o endpoint recusa a chave API da conta.
- O conteúdo passa pelas mesmas verificações de segurança (guardrails) do builder. Um bloqueio por essas verificações revoga todos os tokens e todas as apps ligadas da conta.
- Cada chamada de ferramenta fica num registo de auditoria, guardado durante 30 dias. Na conversa do builder, uma mensagem que o teu assistente enviou fica marcada com o cliente que a enviou, por exemplo «via Claude Code».
- Revoga um token ou uma app ligada a qualquer momento na página Assistentes de IA.
Resolução de problemas
A maioria dos erros indica a sua própria solução: o resultado traz um código, uma frase sobre o que aconteceu e muitas vezes um link para o builder. Abaixo estão os códigos que mais provavelmente vais encontrar, cada um com o que fazer. Se uma chamada falhar sem código, avisa-nos e indica a hora da chamada.
- 401
invalid_token— o token foi revogado, expirou ou é a chave API da conta. Cria um token de acesso pessoal, ou volta a ligar para o cliente iniciar sessão de novo. token_inactive— a credencial deixou de funcionar durante a chamada: foi revogada ou expirou. Uma app ligada volta a iniciar sessão no pedido seguinte (se não o fizer, liga-a de novo); um token de acesso pessoal não tem recuperação, por isso cria um novo na página Assistentes de IA e usa-o no lugar do antigo.email_unconfirmed— o endereço de e-mail da tua conta Chattee ainda não está confirmado. Confirma-o com o link do e-mail que o Chattee te enviou (o builder pode enviá-lo outra vez) e tenta de novo.account_blocked— a tua conta Chattee está suspensa, e nada neste endpoint funciona até ser reativada. Contacta-nos.internal_error— algo falhou dentro do Chattee. Tenta a chamada mais uma vez; se voltar a falhar, comunica-nos o erro com a hora da chamada.insufficient_scope— o resultado indica a permissão em falta. Concede-a no token, ou volta a ligar a app e aceita a permissão.rate_limited— espera osretry_after_seconds; nada se perdeu e a execução continua.conflict_busy— outra conversa do projeto está a usar o espaço de trabalho; o resultado indica qual. Espera por ela, ou interrompe essa execução.attachment_invalid— obase64de um anexo não é base64 válido. Codifica o ficheiro outra vez, ou envia um ficheiro de texto comotext.too_many_tasks— a tua conta tem demasiadas tarefas de longa duração abertas no servidor (em clientes que usam tarefas MCP). Deixa algumas terminar ou cancela-as, e tenta de novo; as execuções em si não são afetadas.- O Cursor está sempre a pedir para iniciar sessão — o Cursor ignora os cabeçalhos
Authorizationquando um servidor oferece OAuth. Remove o cabeçalho e inicia sessão. - O Codex indica que o tempo se esgotou — o Codex termina as chamadas de ferramentas aos 60 segundos. Mantém a espera predefinida; não passes
timeout_secondsacima de 50. - 503
introspection_unavailable— o Chattee não conseguiu verificar tokens durante um momento. Tenta de novo daqui a alguns segundos; o cliente mantém o token.
Histórico de alterações
- 2026-10-15 — A documentação e a página de apresentação estão agora também em espanhol, francês e português, além de inglês e alemão:
/es/docs/mcp,/fr/docs/mcpe/pt/docs/mcp, cada uma com a sua versão em Markdown. A skill para agentes e otools.jsoncontinuam em inglês. - 2026-10-02 — Uma execução em pausa no limite de créditos termina sozinha ao fim de 30 minutos se ninguém decidir, e
stop_runtermina-a de imediato (resultadoended);get_creditsindica o limite com que uma execução começa e o máximo até onde pode subir;create_projectrecebe o limite da primeira execução eapprove_plana margem própria da construção, sempre só como um número que tu indicas. - 2026-10-01 — As ferramentas aparecem numa tabela por grupo, com a permissão de cada uma e o que pode fazer aos teus dados; exemplos de pedidos tirados de execuções reais; a skill do Chattee (
skill.md, e um zip para o Claude.ai) e otools.json; um assistente aumenta o orçamento de uma execução em pausa só até um total que tu indiques. Claude Code: o comando de configuração adiciona o Chattee para o teu utilizador (--scope user), eclaude mcp login chatteeinicia sessão a partir da shell. Os passos do Claude.ai e do ChatGPT seguem os menus atuais das duas apps. - 2026-09-26 — Primeira versão: 35 ferramentas, OAuth 2.1 com PKCE e tokens de acesso pessoal, as duas revisões do protocolo, elicitação e tarefas MCP para os clientes que as declaram, e um resumo final no fim de cada construção.
Perguntas frequentes
O que pode fazer o servidor MCP do Chattee?
Permite que o teu assistente de IA construa uma app web completa no Chattee a partir de uma descrição: criar o projeto, transmitir-te o plano para aprovares, acompanhar a construção, entregar-te a pré-visualização do Rascunho e publicar em Ao vivo. Também pode ler e alterar ficheiros, gerir variáveis de ambiente e recursos geridos, consultar a base de dados só em leitura e partir de modelos.
Como começo a usar o servidor MCP do Chattee?
Cria uma conta Chattee gratuita, adiciona https://chattee.ai/mcp/connect ao teu assistente (um comando no Claude Code, um conector personalizado no Claude.ai, uma entrada JSON no Cursor), inicia sessão com OAuth ou com um token de acesso pessoal e pede ao teu assistente para construir alguma coisa. A configuração de cada cliente está nesta página.
Que assistentes de IA funcionam com o servidor MCP do Chattee?
O Claude Code, o Claude.ai, o Claude Desktop e as apps móveis do Claude, o Cursor, o Codex CLI, o ChatGPT no Developer mode e os agentes criados com o Claude Agent SDK. Qualquer outro cliente MCP que fale Streamable HTTP também funciona; o mcp-remote faz a ponte para um cliente que só fala stdio.
O servidor MCP do Chattee é gratuito?
Ligar é gratuito. Construir gasta os créditos do teu plano Chattee, tal como construir no navegador, e o plano gratuito inclui créditos para começar. Uma execução que atinge o orçamento fica em pausa; o seu limite sobe só até um total que tu indiques, e os créditos compram-se no builder.
O Chattee implementa e aloja a app?
Sim. Cada projeto tem uma pré-visualização do Rascunho, e ao publicares passa para Ao vivo, num URL em chattee.ai ou no teu próprio domínio, com uma base de dados Postgres gerida, início de sessão, armazenamento de ficheiros e e-mail quando a app precisa deles. O teu assistente nunca lida com servidores, contentores nem scripts de implementação.
O meu assistente pode aprovar um plano sozinho?
Não. Cada plano é-te mostrado e és tu que o aprovas, na tua conversa ou no builder. As descrições das ferramentas proíbem a autoaprovação, e podes limitar um token a permissões só de leitura se quiseres ter a certeza.
O meu assistente pode aumentar o orçamento de uma execução?
Pode, mas só até um total que tu indiques. Uma execução que atinge o orçamento fica em pausa, e o teu assistente dá-te o link para o builder. Se tu próprio lhe disseres um novo total, ele continua a execução exatamente com esse limite, e só o guarda como tua predefinição depois de um sim à parte. Se ninguém decidir, a execução em pausa termina sozinha ao fim de 30 minutos e mantém o trabalho; a tua próxima mensagem continua-o como uma nova execução. O teu assistente nunca compra créditos: os planos e os créditos compram-se no builder.
Qual é a diferença em relação a deixar um agente de programação construir a app sozinho?
Um agente de programação, sozinho, escreve código no teu computador, e o alojamento, a base de dados, o início de sessão, o e-mail e as implementações ficam por tua conta. Através do Chattee, o teu assistente passa a descrição a um builder que planeia, constrói, implementa e aloja a app inteira, enquanto tu aprovas o plano e decides quando ela fica online.
Que versões do protocolo MCP são suportadas?
As duas revisões atuais: 2025-11-25, a que usa sessões e que todos os clientes disponíveis hoje falam, e 2026-07-28, a sem estado, com tarefas e resultados input-required. O transporte é Streamable HTTP. Não há pacote stdio; o mcp-remote faz a ponte para um cliente que precise de um.
Posso usar a chave API da minha conta em vez de um token?
Não. O endpoint recusa a chave da conta de propósito: um token de acesso pessoal tem permissões delimitadas e pode ser revogado, e a chave da conta não tem nenhuma das duas coisas. Cria um token na página Assistentes de IA, ou deixa o cliente iniciar sessão com OAuth.
Quanto tempo demora uma construção?
Uma app completa demora 5–90 minutos; uma pequena edição, poucos. O wait_for_run responde em cada ponto de decisão e, fora disso, ao fim de 240 segundos no máximo, por isso o teu assistente continua a perguntar até a execução precisar de ti.
O que acontece se o meu assistente perder a ligação durante uma construção?
Do lado do Chattee, nada: as execuções vivem no backend, não na ligação. Volta a ligar e chama o wait_for_run outra vez, ou abre a conversa no builder, onde a mesma execução continua.
Esta documentação existe noutras línguas?
Sim: em inglês, em /docs/mcp e /mcp, e também em alemão, espanhol e francês, nos mesmos endereços com /de, /es ou /fr à frente.