Card snapshot
charm.ing
·
2026-07-15 05:55:09 UTC
·
72426ce631a9ca8402092ff7fc44976767d4dd2022591f78ad01d8795a23da81
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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 \u2014 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://usecharming.com/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 a new interactive web app from a natural-language description. Returns a live URL with persistent storage. Backed by MCP tools `create_app` and `update_app`.",
"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 and remix apps",
"description": "Share an app with collaborators, end users, or viewers, manage shares, and configure remixability + starter prompt. Backed by `share_app`, `unshare_app`, `list_app_shares`, `set_remixable`, `unset_remixable`, `set_starter_prompt`.",
"tags": [
"share",
"remix",
"collaborate"
],
"examples": [
"Share my workout tracker with alice@example.com.",
"Make my recipe app remixable by anyone."
]
},
{
"id": "submit_feedback",
"name": "Capture feedback from inside an app",
"description": "Record per-app feedback \u2014 bug reports, feature requests, missing capabilities. Backed by `submit_feedback`, `list_feedback`.",
"tags": [
"feedback",
"report"
],
"examples": [
"Report that the date picker is broken in my journal 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."
]
}
]
}