Charming

Servidor MCP Charming — gere e hospede aplicativos web interativos via MCP

Documentação

Charming

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

ClienteEndpoint
Claude, Claude Code, Cursor, Codex, Gemini CLI e a maioria dos clientes MCPhttps://charm.ing/mcp
ChatGPThttps://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.

FerramentaO que faz
create_appArmazena 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_appEdita 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_appRenderiza um aplicativo existente inline (onde o cliente suporta) e retorna suas operações de API chamáveis e metadados.
get_app_sourceRetorna o módulo, UI e estilos persistidos de um aplicativo existente, além de sua versão atual.
list_appsLista 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_appExclui 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_assetArmazena 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_appAltera o slug de URL de um aplicativo. A URL antiga continua funcionando via redirecionamento.
set_remixableMarca um aplicativo como remixável para que visitantes obtenham sua própria cópia editável.
unset_remixablePara de permitir remixes; remixes existentes permanecem intactos.
set_starter_promptDefine ou limpa o prompt pré-preenchido no host de chat quando um visitante abre um aplicativo compartilhado.
query_appExecuta uma operação de backend somente leitura dentro de um módulo de aplicativo.
mutate_appExecuta uma operação de backend mutável dentro de um módulo de aplicativo sem editar código.
submit_feedbackRegistra feedback criado por agente (bugs, melhorias, relatórios de falha) sobre um aplicativo.
list_feedbackLista linhas de feedback para os aplicativos do chamador, do mais novo ao mais antigo.
set_handleAltera o handle do usuário conectado (o primeiro segmento das URLs de seus aplicativos).
share_appConvida 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_appRevoga acesso para qualquer beneficiário, seja o convite ainda pendente ou já aceito.
list_app_sharesLista convites de compartilhamento ativos e pendentes para um dos seus aplicativos.
set_publicTorna 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_publicTorna um aplicativo público privado novamente; visitantes anônimos não podem mais abri-lo.
set_templatePublica 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_templatePara 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_templatesPesquisa 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_responsesReconhece respostas de feedback depois que o agente as processou.
cancel_app_buildUse para cancelar uma construção de aplicativo aceita antes de publicar.
create_routineUse quando o usuário quiser que uma operação de aplicativo rode sozinha, em um temporizador — sem necessidade de chat aberto.
delete_routineUse para parar e remover uma Rotina.
get_app_buildUse para inspecionar uma construção de aplicativo aceita sem executá-la ou publicá-la.
list_feedback_responsesBusca respostas não lidas da equipe do Charming para feedback enviado por esta conta autenticada.
list_routinesUse para ver as Rotinas do chamador em seus aplicativos.
read_docsLê a documentação do Charming sem acesso à web.
update_routineUse para alterar o interval de uma Rotina, ou habilitar/desabilitá-la.
create_webhookUse quando um serviço externo (Zapier, um provedor de pagamento, um backend parceiro) precisar chamar uma das operações de um aplicativo diretamente.
delete_webhookUse para remover um Webhook.
list_webhooksUse para ver os Webhooks em cada aplicativo que o chamador pode editar, com estado de entrega.
update_webhookUse 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.

TipoArtefato
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

Publicador

Publicado por Tambo.