Charming
Servidor MCP Charming — gere e hospede aplicativos web interativos via MCP
Documentação
Servidor MCP Charming
Charming é um servidor MCP hospedado que gera, hospeda e atualiza aplicativos web interativos. Conecte-o a qualquer cliente de IA compatível com MCP e peça para ele criar um aplicativo. Você recebe uma URL ao vivo em segundos.
Conectar
| Cliente | Endpoint |
|---|---|
| Claude, Claude Code, Cursor, Codex, Gemini CLI e a maioria dos clientes MCP | https://charm.ing/mcp |
| ChatGPT | https://charm.ing/mcp/chatgpt (um clique via listagem do Charming no diretório de Apps do ChatGPT; esta string de colagem é o fallback do Modo Desenvolvedor) |
A maioria dos clientes MCP pode usar esta configuração remota:
{
"mcpServers": {
"charming": {
"url": "https://charm.ing/mcp",
"type": "streamableHttp"
}
}
}
Os endpoints MCP exigem um token de portador, e OAuth com Registro Dinâmico de Cliente inicializa um automaticamente: clientes que suportam isso mostram uma tela de consentimento única, sem necessidade de colar chave de API. Criação anônima sem token está disponível apenas no caminho HTTP. Guia de autenticação: usecharming.com/auth.md.
Para strings de colagem por cliente e etapas de configuração, veja usecharming.com/clients.txt.
Prompt Inicial
Depois que o Charming estiver conectado, cole isto para iniciar uma sessão de construção:
Help me figure out what to build. Look at what you know about me and suggest 2-3 apps that fit, or ask me up to 3 short questions to find an idea.
Read https://usecharming.com/start.md then help me create my first app.
Ferramentas
O Charming expõe 37 ferramentas. Clientes conectados as descobrem automaticamente via tools/list.
| Ferramenta | O que faz |
|---|---|
create_app | Armazena um módulo criado por agente (um manifest mais routes) com UI e CSS opcionais, e o renderiza inline. Requer um description. Dê ao usuário o shareUrl retornado sem token, nunca o url apenas para máquina. |
update_app | Edita um aplicativo existente substituindo seu módulo/UI/estilos/descrição ou aplicando edições de string exatas, com versionamento de concorrência otimista. |
get_app | Renderiza um aplicativo existente inline (onde o cliente suporta) e retorna suas operações de API chamáveis e metadados. |
get_app_source | Retorna o módulo, UI e estilos persistidos de um aplicativo existente, além de sua versão atual. |
list_apps | Lista os aplicativos do chamador mais os compartilhados com ele, do mais novo ao mais antigo, com função, descrição e capacidades de cada um. |
delete_app | Exclui permanentemente um aplicativo que você possui. Irreversível e com confirmação obrigatória: falha fechado até ser re-invocado com confirm: true. Passe purge_storage: true para também apagar o estado armazenado. |
upload_asset | Armazena um ativo estático (imagem, PDF, conjunto de dados) para manter o código do aplicativo pequeno; legível de volta na mesma origem. |
rename_app | Altera o slug de URL de um aplicativo. A URL antiga continua funcionando via redirecionamento. |
set_remixable | Marca um aplicativo como remixável para que visitantes obtenham sua própria cópia editável. |
unset_remixable | Para de permitir remixes; remixes existentes permanecem intactos. |
set_starter_prompt | Define ou limpa o prompt pré-preenchido no host de chat quando um visitante abre um aplicativo compartilhado. |
query_app | Executa uma operação de backend somente leitura dentro de um módulo de aplicativo. |
mutate_app | Executa uma operação de backend mutável dentro de um módulo de aplicativo sem editar código. |
submit_feedback | Registra feedback criado por agente (bugs, melhorias, relatórios de falha) sobre um aplicativo. |
list_feedback | Lista linhas de feedback para os aplicativos do chamador, do mais novo ao mais antigo. |
set_handle | Altera o handle do usuário conectado (o primeiro segmento das URLs de seus aplicativos). |
share_app | Convida alguém para um aplicativo como collaborator (padrão), end-user (executar e gravar dados, não pode editar fonte) ou viewer (somente leitura). Chamar novamente com uma função altera a função da pessoa no local. |
unshare_app | Revoga acesso para qualquer beneficiário, seja o convite ainda pendente ou já aceito. |
list_app_shares | Lista convites de compartilhamento ativos e pendentes para um dos seus aplicativos. |
set_public | Torna um aplicativo público: qualquer pessoa com a URL pode abri-lo sem login e ler E gravar seus dados compartilhados. Avise o usuário que cada visitante anônimo compartilha um único pool de dados, então qualquer pessoa com a URL pode sobrescrever ou apagar tudo. |
unset_public | Torna um aplicativo público privado novamente; visitantes anônimos não podem mais abri-lo. |
set_template | Publica um aplicativo como modelo para que qualquer pessoa que abra sua URL receba sua própria cópia nova, deixando o original intacto. Passe listed: true para também listá-lo no diretório público. Omitir listed deixa o estado atual da listagem inalterado. O aplicativo deve ser reivindicado primeiro. |
unset_template | Para de tratar um aplicativo como modelo: novos visitantes não podem mais copiá-lo, e qualquer listagem pública é limpa. Cópias existentes permanecem. |
search_templates | Pesquisa o diretório público de modelos do Charming por palavra-chave. Verifique aqui se há um modelo existente antes de chamar create_app, ou quando o usuário perguntar quais modelos existem. Cada resultado traz um copyUrl que um visitante pode abrir para criar sua própria cópia independente sem login. |
acknowledge_feedback_responses | Reconhece respostas de feedback depois que o agente as processou. |
cancel_app_build | Use para cancelar uma construção de aplicativo aceita antes de publicar. |
create_routine | Use quando o usuário quiser que uma operação de aplicativo rode sozinha, em um temporizador — sem necessidade de chat aberto. |
delete_routine | Use para parar e remover uma Rotina. |
get_app_build | Use para inspecionar uma construção de aplicativo aceita sem executá-la ou publicá-la. |
list_feedback_responses | Busca respostas não lidas da equipe do Charming para feedback enviado por esta conta autenticada. |
list_routines | Use para ver as Rotinas do chamador em seus aplicativos. |
read_docs | Lê a documentação do Charming sem acesso à web. |
update_routine | Use para alterar o interval de uma Rotina, ou habilitar/desabilitá-la. |
create_webhook | Use quando um serviço externo (Zapier, um provedor de pagamento, um backend parceiro) precisar chamar uma das operações de um aplicativo diretamente. |
delete_webhook | Use para remover um Webhook. |
list_webhooks | Use para ver os Webhooks em cada aplicativo que o chamador pode editar, com estado de entrega. |
update_webhook | Use para renomear um Webhook, habilitar/desabilitá-lo ou rotacionar seu segredo. |
Uso com um agente de codificação
Trabalhando no Codex, Claude Code, Cursor ou outro agente de codificação de IA? Instale a habilidade opcional de autoria do Charming em skills.sh com npx skills add tambo-labs/charming-mcp. Isso instala orientações de autoria; não conecta o servidor MCP.
Ela ensina ao agente o contrato de construção e o fluxo de trabalho do Charming. A habilidade em si é SKILL.md; AGENTS.md tem instruções de conexão e autoria para qualquer agente de codificação de IA. Usuários do Codex podem, em vez disso, instalar o plugin Charming Codex incluído.
Cursor
O Cursor lê regras de projeto de .cursor/rules/. Coloque .cursor/rules/charming.mdc no seu projeto (ou copie o corpo dele em um .cursorrules raiz legado) e o agente do Cursor usará o Charming (URL real, armazenamento e renderização inline) sempre que você pedir um aplicativo que queira manter. A regra aponta para os documentos servidos; ela não duplica o contrato.
Distribuição
Este repositório é a fonte canônica para cada pacote público de integração do Charming. Artefatos neutros de plataforma são editados manualmente; adaptadores de plataforma são gerados a partir deles, então um fato vive em exatamente um arquivo.
| Tipo | Artefato |
|---|---|
| Neutro de plataforma (edite estes) | canonical/facts.json, SKILL.md, AGENTS.md, .cursor/rules/charming.mdc, charming-icon.png |
| Adaptador (gerado) | plugins/cursor/charming, plugins/claude-code/charming, plugins/codex/charming, plugins/agent-plugins/charming (um pacote portátil Agent Plugins v1.0.0), gemini-extension.json, GEMINI.md, os três catálogos de marketplace |
npm ci # install ajv, the schema validator
node scripts/build-packages.mjs # regenerate every adapter
node scripts/build-packages.mjs --check # fail on drift (runs in CI)
Os adaptadores ainda não foram publicados; publicar cada um é rastreado separadamente. Veja DISTRIBUTION.md para o layout, as verificações de deriva e como o monorepo do Charming propõe mudanças aqui.
Documentação
- Habilidade de agente:
SKILL.md· guia de agente de codificação:AGENTS.md· regra do Cursor:.cursor/rules/charming.mdc - Guia completo de autoria: usecharming.com/llms-full.txt
- Autenticação e pareamento: usecharming.com/auth.md · limites: usecharming.com/pricing.md
- Especificação OpenAPI: charm.ing/.well-known/openapi.json
- Documentos: usecharming.com/docs
Publicador
Publicado por Tambo.