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
acknowledge_feedback_responses: Acknowledge feedback responses after the agent has processed them.cancel_app_build: Use this to cancel an accepted app build before it publishes.create_app: Create a new interactive web app and render it inline.create_routine: Use this when the user wants an app op to run on its own, on a timer — no chat needs to be open.delete_app: Permanently delete a Charming app the caller owns, optionally also purging its stored data.delete_routine: Use this to stop and remove a Routine.get_app: Fetch an existing app by ID and render it inline.get_app_build: Use this to inspect an accepted app build without running or publishing it.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.list_feedback_responses: Fetch unread Charming staff responses to feedback submitted by this authenticated account.list_routines: Use this to see the caller’s Routines across their 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.read_docs: Read Charming documentation without web access.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.search_templates: Search the public Charming Template directory by keyword.set_handle: MCP contract for set_handle.set_public: Make a Charming app Public: anyone with the URL can open the live hosted App Viewer with no login and read its data.set_remixable: Deprecated: useset_templateinstead.set_starter_prompt: MCP contract for set_starter_prompt.set_template: Enable a Charming Template for people who can already read the source App, and optionally publish it in Charming’s public Template directory so anyone can discover and copy it.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: Deprecated: useunset_templateinstead (identical effect).unset_template: Stop treating a Charming app as a template.unshare_app: Revoke another user’s access to one of your apps — removes a pending invitation or an accepted collaborator grant.update_app: Use this to update an existing Charming app identified by UUID.update_routine: Use this to change a Routine’sinterval, or enable/disable it.upload_asset: UPLOAD A STATIC ASSET TO AN APP so app code stays small and the app reads it back same-origin.