MCP server for Pomelli (Google Labs) via Chrome DevTools Protocol. Exposes Pomelli as MCP tools by driving a logged-in Chrome session. No credentials handled, no API keys — bridges the Pomelli web UI.
pomelli-mcp exposes 12 browser automation tools with minimal documentation. Tool names are action-oriented (pomelli_click, pomelli_fill, pomelli_goto) but descriptions are inconsistent in depth. Most tools lack parameter descriptions entirely, e.g., pomelli_fill has 'value' and 'selector' params with descriptions, but pomelli_click's 'text' param has only a bare description. No output schemas are documented. Error handling is absent; tools will fail silently or return raw exceptions. The server is STDIO-only, capping protocol readiness at 50. Overall definition quality is below median for production tools.
Click the visible element whose text/aria-label contains `text` (case-insensitive).
Create a full campaign from a text brief: fill prompt → Generate Brief → Confirm → returns the campaign URL. Creatives keep rendering server-side for a few minutes; call pomelli_wait_done before downloading assets. Tip: Pomelli's UI is English-only, but adding 'Write the copy in Spanish' (or any language) to the brief usually works.
Download all large visible images (generated assets) to `out_dir`. Scroll/lazy-load is NOT handled here — use pomelli_goto + pomelli_wait_done first.
Extract the Business DNA in Pomelli from a business website URL (full flow: paste URL → submit → wait for analysis). Takes 1-5 minutes.
Fill the first visible input/textarea (or the given CSS `selector`) with `value`.
Navigate the Pomelli tab to a URL (e.g. a specific campaign).
No output schemas documented for any tool. LLMs cannot predict return structure, forcing them to guess at field names and types for downstream tool chaining.
Parameter descriptions are minimal or missing. 'text' in pomelli_click lacks guidance on case sensitivity and aria-label matching; 'expr' in pomelli_js has no examples or constraints.
No error handling or recovery guidance. Tools will fail (e.g., element not found, timeout) with no actionable error messages to guide LLM retry or fallback logic.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Evaluate arbitrary JS on the Pomelli page (escape hatch for UI mapping).
Press a key on the page (Enter, Escape, Tab, Control+a...).
Full visible text of the current page (to read DNA, campaign ideas, copy).
Dump of visible Pomelli UI elements (buttons, inputs, headings) + screenshot. Use this to decide the next click/fill.
Pomelli session state: logged in, geo availability, ready. Includes a screenshot path.
Wait until Pomelli finishes generating ('generating/creating/...' disappears). Always call this before downloading assets — grabbing early returns stale content.
Tool descriptions lack context on prerequisites and sequencing. pomelli_download_assets warns 'Scroll/lazy-load is NOT handled here' but does not explain what tools to call first or how to detect readiness.
pomelli_js exposes arbitrary JavaScript evaluation with no constraints or validation. This is a security risk and invites LLM misuse without guardrails.