{"name":"Charming","description":"Charming hosts personal interactive web apps for agents. Each app has a real URL, persistent KV storage, and an HTTP/MCP API. Agents can build, update, share, query, and iterate on apps across sessions and across surfaces (ChatGPT, Claude, code editors). Interaction is via MCP (see `url`) or the HTTP API documented at https://charm.ing/.well-known/openapi.json — Charming does not currently expose an A2A JSON-RPC endpoint.","url":"https://charm.ing/mcp","version":"1.0.0","provider":{"organization":"Tambo Labs","url":"https://usecharming.com"},"documentationUrl":"https://charm.ing/docs/llms-full.txt","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"defaultInputModes":["text/plain"],"defaultOutputModes":["application/json","text/uri-list"],"skills":[{"id":"build_app","name":"Build a new app","description":"Author an interactive web app or start from a published one. Existing-contract saves return a live URL; ESM saves return a build ID to inspect or cancel before publication. Backed by MCP tools `create_app`, `update_app`, `get_app_build`, `cancel_app_build`, and `search_templates`.","tags":["create","build","scaffold"],"examples":["Build me a daily mood tracker.","Create an app that tracks my reading list."]},{"id":"manage_apps","name":"List and inspect apps","description":"List the caller's apps, fetch source/metadata, rename, and delete. Backed by `list_apps`, `get_app`, `get_app_source`, `rename_app`, `delete_app`.","tags":["list","inspect","manage"],"examples":["Show me all my Charming apps.","Rename my protein tracker to nutrition log."]},{"id":"call_app","name":"Call an app's operations","description":"Read or mutate an app's stored state via the operations it declares. Backed by `query_app`, `mutate_app`, `upload_asset`.","tags":["call","query","mutate"],"examples":["Log today's meal in my food tracker.","What is currently on my reading list?"]},{"id":"share_app","name":"Share apps and publish templates","description":"Share an app with collaborators, end users, or viewers, manage shares, open it to anyone with the link, and configure whether it is a template + starter prompt. Backed by `share_app`, `unshare_app`, `list_app_shares`, `set_public`, `unset_public`, `set_template`, `unset_template`, `set_starter_prompt`, and the deprecated aliases `set_remixable` / `unset_remixable`.","tags":["share","template","collaborate"],"examples":["Share my workout tracker with alice@example.com.","List my recipe app as a Template anyone can copy."]},{"id":"submit_feedback","name":"Capture feedback from inside an app","description":"Record per-app feedback — bug reports, feature requests, missing capabilities — and read the Charming team's replies. Backed by `submit_feedback`, `list_feedback`, `list_feedback_responses`, `acknowledge_feedback_responses`.","tags":["feedback","report"],"examples":["Report that the date picker is broken in my journal app."]},{"id":"read_docs","name":"Read Charming documentation","description":"Read the public Charming docs over the same connection, with no web access: the index, a capability or reference page, or the full authoring manual. Backed by `read_docs`.","tags":["docs","reference","read"],"examples":["How do I add storage to a Charming app?","Read the Charming design guide before building my app."]},{"id":"routines","name":"Run an app on a schedule","description":"Run one of an app's own operations on an hourly, daily, or weekly timer with no chat open, and manage those schedules. Backed by `create_routine`, `list_routines`, `update_routine`, `delete_routine`.","tags":["schedule","routine","automation"],"examples":["Refresh my dashboard data every morning.","Turn off the weekly digest on my reading list app."]},{"id":"profile","name":"Manage account profile","description":"Set the user's public handle for app sharing. Backed by `set_handle`.","tags":["profile","handle","account"],"examples":["Set my Charming handle to garrytan."]}]}