Skip to content
Charming Docs
Esc
navigateopen⌘Jpreview
On this page

MCP reference

The generated Charming MCP contract for standard MCP Apps clients and ChatGPT.

Use https://charm.ing/mcp for MCP clients. Use https://charm.ing/mcp/chatgpt for a direct ChatGPT integration.

Both endpoints provide the same tool names, inputs, and outputs. ChatGPT receives extra metadata for progress messages and inline app rendering. If you are calling a tool, you can ignore the ChatGPT metadata sections.

Download the complete generated contract to inspect both protocol responses.

Contract sections

  • Server: server identity, instructions, and capabilities.
  • Tools: every input schema, output schema, annotation, execution rule, and metadata field.
  • Prompts: every server prompt and argument.
  • Resources: every UI resource, MIME type, CSP rule, and host-specific field.

Tools

  • create_app: Create a new interactive web app and render it inline.
  • delete_app: Permanently delete a Charming app the caller owns, optionally also purging its stored data.
  • get_app: Fetch an existing app by ID and render it inline.
  • get_app_source: Return an app’s raw persisted source (module, frontend ui script, and styles) plus its current revision for optimistic-concurrency edits.
  • list_app_shares: MCP contract for list_app_shares.
  • list_apps: List the caller’s Charming apps — owned ones plus apps shared with them (accepted invites, marked [shared with you]; a read-only share also reads (view-only)).
  • list_feedback: List feedback rows for the caller’s apps.
  • mutate_app: Run a mutating backend operation on a Charming app and return its result, without editing code.
  • query_app: Run a read-only backend operation on a Charming app and return its result, without editing code.
  • rename_app: Change a Charming app’s URL slug — the human-readable, URL-safe name, distinct from its title/displayName and from its machine manifest id.
  • set_handle: MCP contract for set_handle.
  • set_public: Make a Charming app PUBLIC: anyone who opens its URL can use it with no login and read AND write its SHARED data.
  • set_remixable: Mark a Charming app as remixable.
  • set_starter_prompt: MCP contract for set_starter_prompt.
  • share_app: Invite someone (by Charming handle or email) to one of your apps, OR change the role of someone you already invited.
  • submit_feedback: Record agent-authored feedback about a Charming app.
  • unset_public: Make a public Charming app PRIVATE again.
  • unset_remixable: Stop allowing remixes of a Charming app.
  • unshare_app: Revoke another user’s access to one of your apps — removes a pending invitation or an accepted collaborator grant.
  • update_app: Update an existing Charming app and render the fresh revision inline.
  • upload_asset: UPLOAD A STATIC ASSET TO AN APP so app code stays small and the app reads it back same-origin.

Was this page helpful?