MCP 서버

Pollen — Managed Agent-Readiness Layer

in.elytron/pollen

이 MCP로 할 수 있는 일

Synchronizes, enriches, audits, fixes, and publishes merchant product catalogs to improve AI readiness and distribution through Google and Meta commerce channels.

accept_google_terms
Accept Google terms
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.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
apply_description
Apply Pollen description
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).
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'string', 'description': 'Pollen internal product ID'}}, 'additionalProperties': False}
apply_fixes
Apply automated fixes
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.
입력 스키마
{'type': 'object', 'required': ['fixType'], 'properties': {'fixType': {'enum': ['seo', 'tags', 'altText', 'brand'], 'type': 'string'}}, 'additionalProperties': False}
connect_google
Connect Google
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.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
connect_meta
Connect Meta
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.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
enrich_all_products
Enrich all products
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.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
enrich_product
Enrich one product
Run Pollen's multimodal enrichment on a single product. Returns immediately with a job reference; check `get_pipeline_status` for progress.
입력 스키마
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'string', 'description': 'Pollen internal product ID'}}, 'additionalProperties': False}
get_account_summary
Account summary
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?'
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_deep_audit
Deep Audit report
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.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_fix_opportunities
Fix opportunities
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?'.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_google_connect_status
Google connect status
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.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_meta_connect_status
Meta connect status
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.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_network_insights
Network insights
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?'
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Optional category to benchmark against (apparel, beauty, home_decor, food_beverage, furniture, jewelry, footwear, fitness, electronics, diy_hardware). If omitted, returns insights across the most common category in the catalog.'}}, 'additionalProperties': False}
get_pipeline_status
Pipeline status
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?'
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_product
Get product details
Fetch full enriched detail for one product by ID. Includes the structured facts, agent description, missing attributes, cultural references, and score breakdown.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['productId'], 'properties': {'productId': {'type': 'string', 'description': 'Pollen internal product ID'}}, 'additionalProperties': False}
get_setup_instructions
Setup instructions
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?'.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_products
List products
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.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'search': {'type': 'string', 'description': 'Match against title/vendor/type'}, 'sortBy': {'enum': ['score_asc', 'score_desc', 'updated_desc'], 'type': 'string', 'default': 'updated_desc'}, 'enrichmentStatus': {'enum': ['PENDING', 'COMPLETED', 'FAILED', 'RUNNING'], 'type': 'string', 'description': 'Filter by enrichment status'}}, 'additionalProperties': False}
pick_google_account
Pick Google account
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.
입력 스키마
{'type': 'object', 'required': ['accountId'], 'properties': {'accountId': {'type': 'string', 'description': 'Merchant Center account ID from the candidates list'}}, 'additionalProperties': False}
pick_meta_business
Pick Meta business
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.
입력 스키마
{'type': 'object', 'required': ['businessId'], 'properties': {'businessId': {'type': 'string', 'description': 'Business portfolio ID from the candidates list'}}, 'additionalProperties': False}
pick_meta_catalog
Pick Meta catalog
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.
입력 스키마
{'type': 'object', 'required': ['catalogId'], 'properties': {'catalogId': {'type': 'string', 'description': 'Catalog ID from the candidates list, or "__create__"'}}, 'additionalProperties': False}
set_llm_provider
Set LLM provider
Set the LLM provider used for enrichment. Affects only future runs.
입력 스키마
{'type': 'object', 'required': ['provider'], 'properties': {'provider': {'enum': ['gemini', 'claude'], 'type': 'string', 'description': 'LLM provider'}}, 'additionalProperties': False}
sync_catalog
Sync catalog
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.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
update_product_facts
Update product facts
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.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['updates'], 'properties': {'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['productId'], 'properties': {'sku': {'type': 'string'}, 'brand': {'type': 'string', 'description': 'Brand name - written to Shopify vendor / WooCommerce Brands (WC 9.6+)'}, 'weight': {'type': 'number'}, 'barcode': {'type': 'string', 'description': 'GTIN/UPC/EAN'}, 'productId': {'type': 'string', 'description': 'Pollen internal product ID'}, 'variantId': {'type': 'string', 'description': 'Pollen internal variant ID - required when the product has multiple variants and sku/barcode/weight are being set'}, 'weightUnit': {'enum': ['g', 'kg', 'oz', 'lb'], 'type': 'string', 'description': "Shopify only (default g). WooCommerce uses the store's configured unit."}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1}}, 'additionalProperties': False}
write_back_to_store
Publish to store
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'.
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
추가됨
pick_meta_catalog
2026년 9월 21일 2:40 AM
추가됨
pick_meta_business
2026년 9월 21일 2:40 AM
추가됨
get_meta_connect_status
2026년 9월 21일 2:40 AM
추가됨
connect_meta
2026년 9월 21일 2:40 AM
추가됨
accept_google_terms
2026년 9월 21일 2:40 AM
추가됨
pick_google_account
2026년 9월 21일 2:40 AM
추가됨
get_google_connect_status
2026년 9월 21일 2:40 AM
추가됨
connect_google
2026년 9월 21일 2:40 AM
추가됨
set_llm_provider
2026년 9월 21일 2:40 AM
추가됨
get_setup_instructions
2026년 9월 21일 2:40 AM
추가됨
update_product_facts
2026년 9월 21일 2:40 AM
추가됨
apply_description
2026년 9월 21일 2:40 AM
추가됨
apply_fixes
2026년 9월 21일 2:40 AM
추가됨
get_fix_opportunities
2026년 9월 21일 2:40 AM
추가됨
write_back_to_store
2026년 9월 21일 2:40 AM
추가됨
enrich_all_products
2026년 9월 21일 2:40 AM
추가됨
enrich_product
2026년 9월 21일 2:40 AM
추가됨
sync_catalog
2026년 9월 21일 2:40 AM
추가됨
get_network_insights
2026년 9월 21일 2:40 AM
추가됨
get_pipeline_status
2026년 9월 21일 2:40 AM
추가됨
get_product
2026년 9월 21일 2:40 AM
추가됨
list_products
2026년 9월 21일 2:40 AM
추가됨
get_deep_audit
2026년 9월 21일 2:40 AM
추가됨
get_account_summary
2026년 9월 21일 2:40 AM