{"id":498828,"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.","card_url":"https://charm.ing/.well-known/agent-card.json","endpoint":"https://charm.ing/mcp","protocol_version":"0.3.0","first_seen":"2026-10-28T14:50:49.210707+00:00","last_verified":"2026-10-28T14:50:49.210707+00:00","card":{"url":"https://charm.ing/mcp","name":"Charming","skills":[{"id":"build_app","name":"Build a new app","tags":["create","build","scaffold"],"examples":["Build me a daily mood tracker.","Create an app that tracks my reading list."],"description":"Author an interactive web app or start from an existing one. Saves return a live URL. `copy_app` copies an app you can edit or a Template, optionally with its data. Backed by MCP tools `create_app`, `update_app`, `copy_app`, and `search_templates`."},{"id":"manage_apps","name":"List and inspect apps","tags":["list","inspect","manage"],"examples":["Show me all my Charming apps.","Rename my protein tracker to nutrition log."],"description":"List the caller's apps, fetch source/metadata, read the problem behind a \"Fix with agent\" handoff, rename, and delete. Backed by `list_apps`, `get_app`, `get_app_source`, `resolve_handoff`, `rename_app`, `delete_app`."},{"id":"call_app","name":"Call an app's operations","tags":["call","query","mutate"],"examples":["Log today's meal in my food tracker.","What is currently on my reading list?"],"description":"Read or mutate an app's stored state via the operations it declares. Backed by `query_app`, `mutate_app`, `upload_asset`."},{"id":"share_app","name":"Share apps and publish templates","tags":["share","template","collaborate"],"examples":["Share my workout tracker with alice@example.com.","List my recipe app as a Template anyone can copy."],"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`."},{"id":"submit_feedback","name":"Capture feedback from inside an app","tags":["feedback","report"],"examples":["Report that the date picker is broken in my journal 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`."},{"id":"read_docs","name":"Read Charming documentation","tags":["docs","reference","read"],"examples":["How do I add storage to a Charming app?","Read the Charming design guide before building my app."],"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`."},{"id":"routines","name":"Run an app on a schedule","tags":["schedule","routine","automation"],"examples":["Refresh my dashboard data every morning.","Turn off the weekly digest on my reading list app."],"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`."},{"id":"webhooks","name":"Let another service call an app","tags":["webhook","integration","automation"],"examples":["Let my signup form add each new lead to my CRM app.","Rotate the secret on the intake webhook for my orders app."],"description":"Give one of an app's own operations a delivery URL and secret so an external service can call it with JSON, and manage those Webhooks. Backed by `create_webhook`, `list_webhooks`, `update_webhook`, `delete_webhook`."},{"id":"profile","name":"Manage account profile","tags":["profile","handle","account"],"examples":["Set my Charming handle to garrytan."],"description":"Set the user's public handle for app sharing. Backed by `set_handle`."}],"version":"1.0.0","provider":{"url":"https://usecharming.com","organization":"Tambo Labs"},"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.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"documentationUrl":"https://charm.ing/docs/llms-full.txt","defaultInputModes":["text/plain"],"defaultOutputModes":["application/json","text/uri-list"]},"status":"verified","publisher_domain":"charm.ing","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-28T14:50:49.210707+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://charm.ing/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-28T14:50:49.210707+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[{"card_url":"https://usecharming.com/.well-known/agent-card.json"}],"history_urls":["https://charm.ing/.well-known/agent-card.json","https://usecharming.com/.well-known/agent-card.json"],"skills":[{"skill_id":"build_app","name":"Build a new app","description":"Author an interactive web app or start from an existing one. Saves return a live URL. `copy_app` copies an app you can edit or a Template, optionally with its data. Backed by MCP tools `create_app`, `update_app`, `copy_app`, and `search_templates`.","tags":["create","build","scaffold"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_id":"webhooks","name":"Let another service call an app","description":"Give one of an app's own operations a delivery URL and secret so an external service can call it with JSON, and manage those Webhooks. Backed by `create_webhook`, `list_webhooks`, `update_webhook`, `delete_webhook`.","tags":["webhook","integration","automation"],"quality_warning":false},{"skill_id":"manage_apps","name":"List and inspect apps","description":"List the caller's apps, fetch source/metadata, read the problem behind a \"Fix with agent\" handoff, rename, and delete. Backed by `list_apps`, `get_app`, `get_app_source`, `resolve_handoff`, `rename_app`, `delete_app`.","tags":["list","inspect","manage"],"quality_warning":false},{"skill_id":"profile","name":"Manage account profile","description":"Set the user's public handle for app sharing. Backed by `set_handle`.","tags":["profile","handle","account"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":2,"passed":2},"recent_checks":[{"card_url":"https://usecharming.com/.well-known/agent-card.json","checked_at":"2026-10-28T14:52:54.945713+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://charm.ing/.well-known/agent-card.json","checked_at":"2026-10-28T14:50:49.210707+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-28T14:50:49.210707+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-28T14:50:49.210707+00:00","endpoint":"https://charm.ing/mcp","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"auth_required","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","request_diagnostics":{"requests":[{"path":"/mcp","allow":[],"method":"POST","status":401,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://charm.ing/mcp","selected_connection_interface":{"url":"https://charm.ing/mcp","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://charm.ing/mcp","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"auth_required","checked_at":"2026-10-28T14:50:49.210707+00:00","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://charm.ing/.well-known/agent-card.json","last_successful_card_check":"2026-10-28T14:50:49.210707+00:00","latest_card_check":{"checked_at":"2026-10-28T14:50:49.210707+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-28T14:50:49.210707+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-28T14:50:49.210707+00:00","endpoint_tls_reachable":true,"protocol_check_state":"auth_required","protocol_checked_at":"2026-10-28T14:50:49.210707+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":498828,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/498828/repair","publisher_report_url":"https://localmark.ai/publishers/charm.ing/repair","diagnostics_json_url":"https://localmark.ai/publishers/charm.ing/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/charm.ing/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}