Skip to main content
Glama
tody-agent

affiliate-marketplace-mcp

by tody-agent

🌐 Коннектор маркетплейс-партнёрских программ (affiliate-marketplace-connector)

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

Affiliate Marketplace Connector (CLI: afflite, MCP: affiliate-marketplace-mcp) — это координационный центр и специализированный сервер Model Context Protocol (MCP Server) для многоплатформенной экосистемы партнёрского маркетинга (Affiliate E-Commerce Intelligence) (Shopee и TikTok Shop).

Система позволяет AI-агентам (Antigravity, Claude Code, Cursor, Codex, OpenClaw) полностью автоматизировать цикл:

  1. Поиск выигрышных продуктов (Win) и кластеризация цен на нескольких площадках.

  2. Проверка репутации и состояния магазина (Merchant Health Score).

  3. Глубокий анализ параметров PDP и классификация SKU через выпадающее меню "Select options".

  4. Отбор 10+ качественных «семенных» отзывов с видео/фото для конверсии (Seed Social Proof).

  5. Генерация 45-секундных сценариев видео и визуальных промптов по стандарту Google Flow (Veo 3.1).

  6. Прямая упаковка папки проекта VideoFactory (AIEV / HyperFrames) с веб-интерфейсом предпросмотра в реальном времени.

📖 Полное руководство: Руководство по массовой автоматизации MMO и 5 практических JTBD


🎯 5 карт JTBD (Jobs-To-Be-Done) и мышление MMO-автоматизации 100x

Система спроектирована вокруг 5 ключевых задач (Jobs-To-Be-Done) для специалистов по партнёрскому маркетингу и MMO в больших масштабах:

JTBD

Ситуация и мотивация (Situation & Motivation)

Ожидаемый результат (Expected Outcome)

Команда выполнения (afflite)

1. Охота за выигрышными продуктами

Нужно найти горячие продукты с высоким объёмом продаж в ценовом диапазоне быстрых покупок (150k - 500k).

Отбор топ-5-10 продуктов с Affiliate Win Score > 9.0 за 3 секунды.

afflite search all "<keyword>"

2. Проверка магазина

Избежать магазинов с медленной доставкой, подделками и высоким процентом отмен, которые обнуляют комиссию.

Сотрудничество только с магазинами с Seller Health Score > 85/100 и процентом своевременной доставки >98%.

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

3. Анализ болей клиентов и отзывов

Нужно писать сценарии, попадающие в психологию клиента, но нет образца продукта под рукой.

Автоматический глубокий анализ 10-15 реальных отзывов с видео/фото, с тегами болей и причин похвалы.

afflite product "<url>"

4. Массовое производство 45-секундных видео

Нужно публиковать 20-50 видео в день в матрицу каналов без затрат на актёров и монтаж.

Генерация сценария из 6 CRO-сцен с промптами Veo 3.1 и упаковка папки VideoFactory AIEV.

afflite make-video "<product_id>"

5. Круглосуточная работа с мультиагентами

Хочется, чтобы система работала в фоне автоматически и масштабировалась без ограничений по персоналу.

AI-агенты автоматически координируются через 9 инструментов MCP JSON-RPC 2.0.

affiliate-marketplace-mcp


Related MCP server: BopMarket MCP Server

🏗 Архитектура системы (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 нативных инструментов MCP (tools/list)

При подключении к MCP-серверу affiliate-marketplace-mcp AI-агенты получают прямой доступ к 9 инструментам:

Название инструмента

Функция

Основные параметры

search_affiliate_products

Поиск потенциальных продуктов одновременно на Shopee и TikTok Shop, развёртывание ключевых слов и оценка Win.

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

audit_seller

Проверка репутации магазина (Mall/Official), процент своевременной доставки, процент отмен, промокоды.

shop (str), platform (shopee | tiktok)

extract_product_intelligence

Детальный анализ параметров, 5 SKU из выпадающего меню Select options и 10+ отзывов с видео/фото.

url (str)

get_seed_reviews

Извлечение «семенных» отзывов, классифицированных по болевым точкам и возражениям, для социального доказательства.

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

create_videofactory_project

Создание полного пакета папки проекта VideoFactory (AIEV) со стандартными meta.json, index.html и сценарием из 6 CRO-сцен.

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

generate_video_storyboard

Генерация 45-секундного AI-сценария видео (PAS/AIDA) с детальными описаниями изображений для Veo 3.1.

product_id (str)

query_marketplace_database

Прямой запрос к хранилищу данных SQLite products.db (продукты, варианты, магазины, видеопроекты).

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

marketplace_doctor

Комплексная диагностика состояния системы: база данных SQLite, движок VideoFactory, сессия Chrome automation, конфигурации MCP.

{} (none)

marketplace_repair

Автоматическое исправление таблиц SQLite, прав доступа к папкам VideoFactory и синхронизация конфигурации MCP для AI-клиентов.

{} (none)


📦 Инструкция по установке (Installation)

1. Установка исходного кода и 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 .

После установки система автоматически регистрирует консольные команды в терминале:

  • afflite: Комплексный CLI для управления партнёрскими программами на нескольких площадках и VideoFactory.

  • affiliate-marketplace-mcp: MCP-сервер JSON-RPC 2.0 через Stdio.

  • shopee-cli: Специализированный CLI для Shopee Research & Cross-Audit.

  • shopee-research: Набор инструментов для сканирования и извлечения данных Shopee.

  • tiktok-research: Набор инструментов для сканирования и извлечения данных TikTok Shop.


2. Настройка переменных окружения (опционально)

Система автоматически использует относительные пути в папке исходного кода. Для индивидуальной настройки можно задать:

# Đườ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. Регистрация MCP-сервера для AI-ассистентов

A. Для Google Antigravity CLI

Добавьте в файл конфигурации MCP Antigravity (~/.gemini/antigravity-cli/mcp_config.json):

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

B. Для приложения Claude Desktop

Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:

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

C. Для IDE Cursor

Добавьте в ~/.cursor/mcp.json или в раздел Cursor Settings > MCP:

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

💻 Инструкция по использованию CLI (afflite)

1. Поиск потенциальных продуктов (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. Проверка репутации магазина (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. Анализ продукта и вариантов SKU (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. Запуск полного автоматического цикла (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. Генерация сценария видео и интеграция 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. Отчёты и экспорт данных (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

🐍 Использование через Python-код (Programmatic API)

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']}")

🗄 Структура базы данных SQLite (products.db)

Система управляет реляционными данными по стандарту нормализации 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 — Часто задаваемые вопросы

Q1: По какому механизму работает MCP-сервер affiliate-marketplace-mcp?

Сервер использует стандарт Model Context Protocol (MCP) через Stdio (JSON-RPC 2.0). При запуске AI-ассистентов (Antigravity, Claude, Cursor) сервер автоматически устанавливает соединение через стандартный ввод/вывод без открытия дополнительных сетевых портов, что обеспечивает безопасность и скорость отклика в миллисекундах.

Q2: Как работает механизм извлечения вариантов SKU в "Select options" на TikTok Shop?

PDP TikTok Shop скрывает варианты за интерактивным выпадающим меню "Select options". Система активирует сессию Chrome Automation для открытия меню, декодирует структуру цен по каждой категории (Комбо, Цвет, Источник питания) и полностью извлекает минимальные/максимальные цены в таблицу product_variants.

Q3: Что включает в себя создаваемая папка проекта VideoFactory (AIEV)?

При запуске afflite make-video <product_id> папка проекта автоматически создаётся в /Volumes/Agency/VideoFactory/video-projects/<slug> и включает:

  • meta.json: Стандартный формат JSON VideoFactory с 6 CRO-сценами (Hook, Problem, Reveal, USP, Social Proof, CTA).

  • hyperframes.json и index.html: Структура анимированной графики HTML5/CSS3 HyperFrames 1080x1920 30fps.

  • assets/hero.jpg: Оригинальное чёткое изображение продукта.

  • assets/transcript_tts.txt: Текст озвучки на вьетнамском с таймкодами по секундам для VieNeu-TTS / OmniVoice.

Q4: Как изменить файл SQLite products.db при работе на другой машине?

Достаточно задать переменную окружения:

export AFFLITE_DB_PATH="/duong_dan_moi/products.db"

Весь CLI и MCP-сервер автоматически переключатся на новый путь без изменения кода.

Q5: По каким формулам рассчитываются Affiliate Win Score и Seller Health Score?

  • Affiliate Win Score (0 - 10): Рассчитывается на основе 4 весов: подтверждённые продажи (35%), рейтинг звёзд (25%), ценовой диапазон импульсных покупок 150k-500k (20%) и магазин Shopee Mall / Official Shop (20%).

  • Seller Health Score (0 - 100): Оценивается по: среднему рейтингу звёзд (35 баллов), проценту своевременной доставки (25 баллов), низкому проценту отмен ниже 1% (20 баллов), скорости ответа в чате и количеству подписчиков (20 баллов).

Q6: Поддерживается ли генерация видео для Google Flow (Veo 3.1)?

Да. Сценарии из 6 сцен в video-prompt и make-video специально разработаны с детальными визуальными промптами (Extreme close-up, 3D panning, 8k photorealistic, lighting setup), совместимыми на 100% с Google Flow (gflow CLI Veo 3.1).


🧪 Автоматическое тестирование (Unit Testing)

Запуск набора тестов с 18 сценариями проверки:

python3 -m unittest discover tests

Результат:

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

OK

📄 Авторские права и лицензия (License)

Проект распространяется под лицензией MIT License. Разработан и поддерживается 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