Typed UI vocabulary for AI agents using the a2ui protocol — 474 atoms an agent composes into real rendered interfaces across web, Google Meet, Apps Script, Google Chat and MCP Apps. MCP server, no signup.
- capability exposure inferred + 35
- recent drift inferred + 20
- tool safety inferred + 17
- trust mitigators mixed − 3
inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
grade last moved 3d ago · see ecosystem CVEs →
- D · 64 → D · 69
- C · 49 → D · 64
No known CVEs for this server.
- high dangerous code
dynamic exec: vm exec, new Function(), indirect eval
- medium dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- medium dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- medium dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- medium toxic flow (lethal trifecta)
lethal trifecta reachable across this server's tool + source surface: private-data access + untrusted-content ingestion + network exfil (a leg is proven only in the analyzed source)
analyzed commit 728cd8d · analyzer v33 · 4h ago
skills & prompt files 22
- agent-rules a2uicatalog-a2ui-728cd8d/AGENTS.md
- agent-rules a2uicatalog-a2ui-728cd8d/CLAUDE.md
- skill a2uicatalog-a2ui-728cd8d/SKILL.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/00-schema-generator.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/01-extraction-generic-demo.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/01-extraction.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/01b-grounding-check.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/02-suitability.md
- prompt-file a2uicatalog-a2ui-728cd8d/knowledge-catalogue/prompts/03-transformer.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/a2ui-builder-gem-offline.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/a2ui-builder-gem.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/atom_generator.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/perplexity_batch_blog_atoms.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/training-md-api.md
- prompt-file a2uicatalog-a2ui-728cd8d/prompts/training-md-gem.md
- agent-rules a2uicatalog-a2ui-728cd8d/public/agents.md
- prompt-file a2uicatalog-a2ui-728cd8d/public/prompts/a2ui-builder-gem-offline.md
- prompt-file a2uicatalog-a2ui-728cd8d/public/prompts/a2ui-builder-gem.md
- prompt-file a2uicatalog-a2ui-728cd8d/public/prompts/training-md-gem.md
- skill a2uicatalog-a2ui-728cd8d/skills/a2ui-catalog/SKILL.md
- skill a2uicatalog-a2ui-728cd8d/skills/a2ui-compose/SKILL.md
- skill a2uicatalog-a2ui-728cd8d/skills/a2ui-mcp/SKILL.md
danger signals8
- dynamic code execution vm exec a2uicatalog-a2ui-728cd8d/apps-script-surface/gas-fakes-schema-renderer-private/local_render.mjs :23
vm.runInThisContext(code, { filename: f }); - dynamic code execution vm exec a2uicatalog-a2ui-728cd8d/apps-script-surface/gas-schema-renderer/local_serve.js :36
vm.runInThisContext(code, { filename: f }); - dynamic code execution new Function() a2uicatalog-a2ui-728cd8d/scripts/test_a2ui_updates_js.mjs :14
new Function("globalThis_", js.replace(/typeof window !== 'undefined' \? window : this/, "globalThis_"))(g); - dynamic code execution indirect eval a2uicatalog-a2ui-728cd8d/scripts/test_parser_parity.mjs :22
(0, eval)(readFileSync(join(ROOT, "apps-script-surface/gas-wired-renderer/training_parser.gs"), "utf8")); - dynamic code execution indirect eval a2uicatalog-a2ui-728cd8d/scripts/test_progress_persistence.mjs :31
(0, eval)(grab('_progressKey_') + '\n' + grab('a2uiLoadProgress') + '\n' + grab('a2uiSaveProgress')); - dynamic code execution indirect eval a2uicatalog-a2ui-728cd8d/scripts/test_roadmap_parity.mjs :22
(0, eval)(readFileSync(join(ROOT, "apps-script-surface/parsers/roadmap_parser.gs"), "utf8")); - over-broad OAuth scope https://mail.google.com/ a2uicatalog-a2ui-728cd8d/apps-script-surface/gas-fakes-schema-renderer-private/atoms_workspace.js :442
var gmailUrl = 'https://mail.google.com/mail/u/0/#inbox/' + em.id; - over-broad OAuth scope https://mail.google.com/ a2uicatalog-a2ui-728cd8d/apps-script-surface/gas-schema-renderer/atoms_workspace.js :442
var gmailUrl = 'https://mail.google.com/mail/u/0/#inbox/' + em.id;
- recent drift +20 capability drift →
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of a2uicatalog.