Skip to main content
Glama
affiliate-marketplace-mcp

affiliate-marketplace-mcp

by tody-agent

🌐 Conector de Marketplace de Afiliados (affiliate-marketplace-connector)

Python Version License: MIT Tests Status MCP Server Platform Video Engine

Affiliate Marketplace Connector (CLI: afflite, MCP: affiliate-marketplace-mcp) es el centro de orquestación y servidor Model Context Protocol (MCP Server) especializado para el ecosistema de marketing de afiliados (Affiliate E-Commerce Intelligence) multiplataforma (Shopee y TikTok Shop).

El sistema permite a los Agentes de IA (Antigravity, Claude Code, Cursor, Codex, OpenClaw) automatizar de forma integral el ciclo:

  1. Búsqueda de productos Win y agrupación de precios en múltiples plataformas.

  2. Verificación de reputación y salud de la tienda (Merchant Health Score).

  3. Extracción profunda de parámetros PDP y clasificación de SKU a través del cajón "Select options".

  4. Selección de 10+ reseñas semilla de alta calidad con video/foto para la conversión (Seed Social Proof).

  5. Generación de guiones de video de 45s y prompts visuales estándar Google Flow (Veo 3.1).

  6. Empaquetado directo de la carpeta de proyecto VideoFactory (AIEV / HyperFrames) con interfaz de Vista Previa Web en tiempo real.

📖 Consulta la Guía Completa: Guía de MMO de Automatización Masiva y 5 JTBD Prácticos


🎯 5 Mapas JTBD (Jobs-To-Be-Done) y Mentalidad MMO de Automatización 100x

El sistema está diseñado en torno a 5 problemas centrales (Jobs-To-Be-Done) de los profesionales del marketing de afiliados y MMO a gran escala:

JTBD

Situación y Motivación

Resultado Esperado

Comando de Ejecución (afflite)

1. Caza de Productos Win

Necesita encontrar productos populares, con alto volumen de ventas y en el rango de precio de cierre rápido (150k - 500k).

Filtrar los 5-10 mejores productos con Affiliate Win Score > 9.0 en 3 segundos.

afflite search all "<keyword>"

2. Verificación de Tiendas

Evitar tiendas con envíos lentos, productos falsificados y alta tasa de cancelación que hagan perder comisiones.

Colaborar solo con tiendas con Seller Health Score > 85/100 y tasa de entrega puntual >98%.

afflite seller [shopee|tiktok] "<shop>"

3. Extracción de Dolor y Reseñas

Necesita escribir guiones que conecten psicológicamente sin tener el producto de muestra.

Extraer automáticamente 10-15 reseñas reales con video/foto, etiquetadas con puntos de dolor y motivos de elogio.

afflite product "<url>"

4. Producción Masiva de Videos 45s

Necesita publicar 20-50 videos/día en la matriz de canales sin costes de actores ni producción.

Generar guiones de 6 escenas CRO con prompts Veo 3.1 y empaquetar la carpeta VideoFactory AIEV.

afflite make-video "<product_id>"

5. Operación Multiagente 24/7

Quiere que el sistema funcione en segundo plano de forma automática, escalando sin límite de personal.

Los Agentes de IA se coordinan automáticamente a través de 9 herramientas MCP JSON-RPC 2.0.

affiliate-marketplace-mcp


Related MCP server: BopMarket MCP Server

🏗 Arquitectura del Sistema (Architecture)

graph TD
    subgraph AI Clients & Agents
        AG[Google Antigravity] 
        CC[Claude Code / Desktop]
        CR[Cursor IDE / Codex]
        VF_API[VideoFactory Web Router]
    end

    subgraph MCP Server & Orchestration Layer
        MCP[affiliate-marketplace-mcp<br/>JSON-RPC 2.0 Stdio]
        CLI[afflite CLI Orchestrator]
    end

    subgraph Core Intelligence Engines
        ShopeeEngine[Shopee Research Suite]
        TikTokEngine[TikTok Shop Suite]
    end

    subgraph Data Processing & Scorer
        SearchCluster[Search & Price Clustering]
        SellerAuditor[Merchant Health & Trust Scorer]
        PDPExtractor[Deep PDP & SKU Options Extractor]
        ReviewCurator[Seed Review & Media Curator]
    end

    subgraph Storage & Export Pipeline
        DB[(SQLite Database<br/>products.db)]
        PromptGen[AI Video Storyboard & Veo 3.1 Engine]
        VFBridge[VideoFactory AIEV Bridge]
    end

    AG -->|MCP Tools/Call| MCP
    CC -->|MCP Tools/Call| MCP
    CR -->|MCP Tools/Call| MCP
    VF_API -->|Direct Call| CLI

    MCP --> ShopeeEngine
    MCP --> TikTokEngine
    CLI --> ShopeeEngine
    CLI --> TikTokEngine

    ShopeeEngine --> SearchCluster & SellerAuditor & PDPExtractor
    TikTokEngine --> SearchCluster & SellerAuditor & PDPExtractor

    SearchCluster & SellerAuditor & PDPExtractor & ReviewCurator --> DB
    DB --> PromptGen & VFBridge
    VFBridge -->|Generate Folder| VFBundles["VideoFactory Projects (/video-projects/<slug>)<br/>• meta.json • index.html • assets/hero.jpg • transcript_tts.txt"]

⚡ 9 Herramientas MCP Nativas (tools/list)

Al conectar el servidor MCP affiliate-marketplace-mcp, los Agentes de IA tienen acceso directo a 9 herramientas:

Nombre de la Herramienta

Función

Parámetros Principales

search_affiliate_products

Buscar productos potenciales simultáneamente en Shopee y TikTok Shop, expandir palabras clave y puntuar Win.

query (str), platform (all | shopee | tiktok)

audit_seller

Verificar la reputación de la tienda (Mall/Official), tasa de entrega puntual, tasa de cancelación, cupones.

shop (str), platform (shopee | tiktok)

extract_product_intelligence

Extraer detalles de especificaciones, 5 SKU del cajón Select options y 10+ reseñas con video/foto adjuntos.

url (str)

get_seed_reviews

Extraer reseñas semilla clasificadas por Puntos de Dolor y Objeciones como prueba social.

product_id (str), has_media_only (bool), limit (int)

create_videofactory_project

Crear el paquete completo de carpeta de proyecto VideoFactory (AIEV) estándar meta.json, index.html y guion de 6 escenas CRO.

product_id (str), voice_engine (VieNeu-TTS | Gemini)

generate_video_storyboard

Generar guion de video AI de 45s (PAS/AIDA) con descripciones de imagen ultranítidas para Veo 3.1.

product_id (str)

query_marketplace_database

Consultar directamente la base de datos SQLite products.db (productos, variantes, tiendas, proyectos de video).

query_type (products | variants | reviews | shops | video_projects), limit (int)

marketplace_doctor

Diagnosticar integralmente la salud del sistema: base de datos SQLite, motor VideoFactory, sesión de automatización Chrome, configuraciones MCP.

{} (ninguno)

marketplace_repair

Reparar automáticamente tablas SQLite, permisos de carpetas VideoFactory y sincronizar configuraciones MCP para clientes de IA.

{} (ninguno)


📦 Guía de Instalación (Installation)

1. Instalación del Código Fuente y CLI

# Clone repository từ GitHub
git clone https://github.com/tody-agent/affiliate-marketplace-connector.git
cd affiliate-marketplace-connector

# Cài đặt dạng package phát triển (Editable Mode)
pip install -e .

Después de la instalación, el sistema registrará automáticamente los comandos de consola en la Terminal:

  • afflite: CLI integral para la gestión de afiliados multiplataforma y VideoFactory.

  • affiliate-marketplace-mcp: Servidor MCP JSON-RPC 2.0 a través de Stdio.

  • shopee-cli: CLI especializado para Investigación y Auditoría Cruzada de Shopee.

  • shopee-research: Conjunto de herramientas de escaneo y extracción de Shopee.

  • tiktok-research: Conjunto de herramientas de escaneo y extracción de TikTok Shop.


2. Configuración de Variables de Entorno (Opcional)

El sistema utiliza automáticamente rutas relativas dentro de la carpeta del código fuente. Si desea personalizarlo, puede configurar:

# Đường dẫn file SQLite lưu trữ dữ liệu
export AFFLITE_DB_PATH="/path/to/your/data/products.db"

# Thư mục xuất dự án VideoFactory (AIEV)
export VIDEOFACTORY_PROJECTS_DIR="/path/to/your/VideoFactory/video-projects"

3. Registro del Servidor MCP para Asistentes de IA

A. Para Google Antigravity CLI

Añada al archivo de configuración MCP de Antigravity (~/.gemini/antigravity-cli/mcp_config.json):

{
  "mcpServers": {
    "affiliate-marketplace": {
      "command": "affiliate-marketplace-mcp"
    }
  }
}

B. Para Claude Desktop App

Añada a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "affiliate-marketplace": {
      "command": "affiliate-marketplace-mcp"
    }
  }
}

C. Para Cursor IDE

Añada a ~/.cursor/mcp.json o en Cursor Settings > MCP:

{
  "mcpServers": {
    "affiliate-marketplace": {
      "command": "affiliate-marketplace-mcp"
    }
  }
}

💻 Guía de Uso del CLI (afflite)

1. Búsqueda de Productos Potenciales (search)

# Quét cả 2 sàn Shopee & TikTok Shop
afflite search all "chuột công thái học"

# Quét riêng Shopee
afflite search shopee "bàn phím cơ không dây"

# Quét riêng TikTok Shop
afflite search tiktok "đèn rgb mini quay video"

2. Verificación de la Reputación de la Tienda (seller)

# Thẩm định gian hàng Shopee Mall
afflite seller shopee "Ugreen Official Mall"

# Thẩm định gian hàng TikTok Shop
afflite seller tiktok "Photoolex Official Store"

3. Extracción de Producto y SKU de Variantes (product)

# Tự động nhận diện Shopee hay TikTok Shop từ link hoặc ID
afflite product "https://shopee.vn/product-url"
afflite product "https://www.tiktok.com/view/product/1729463065317050819"

4. Ejecución del Ciclo Automático Completo (pipeline)

# Tự động bung từ khóa -> Lọc top sản phẩm -> Thẩm định Shop -> Bóc tách SKU & Reviews -> Lưu DB
afflite pipeline all "phụ kiện setup góc làm việc"

5. Generación de Guiones de Video e Integración con VideoFactory (make-video)

# Xuất kịch bản 6 cảnh và prompt Veo 3.1 ra màn hình terminal
afflite video-prompt "shopee_ugreen_mouse_44426785177"

# Tạo trọn gói thư mục dự án VideoFactory (AIEV)
afflite make-video "tiktok_prod_1729463065317050819"

# Liệt kê danh sách tất cả các dự án VideoFactory đã sinh
afflite video-projects

6. Informes y Exportación de Datos (report / export)

# Xem báo cáo tổng hợp các sản phẩm và biến thể trong SQLite
afflite report

# Xuất dữ liệu kịch bản dạng Markdown hoặc JSON
afflite export "shopee_ugreen_mouse_44426785177" --format md

🐍 Uso a través de Código Python (API Programática)

from afflite import (
    run_shopee_search,
    run_shopee_seller,
    run_shopee_product,
    run_tiktok_search,
    run_tiktok_seller,
    run_tiktok_product,
    generate_video_prompt_package,
    get_connection
)
from afflite.video_factory_bridge import create_videofactory_project

# 1. Tìm kiếm sản phẩm TikTok Shop
tiktok_results = run_tiktok_search("đèn rgb mini nam châm")
print(f"Tìm thấy {tiktok_results['total_found']} sản phẩm tiềm năng.")

# 2. Bóc tách sản phẩm & reviews
prod_data = run_tiktok_product("https://www.tiktok.com/view/product/1729463065317050819")
print(f"Đã lưu sản phẩm: {prod_data['product_name']} (Điểm Win: {prod_data['win_potential_score']}/10)")

# 3. Tạo thư mục dự án VideoFactory
vf_project = create_videofactory_project(prod_data["product_id"])
print(f"Đã tạo VideoFactory Project tại: {vf_project['project_path']}")
print(f"Xem preview tại: {vf_project['web_ui_url']}")

🗄 Estructura de la Base de Datos SQLite (products.db)

El sistema gestiona datos relacionales según el estándar de normalización 3NF:

┌─────────────────────────┐       ┌─────────────────────────┐
│        products         │       │          shops          │
│─────────────────────────│       │─────────────────────────│
│ id (PK)                 │       │ shop_id (PK)            │
│ platform (Shopee/TikTok)│◄──┐   │ shop_name, username     │
│ shop_id (FK) ───────────┼───┼──►│ rating_star, followers  │
│ product_name, brand     │   │   │ response_rate, score    │
│ sale_price_min, max     │   │   └────────────┬────────────┘
│ total_sold, rating_score│   │                │
│ win_potential_score     │   │                ▼
└────────────┬────────────┘   │   ┌─────────────────────────┐
             │                │   │      shop_vouchers      │
             ├────────────────┼──►│─────────────────────────│
             │                │   │ voucher_code, discount  │
             ▼                │   └─────────────────────────┘
┌─────────────────────────┐   │   ┌─────────────────────────┐
│    product_variants     │   │   │     search_sessions     │
│─────────────────────────│   │   │─────────────────────────│
│ sku_name, color, price  │   │   │ id (PK), seed_idea      │
│ connectivity, status    │   │   └────────────┬────────────┘
└─────────────────────────┘   │                │
             │                │                ▼
             ▼                │   ┌─────────────────────────┐
┌─────────────────────────┐   │   │     search_results      │
│     product_reviews     │   │   │─────────────────────────│
│─────────────────────────│   │   │ keyword, price_tier     │
│ username, rating        │   │   │ affiliate_win_score     │
│ review_text, media_type │   │   └─────────────────────────┘
│ pain_point_tag, score   │   │
└─────────────────────────┘   │
             │                │
             ▼                │
┌─────────────────────────┐   │
│  ai_marketing_insights  │   │
│─────────────────────────│   │
│ target_audience, USP    │   │
│ hook_drama, PAS, AIDA   │   │
└─────────────────────────┘   │
             │                │
             ▼                │
┌─────────────────────────┐   │
│      product_media      │   │
│─────────────────────────│   │
│ source_url, local_path  │───┘
└─────────────────────────┘

❓ FAQ — Preguntas Frecuentes

P1: ¿Sobre qué mecanismo funciona el servidor MCP affiliate-marketplace-mcp?

El servidor utiliza el estándar Model Context Protocol (MCP) a través de Stdio (JSON-RPC 2.0). Cuando los Asistentes de IA (Antigravity, Claude, Cursor) se inician, el servidor establece automáticamente la conexión a través de la entrada/salida estándar sin necesidad de abrir ningún puerto de red auxiliar, garantizando seguridad y tiempos de respuesta en milisegundos.

P2: ¿Cómo funciona el mecanismo de extracción de variantes SKU en "Select options" de TikTok Shop?

El PDP de TikTok Shop oculta las variantes detrás del cajón interactivo "Select options". El sistema activa una sesión de Automatización de Chrome para abrir el cajón, decodificar la estructura de precios por cada clasificación (Combo, Color, Fuente de alimentación) y extraer completamente los precios mínimos/máximos en la tabla product_variants.

P3: ¿Qué incluye la carpeta de proyecto VideoFactory (AIEV) que se genera?

Al ejecutar afflite make-video <product_id>, la carpeta del proyecto se genera automáticamente en /Volumes/Agency/VideoFactory/video-projects/<slug> e incluye:

  • meta.json: Formato JSON estándar de VideoFactory con 6 escenas CRO (Hook, Problem, Reveal, USP, Social Proof, CTA).

  • hyperframes.json e index.html: Estructura gráfica animada HTML5/CSS3 HyperFrames 1080x1920 30fps.

  • assets/hero.jpg: Imagen original nítida del producto.

  • assets/transcript_tts.txt: Locución en vietnamita con marcas de tiempo por segundo para integrar en VieNeu-TTS / OmniVoice.

P4: ¿Cómo cambio el archivo SQLite products.db al ejecutar en otra máquina?

Solo necesita asignar la variable de entorno:

export AFFLITE_DB_PATH="/duong_dan_moi/products.db"

Todo el CLI y el Servidor MCP apuntarán automáticamente a la nueva ruta sin necesidad de modificar código.

P5: ¿Cómo se calculan el Affiliate Win Score y el Seller Health Score?

  • Affiliate Win Score (0 - 10): Se calcula con 4 pesos: Ventas verificadas (35%), Puntuación de estrellas (25%), Rango de precio de compra impulsiva 150k-500k (20%) y Tienda Shopee Mall / Official Shop (20%).

  • Seller Health Score (0 - 100): Se evalúa según: Puntuación media de estrellas (35 pts), Tasa de entrega puntual (25 pts), Tasa de cancelación baja inferior al 1% (20 pts), Velocidad de respuesta del chat y número de Seguidores (20 pts).

P6: ¿Se admiten comandos de generación de video para Google Flow (Veo 3.1)?

Sí. El guion de 6 escenas en video-prompt y make-video está diseñado especialmente con prompts visuales detallados (Extreme close-up, 3D panning, 8k photorealistic, lighting setup) 100% compatibles con Google Flow (CLI gflow Veo 3.1).


🧪 Pruebas Automáticas (Unit Testing)

Ejecute el conjunto de pruebas con 18 escenarios de verificación:

python3 -m unittest discover tests

Resultado:

..................
----------------------------------------------------------------------
Ran 18 tests in 4.228s

OK

📄 Derechos de Autor y Licencia (License)

El proyecto se distribuye bajo la licencia MIT License. Desarrollado y mantenido por tody-agent.

Available Tools

9 tools
audit_sellerA

Audit store metrics, fulfillment reliability (on-time dispatch rate, cancellation rate), seller health score (0-100), and vouchers on Shopee or TikTok Shop.

NameRequiredDescriptionDefault
shopYesShop name, username or shop URL
platformYesTarget platform

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys a read-oriented analysis by enumerating the audited metrics and the seller health score range, but it does not mention authentication needs, potential side effects, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It packs the action, resource, specific metrics, and platform scope into a compact and well-organized format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with full schema coverage, the description is mostly sufficient: it states the audit scope, key metrics, and target platforms. The lack of an output schema is partially mitigated by enumerating the metrics, though return structure and any prerequisites are not described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no parameter-specific detail beyond the schema; it restates the platform scope but does not clarify the shop parameter format beyond what is already provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Audit') and resource ('store metrics, fulfillment reliability, seller health score, vouchers') scoped to Shopee or TikTok Shop. It clearly states what the tool does, but it does not explicitly differentiate itself from sibling tools such as marketplace_doctor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The verb 'Audit' implies when to use the tool, but the description provides no explicit guidance about when to prefer it over alternatives or any exclusions. There is no mention of sibling tools or conditions that would make another tool more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_videofactory_projectB

Create a complete ready-to-render VideoFactory (AIEV) project folder at /Volumes/Agency/VideoFactory/video-projects/ with 6 CRO scenes, meta.json, and assets.

NameRequiredDescriptionDefault
product_idYesProduct ID from SQLite database
voice_engineNoTTS voice engineVieNeu-TTS

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It says the tool 'creates' a folder, implying a write operation, but does not disclose side effects such as overwriting existing files, required permissions, or failure behavior. It also doesn't state what happens if the folder already exists or if the product_id is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the primary action and includes the most critical details (path, number of scenes, file structure). No filler or repetition; every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is fairly brief for a tool that assembles a multi-file project. It doesn't explain the return value (e.g., the full path) or mention any dependencies on sibling tools (e.g., storyboard generation). Given no output schema and no annotations, this gap prevents full completeness, though the main deliverable is clearly stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters ('product_id' and 'voice_engine') are already described in the schema. The description adds no additional parameter context beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Create') and a specific resource ('VideoFactory (AIEV) project folder') with concrete details (6 CRO scenes, meta.json, assets) and a precise path template. It is clearly distinct from all siblings, which involve searching, auditing, extracting, reviewing, or storyboarding—none of which create a project folder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives or prerequisites. It doesn't mention that it likely depends on a prior storyboard or product intelligence step, nor does it state when not to use it. The sibling 'generate_video_storyboard' suggests a pipeline, but the description leaves that implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_product_intelligenceB

Extract full PDP specs, 5 SKU variants from 'Select options' drawer, pricing, and 10+ curated seed reviews with video/photo attachments into SQLite.

NameRequiredDescriptionDefault
urlYesShopee or TikTok Shop product URL / ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does not mention whether this is a read-only operation, whether it performs writes to SQLite (persistent side effect), or if it has rate limits, pagination, or required authentication context. The phrase 'into SQLite' suggests the tool may write data to a local database, which is a notable side-effect beyond just extraction—this should be stated explicitly. The description explicitly reveals what it extracts but not how it behaves (e.g., whether it stores state permanently, whether it's idempotent, or whether it triggers affiliate-related actions).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that packs meaningful specifics: action (extract), content (PDP specs, SKU variants, pricing, reviews), source (Select options drawer), and destination (SQLite). It conveys a lot in one line with no fluff, earning a high score. It could be slightly more structured by separating the purpose from the side-effect, but it's still highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having a small parameter count and guaranteed schema coverage, the tool lacks annotations and output schema. The description partially enumerates what is extracted but does not state the exact output format (is it a report object or a run status?), potential prerequisites (valid URL, accessible product page), or exception behaviors. The mention of 'into SQLite' suggests a non-trivial side effect that needs more context: does it require schema setup? Is it a one-time extract? How are 'curated' reviews selected? These are gaps for a tool expected to perform a complex multi-step extraction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with a single parameter 'url' fully described as 'Shopee or TikTok Shop product URL / ID'. The description itself does not add parameter details beyond that, but given complete schema coverage, the baseline of 3 is appropriate. The description implies rich extraction from the URL (PDP specs, SKU variants, pricing, reviews) which provides contextual meaning, but does not add specific formatting requirements or clarifications for the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: extracting full product specs, 5 SKU variants, pricing, and curated seed reviews into SQLite. The verb 'extract' combined with the specific resource ('PDP specs', 'SKU variants', 'reviews') makes the primary purpose immediately understandable. The mention of '5 SKU variants' and '10+ curated seed reviews' adds specificity, though it doesn't explicitly distinguish from sibling tools like get_seed_reviews or search_affiliate_products, which it may overlap with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: it should be used to pull comprehensive product intelligence from Shopee or TikTok Shop URLs/IDs. However, it does not explicitly state when to use this tool versus sibling tools like get_seed_reviews (which likely fetches reviews separately) or search_affiliate_products. The mention of 'select options' drawer and 'curated seed reviews' hints at a comparative workflow, but the guidance is assumed, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_video_storyboardB

Generate a 45s AI video storyboard with 6 structured scenes (Hook, Problem, Hero Reveal, USP, Social Proof, CTA) and Veo 3.1 visual prompts.

NameRequiredDescriptionDefault
product_idYesProduct ID in SQLite database

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the generation action and output composition, but does not state whether the result is returned directly, persisted, or whether there are side effects or external API calls. This is a meaningful gap for a generate tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with the key output details front-loaded. The scene list is efficient and adds real information without filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool, the description provides useful output context: duration, scene count, scene purposes, and Veo 3.1 prompts. It is not fully complete because it does not state the return format or whether anything is created or saved, but the basic invocation context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter, product_id, and the input schema already documents it as a Product ID in SQLite database with 100% coverage. The description adds no additional parameter format, example, or behavior beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Generate') and a concrete resource ('45s AI video storyboard') with useful detail about structure and prompt style. It does not explicitly differentiate from sibling tools like create_videofactory_project, but the storyboard focus is clear enough to set it apart from search, audit, review, and repair tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: call this when you need a product video storyboard. However, there is no explicit when-to-use, when-not-to-use, or alternative guidance, especially relative to create_videofactory_project, which may be part of a similar video workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_seed_reviewsA

Retrieve high-converting seed customer reviews from SQLite categorized by pain points, objections, and media attachments for video scripts.

NameRequiredDescriptionDefault
limitNoNumber of reviews to retrieve
product_idYesProduct ID in SQLite database
has_media_onlyNoFilter only reviews with image/video attachments

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states that the tool 'retrieves' data, implying a read-only operation, and mentions the data source (SQLite). However, it does not detail any side effects, permission requirements, or failure modes. For a retrieval tool this is minimally adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core action and purpose. Every word contributes to the meaning with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description provides a reasonable expectation of what will be returned (reviews categorized by specific dimensions). It does not explicitly describe pagination or return format, but for a retrieval tool with clear schema-covered parameters, the description is sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes all three parameters (limit, product_id, has_media_only) with clear descriptions, achieving 100% coverage. The description adds context about categorization (pain points, objections, media attachments), which helps the agent understand the output structure and how has_media_only relates to media attachments. However, it does not add syntax or formatting details beyond the schema, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Retrieve') and resource ('seed customer reviews from SQLite'), and clearly states the categorization dimensions (pain points, objections, media attachments) and the intended use (video scripts). It distinguishes this tool from siblings, none of which are about reviews.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the context of use ('for video scripts') and makes it clear this tool retrieves seed reviews, which is a distinct function from siblings like 'audit_seller' or 'search_affiliate_products'. While not explicitly stating when not to use it, the purpose is clear and contextually relevant enough for an agent to choose it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_doctorB

Diagnose system health across Database, VideoFactory engine, Chrome browser stream, and Multi-Agent MCP client registries.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. 'Diagnose' suggests a read-only health inspection, but the description does not state that it is non-destructive, whether it requires special permissions, what 'health' means, or what side effects (if any) it may have.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. It front-loads the verb and resource, then efficiently enumerates the systems covered. Every part of the sentence contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description names all target components, which gives a solid sense of scope for a no-parameter tool. However, with no output schema, it should also indicate what the caller receives (e.g., per-component status report) and how this relates to sibling tools like marketplace_repair. Those details are left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter surface to document. The schema coverage is complete for an empty schema, and the description appropriately focuses on the tool's scope rather than parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Diagnose') and a clear resource ('system health') with an enumerated set of target components: Database, VideoFactory engine, Chrome browser stream, and Multi-Agent MCP client registries. It is clearly a health-check operation, distinct from query/repair siblings, though it does not explicitly name a sibling for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. There is no mention of prerequisites, when diagnosis is appropriate, or that marketplace_repair might be the follow-up if issues are found. The only signal is the word 'Diagnose,' which implies a health-check context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplace_repairA

Automatically heal and repair SQLite tables, VideoFactory directory structures, permissions, and sync MCP configuration files across all clients.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey side effects. It says 'heal and repair' and 'sync,' implying state modifications, but it does not disclose whether operations are destructive, irreversible, or require special permissions. The lack of specifics makes the behavior opaque, which is a significant gap for a repair tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that lists the affected components and scope without redundancy. It is concise and information-dense, fitting the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of parameters and output schema, the description provides sufficient context about the tool's operation and scope. It names the exact artifacts and mentions 'all clients,' giving a clear picture. Minor gaps remain about the specific repair mechanisms, but they are not required for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema coverage is trivially high. The description does not need to explain parameter meanings. The baseline of 3 applies because there is nothing to add beyond what the empty schema already implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (automatically heal and repair) and lists specific targets (SQLite tables, VideoFactory directory structures, permissions, MCP configuration files) along with scope (across all clients). This distinguishes it from sibling tools like search, audit, or create, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to fix or synchronize issues but does not provide explicit conditions for when to use it over alternatives. It lacks directions such as 'use when X is corrupted' or 'do not use if Y.' The scope is stated, but usage context is not fully elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_marketplace_databaseB

Query local SQLite database /Volumes/Agency/Products/data/products.db to inspect products, variants, shops, or active video projects.

NameRequiredDescriptionDefault
limitNo
query_typeNoproducts

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It clearly identifies this as a query against a local SQLite database, and 'inspect' implies read-only behavior, but it never explicitly states that the operation is non-destructive or what happens if the database is unavailable. The concrete file path is a useful behavioral detail beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with clear front-loading: verb, resource, and purpose. The absolute path is verbose but necessary context, and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with a simple enum schema, the description covers the resource and queryable categories, and the schema provides defaults and allowed values. However, there is no output schema, no annotations, and no mention of return shape or limit behavior. It is adequate for basic invocation but leaves the agent without guidance on selecting it over sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain either parameter in a way that adds meaning beyond the schema. It loosely maps to query_type values but omits 'reviews' and says nothing about `limit` or its default behavior. The enum and default in the schema carry the load, but the description fails to compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with the specific verb 'Query' and names an exact resource: the local SQLite database at /Volumes/Agency/Products/data/products.db. It enumerates the entities inspected (products, variants, shops, active video projects), which distinguishes it from sibling tools like search_affiliate_products or audit_seller. It omits 'reviews' from the enumeration, but the overall purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given about when to use this tool versus alternatives such as search_affiliate_products, extract_product_intelligence, or get_seed_reviews. The phrase 'to inspect' implies a read/exploration use case, but there are no when-to-use or when-not-to-use statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_affiliate_productsA

Search winning e-commerce products across Shopee and TikTok Shop Vietnam, expanding keywords and ranking by Affiliate Win Score.

NameRequiredDescriptionDefault
queryYesSeed product idea, category or search query
platformNoTarget platformall

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the search and ranking behavior (expanding keywords, Affiliate Win Score) but does not state whether the operation is read-only, requires authentication, or has side effects. As a search tool, 'Search' suggests a safe read, but the absence of explicit disclosure in the description leaves some ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core action ('Search'), then provides scope ('Shopee and TikTok Shop Vietnam') and distinctive behavior ('expanding keywords and ranking by Affiliate Win Score'). Every phrase contributes meaning, and there is zero repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema or nested objects, the description gives enough context about the purpose, process, and scope. It doesn't explain the return format, but the agent can reasonably infer result details from the concept of 'search' and 'ranking'. The information is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage, documenting 'query' as a seed idea and 'platform' as a target platform with an enum. The description's mention of 'expanding keywords' adds some flavor but does not substantively clarify parameters beyond the schema. It is adequate but not a significant value add.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'Search', the resource 'winning e-commerce products', the geographic/scope context 'Shopee and TikTok Shop Vietnam', and the unique behavior 'expanding keywords and ranking by Affiliate Win Score'. This clearly differentiates it from the sibling tools like 'audit_seller' or 'query_marketplace_database' without needing to inspect their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage for finding winning products, but it does not explicitly state when to choose this tool over alternatives or mention any exclusions. With only general context and no when-to-use/when-not-to-use guidance, the agent must infer suitability from the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.2.0
    • First observedaudit_seller
    • First observedcreate_videofactory_project
    • First observedextract_product_intelligence
    • First observedgenerate_video_storyboard
    • First observedget_seed_reviews
    • First observedmarketplace_doctor
    • First observedmarketplace_repair
    • First observedquery_marketplace_database
    • First observedsearch_affiliate_products

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target a distinct resource and action, and the descriptions make the search/extract/query pipeline fairly clear. The main ambiguity is between create_videofactory_project and generate_video_storyboard, and extract_product_intelligence vs get_seed_reviews, since both touch seed reviews/scenes.

Naming Consistency4/5

Most tools follow a clean snake_case verb_noun pattern (search, audit, extract, get, create, generate, query). marketplace_doctor and marketplace_repair break the pattern by leading with a domain noun instead of a verb, which is a minor consistency miss.

Tool Count5/5

Nine tools is within the well-scoped range and each tool earns a place in the product-research-to-video-generation workflow. The set is neither bloated nor too thin.

Completeness4/5

The surface covers the core lifecycle: discover product, audit seller, extract product/feedback data, query DB, generate storyboard/project, and diagnose/repair system health. Missing update/delete/publish/export operations are minor gaps since most data flows are one-way into SQLite and VideoFactory.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers