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.