Charming MCP Server

Charming is a hosted MCP server that generates, hosts, and updates interactive web apps. Connect it to any MCP-compatible AI client and ask it to build an app. You get back a live URL in seconds.

Remote serverstreamable-http

What is the Charming MCP Server?

Charming is an MCP project maintained in the tambo-labs/charming-mcp repository. The maintainer describes its purpose as “Charming is a hosted MCP server that generates, hosts, and updates interactive web apps. Connect it to any MCP-compatible AI client and ask it to…”. Read the project documentation for the complete scope.

Hosted connection

The maintainer’s configuration uses https://charm.ing/mcp. Check the project’s account and authentication instructions when adding the endpoint to your client.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
create_appStore an agent-authored module (a manifest plus routes) with optional UI and CSS, and render it inline. Requires a description. Give the user the returned…
update_appEdit an existing app by replacing its module/UI/styles/description or applying exact-string edits, with optimistic-concurrency versioning.
get_appRender an existing app inline (where the client supports it) and return its callable API operations and metadata.
get_app_sourceReturn the persisted module, UI, and styles for an existing app plus its current version.
list_appsList the caller's apps plus apps shared with them, newest first, with each app's role, description, and capabilities.
delete_appPermanently delete an app you own. Irreversible and confirmation-gated: it fails closed until re-invoked with confirm: true. Pass purge_storage: true to also…
upload_assetStore a static asset (image, PDF, dataset) so app code stays small; readable back same-origin.
rename_appChange an app's URL slug. The old URL keeps working by redirecting.
set_remixableMark an app remixable so visitors get their own editable copy.
unset_remixableStop allowing remixes; existing remixes survive untouched.
set_starter_promptSet or clear the prompt prefilled in the chat host when a visitor opens a shared app.
query_appRun a read-only backend operation inside an app module.
mutate_appRun a mutating backend operation inside an app module without editing code.
submit_feedbackRecord agent-authored feedback (bugs, enhancements, crash reports) about an app.
list_feedbackList feedback rows for the caller's apps, newest first.
set_handleChange the signed-in user's handle (the first segment of their app URLs).
share_appInvite someone to an app as collaborator (default), end-user (run and write data, cannot edit source), or viewer (read-only). Calling it again with a role…
unshare_appRevoke access for any grantee, whether the invitation is still pending or already accepted.
list_app_sharesList active and pending share invites for one of your apps.
set_publicMake an app public: anyone with the URL can open it with no login and read AND write its shared data. Warn the user that every anonymous visitor shares one…
unset_publicMake a public app private again; anonymous visitors can no longer open it.
set_templatePublish an app as a template so anyone opening its URL gets their own brand-new copy, leaving the original untouched. Pass listed: true to also list it in…
unset_templateStop treating an app as a template: new visitors can no longer copy it, and any public listing is cleared. Existing copies survive.
search_templatesSearch the public Charming template directory by keyword. Check here for an existing template before calling create_app, or when the user asks what templates…
acknowledge_feedback_responsesAcknowledge feedback responses after the agent has processed them.
cancel_app_buildUse this to cancel an accepted app build before it publishes.
create_routineUse this when the user wants an app op to run on its own, on a timer — no chat needs to be open.
delete_routineUse this to stop and remove a Routine.
get_app_buildUse this to inspect an accepted app build without running or publishing it.
list_feedback_responsesFetch unread Charming staff responses to feedback submitted by this authenticated account.
list_routinesUse this to see the caller's Routines across their apps.
read_docsRead Charming documentation without web access.
update_routineUse this to change a Routine's interval, or enable/disable it.
create_webhookUse this when an external service (Zapier, a payment provider, a partner backend) needs to call one of an app's ops directly.
delete_webhookUse this to remove a Webhook.
list_webhooksUse this to see the Webhooks on every app the caller can edit, with delivery state.
update_webhookUse this to rename a Webhook, enable/disable it, or rotate its secret.

How to install the Charming MCP Server

{
  "mcpServers": {
    "charming": {
      "url": "https://charm.ing/mcp",
      "type": "streamableHttp"
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.