Pollen — Managed Agent-Readiness Layer
by elytron.in · remote · no sign-in to list tools · v1.0.0 · published by in.elytron
Manage your Pollen account: sync, enrich, fix, and publish your store's catalog for AI agents.
23 tools: 2 can delete or cancel things, 11 change things and 10 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things11Claude Code: ask: see these tools
- Only reads10Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http pollen https://pollen.elytron.in/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
23 tools
Deletes or cancels 2Claude Code: deny
apply_descriptionReplace ONE product's shopper-visible store description with Pollen's SANITIZED enriched version - the storefrontDescriptionCandidate shown by get_product, NOT the raw agentDescrip…No findings
Why it is in this group
- The name "apply_description" says "apply": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Replace ONE product's shopper-visible store description with Pollen's SANITIZED enriched version - the storefrontDescriptionCandidate shown by get_product, NOT the raw agentDescription (hedged sentences and enrichment meta-commentary are stripped before anything touches the store). This overwrites human-facing content, so you MUST show the merchant that exact candidate first and get their explicit approval before calling. Only applies when the store's current description is thin (<200 chars).
Annotations the server declares
- title: Apply Pollen description
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
update_product_factsWrite merchant-supplied physical facts to the store - the 'only you know this' gaps Pollen can't fill from enrichment: SKU, barcode (GTIN/UPC/EAN), weight, and brand.No findings
Why it is in this group
- The name "update_product_facts" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Write merchant-supplied physical facts to the store - the 'only you know this' gaps Pollen can't fill from enrichment: SKU, barcode (GTIN/UPC/EAN), weight, and brand. Use when the merchant provides values ('all tees weigh 180 grams', 'barcodes from my supplier sheet'). sku/barcode/weight are per-variant: products with multiple variants need variantId (list them via get_product). Up to 25 updates per call; each returns applied + previous values and the product's new score.
Annotations the server declares
- title: Update product facts
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
Changes things 11Claude Code: ask
accept_google_termsResume a greenfield Google connect paused on Terms-of-Service acceptance (status tos_required).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Resume a greenfield Google connect paused on Terms-of-Service acceptance (status tos_required). Only call this after the merchant has confirmed they accept the Google Merchant Center ToS (termsUrl from get_google_connect_status). Creates their Merchant Center account and finishes the handshake.
Annotations the server declares
- title: Accept Google terms
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
apply_fixesRun one of Pollen's automated catalog-wide fixes on the merchant's store: 'seo' (fill empty SEO titles + meta descriptions), 'tags' (add tags from enrichment facts to products with…No findings
Why it is in this group
- The name "apply_fixes" says "apply": a word for a change.
Description, as the server wrote it Run one of Pollen's automated catalog-wide fixes on the merchant's store: 'seo' (fill empty SEO titles + meta descriptions), 'tags' (add tags from enrichment facts to products with fewer than 3), 'altText' (fill empty image alt texts), or 'brand' (fill missing brand from enrichment or the store's own name - Shopify vendor / WC Brands). Fill-only-empty: values the merchant already set are NEVER touched. Queued on the worker - poll get_fix_opportunities fixStatuses for progress.
Annotations the server declares
- title: Apply automated fixes
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
connect_googleStart (or restart) connecting the merchant's Google Merchant Center to Pollen.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start (or restart) connecting the merchant's Google Merchant Center to Pollen. Returns an authUrl that the HUMAN must open in a browser to grant Google consent - an agent cannot click it. After they approve, call get_google_connect_status to see where the flow landed (it may pause on an account picker or Terms-of-Service acceptance; resume with pick_google_account / accept_google_terms). Once active, Pollen publishes the enriched catalog automatically.
Annotations the server declares
- title: Connect Google
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
connect_metaStart (or restart) connecting the merchant's Meta (Facebook/Instagram) Business catalog to Pollen.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start (or restart) connecting the merchant's Meta (Facebook/Instagram) Business catalog to Pollen. Returns an authUrl that the HUMAN must open in a browser to approve via Facebook Login - an agent cannot click it. Afterwards call get_meta_connect_status; the flow may pause on a business or catalog picker (resume with pick_meta_business / pick_meta_catalog). Once active, Pollen publishes the enriched catalog automatically.
Annotations the server declares
- title: Connect Meta
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
enrich_all_productsRun enrichment across the merchant's full catalog (PENDING + FAILED products).No findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run enrichment across the merchant's full catalog (PENDING + FAILED products). Returns a job reference; check `get_pipeline_status` for progress. This is the primary 'do the work' action.
Annotations the server declares
- title: Enrich all products
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
enrich_productRun Pollen's multimodal enrichment on a single product.No findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run Pollen's multimodal enrichment on a single product. Returns immediately with a job reference; check `get_pipeline_status` for progress.
Annotations the server declares
- title: Enrich one product
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
pick_google_accountResume a Google connect paused on the account picker (status selecting_account).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Resume a Google connect paused on the account picker (status selecting_account). Pass the accountId of one of the candidates returned by get_google_connect_status. On success Pollen finishes the handshake and publishes the catalog automatically.
Annotations the server declares
- title: Pick Google account
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
pick_meta_businessResume a Meta connect paused on the business picker (status selecting_business).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Resume a Meta connect paused on the business picker (status selecting_business). Pass the businessId of a candidate from get_meta_connect_status. May advance to the catalog picker (selecting_catalog) or go straight active.
Annotations the server declares
- title: Pick Meta business
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
pick_meta_catalogResume a Meta connect paused on the catalog picker (status selecting_catalog).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Resume a Meta connect paused on the catalog picker (status selecting_catalog). Pass a candidate catalog id, or "__create__" to create a dedicated "Pollen - {shop}" catalog. NEVER pick an existing catalog without the merchant's explicit confirmation - Pollen will manage (add/remove) products in it.
Annotations the server declares
- title: Pick Meta catalog
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
sync_catalogTrigger a full product sync from the merchant's platform (Shopify, WC, BC) into Pollen.No findings
Why it is in this group
- The name "sync_catalog" says "sync": a word for a change.
Description, as the server wrote it Trigger a full product sync from the merchant's platform (Shopify, WC, BC) into Pollen. Use before enrichment if products are missing or out of date.
Annotations the server declares
- title: Sync catalog
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
write_back_to_storePush enriched data back to the merchant's platform as metafields/meta_data.No findings
Why it is in this group
- The name "write_back_to_store" says "write": a word for a change.
Description, as the server wrote it Push enriched data back to the merchant's platform as metafields/meta_data. Run after enrichment completes. Use when the user says 'publish' or 'push to my store'.
Annotations the server declares
- title: Publish to store
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Only reads 10Claude Code: allow
get_account_summaryGet a high-level summary of the merchant's Pollen account: plan, agent-ready %, product counts, last sync/enrichment/writeback timestamps.No findings
Why it is in this group
- The name "get_account_summary" says "get": a word for reading.
Description, as the server wrote it Get a high-level summary of the merchant's Pollen account: plan, agent-ready %, product counts, last sync/enrichment/writeback timestamps. Use this first if the user asks 'where do I stand?' or 'what's my status?'
Annotations the server declares
- title: Account summary
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_deep_auditThe Deep Audit report: the AI answer-visibility test (frozen shopper questions asked to Claude and Gemini - cited or not, with evidence), the catalog fix plan, and the worst-scorin…No findings
Why it is in this group
- The name "get_deep_audit" says "get": a word for reading.
Description, as the server wrote it The Deep Audit report: the AI answer-visibility test (frozen shopper questions asked to Claude and Gemini - cited or not, with evidence), the catalog fix plan, and the worst-scoring products with their missing attributes. Access requires the $9 one-time purchase or any paid plan; without access this returns what the report contains and how to unlock it.
Annotations the server declares
- title: Deep Audit report
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_fix_opportunitiesAnalyze the catalog's agent-readiness gaps and what can be done about each: points lost per score dimension, counts fixable automatically by Pollen (empty SEO meta, missing image a…No findings
Why it is in this group
- The name "get_fix_opportunities" says "get": a word for reading.
Description, as the server wrote it Analyze the catalog's agent-readiness gaps and what can be done about each: points lost per score dimension, counts fixable automatically by Pollen (empty SEO meta, missing image alt text, thin tags), the 'needs you' checklist of physical facts only the merchant knows (SKU, barcode, weight, brand, photos) with product names, and per-product description candidates awaiting merchant approval. Start here when the user asks 'what's wrong?' or 'how do I improve my score?'.
Annotations the server declares
- title: Fix opportunities
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_google_connect_statusWhere the Google connection stands.No findings
Why it is in this group
- The name "get_google_connect_status" says "get": a word for reading.
Description, as the server wrote it Where the Google connection stands. status: none|selecting_account (call pick_google_account with one of the returned candidates)|tos_required (call accept_google_terms)|verifying|awaiting_approval|connector_pending (Pollen is finishing setup server-side - just re-check later)|active|claim_conflict|not_admin|error. When active, includes the live funnel stage (publishing/in_review/live) and approval counts.
Annotations the server declares
- title: Google connect status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_meta_connect_statusWhere the Meta connection stands.No findings
Why it is in this group
- The name "get_meta_connect_status" says "get": a word for reading.
Description, as the server wrote it Where the Meta connection stands. status: none|selecting_business (call pick_meta_business with a candidate)|selecting_catalog (call pick_meta_catalog with a candidate id or "__create__" for a fresh Pollen-managed catalog)|not_admin (the Facebook account isn't a Business admin - reconnect with the right account)|active|error. When active, includes the live funnel stage and approval counts.
Annotations the server declares
- title: Meta connect status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_network_insightsFetch Hive cross-merchant signal for the merchant's catalog: category benchmarks (avg images, top angles, etc.) alongside the merchant's own catalog stats for comparison.No findings
Why it is in this group
- The name "get_network_insights" says "get": a word for reading.
Description, as the server wrote it Fetch Hive cross-merchant signal for the merchant's catalog: category benchmarks (avg images, top angles, etc.) alongside the merchant's own catalog stats for comparison. Use when the user asks 'how do I compare to similar stores?'
Annotations the server declares
- title: Network insights
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_pipeline_statusRead live pipeline status for the merchant's shop: sync, enrichment (with progress), and writeback.No findings
Why it is in this group
- The name "get_pipeline_status" says "get": a word for reading.
Description, as the server wrote it Read live pipeline status for the merchant's shop: sync, enrichment (with progress), and writeback. Use when the user asks 'is anything running?' or 'how far along is enrichment?'
Annotations the server declares
- title: Pipeline status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_productFetch full enriched detail for one product by ID.No findings
Why it is in this group
- The name "get_product" says "get": a word for reading.
Description, as the server wrote it Fetch full enriched detail for one product by ID. Includes the structured facts, agent description, missing attributes, cultural references, and score breakdown.
Annotations the server declares
- title: Get product details
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_setup_instructionsGet the merchant-side setup steps Pollen cannot do via API - platform plugin/extension activation, SEO plugin note, surface connections still pending.No findings
Why it is in this group
- The name "get_setup_instructions" says "get": a word for reading.
Description, as the server wrote it Get the merchant-side setup steps Pollen cannot do via API - platform plugin/extension activation, SEO plugin note, surface connections still pending. Each section says exactly what to do and why. Use when onboarding or when the user asks 'what's left to set up?'.
Annotations the server declares
- title: Setup instructions
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_productsList products in the merchant's catalog with optional filters.No findings
Why it is in this group
- The name "list_products" says "list": a word for reading.
Description, as the server wrote it List products in the merchant's catalog with optional filters. Useful for 'show me products that haven't been enriched yet' or 'find products with the lowest scores'. Returns up to 50 per call.
Annotations the server declares
- title: List products
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http pollen https://pollen.elytron.in/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__pollen__get_account_summary",
"mcp__pollen__get_deep_audit",
"mcp__pollen__list_products",
"mcp__pollen__get_product",
"mcp__pollen__get_pipeline_status",
"mcp__pollen__get_network_insights",
"mcp__pollen__get_fix_opportunities",
"mcp__pollen__get_setup_instructions",
"mcp__pollen__get_google_connect_status",
"mcp__pollen__get_meta_connect_status"
],
"ask": [
"mcp__pollen__sync_catalog",
"mcp__pollen__enrich_product",
"mcp__pollen__enrich_all_products",
"mcp__pollen__write_back_to_store",
"mcp__pollen__apply_fixes",
"mcp__pollen__connect_google",
"mcp__pollen__pick_google_account",
"mcp__pollen__accept_google_terms",
"mcp__pollen__connect_meta",
"mcp__pollen__pick_meta_business",
"mcp__pollen__pick_meta_catalog"
],
"deny": [
"mcp__pollen__apply_description",
"mcp__pollen__update_product_facts"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pollen. Review it before you use it.