Skip to main content
Glama
affiliate-marketplace-mcp

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)は、マルチプラットフォーム(Shopee & TikTok Shop)のアフィリエイト・Eコマース・インテリジェンス(Affiliate E-Commerce Intelligence)エコシステム専用のオーケストレーション・ハブ兼**Model Context Protocol(MCP Server)**です。

本システムにより、AIエージェント(Antigravity、Claude Code、Cursor、Codex、OpenClaw)は以下のサイクルを包括的に自動化できます:

  1. 勝ち筋商品(Win)の検索と複数プラットフォームにわたる価格クラスタリング。

  2. ショップの信頼性・健全性の審査(Merchant Health Score)。

  3. "Select options"ドロワー経由でのPDP詳細情報の深掘り抽出とSKU分類。

  4. コンバージョンに有効な動画・画像付きの高品質シードレビュー10件以上の選定(Seed Social Proof)。

  5. Google Flow(Veo 3.1)準拠の45秒動画スクリプトとビジュアルプロンプトの生成。

  6. リアルタイムWebプレビュー機能付きVideoFactory(AIEV / HyperFrames)プロジェクトフォルダへの直接パッケージング。

📖 総合ガイドはこちら: MMO一括自動化ガイド&実践JTBD 5選


🎯 JTBD(ジョブ理論)5マップ&100倍MMO自動化思考

本システムは、大規模アフィリエイト・マーケティングおよびMMO従事者の5つの核心的な課題(Jobs-To-Be-Done)を中心に設計されています:

JTBD

状況と動機(Situation & Motivation)

期待される成果(Expected Outcome)

実行コマンド(afflite)

1. 勝ち筋商品の開拓

売れ筋で販売量が多く、即決購入しやすい価格帯(150k - 500k)にある商品を見つける必要がある。

Affiliate Win Score > 9.0 の上位5〜10商品を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秒動画の量産

俳優や撮影・編集コストをかけずに、チャンネルマトリックスへ1日20〜50本の動画を配信する必要がある。

6シーンCROスクリプトとVeo 3.1プロンプトを生成し、VideoFactory AIEVフォルダにパッケージング。

afflite make-video "<product_id>"

5. 24時間365日マルチエージェント運用

人材を無限に増やさずに、システムをバックグラウンドで自動実行・スケールさせたい。

AIエージェントがMCP JSON-RPC 2.0の9ツールを通じて自動連携。

affiliate-marketplace-mcp


Related MCP server: BopMarket MCP Server

🏗 システムアーキテクチャ

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"]

⚡ MCPネイティブ9ツール(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

詳細仕様、Select optionsドロワーからの5 SKU、動画・画像付きレビュー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

Veo 3.1用の高精細な画像描写プロンプト付き45秒AI動画スクリプト(PAS/AIDA)を生成。

product_id (str)

query_marketplace_database

SQLiteデータベース products.db(商品、バリエーション、ショップ、動画プロジェクト)を直接クエリ。

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

marketplace_doctor

SQLiteデータベース、VideoFactoryエンジン、Chrome自動化セッション、MCP設定などシステム全体の健全性を診断。

{} (none)

marketplace_repair

SQLiteテーブルの修復、VideoFactoryフォルダの権限設定、各AIクライアントのMCP設定同期を自動実行。

{} (none)


📦 インストールガイド

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: マルチプラットフォームのアフィリエイト管理&VideoFactory統合CLI。

  • affiliate-marketplace-mcp: Stdio経由のMCP JSON-RPC 2.0サーバー。

  • shopee-cli: Shopeeリサーチ&クロス監査専用CLI。

  • 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. AIアシスタントへのMCPサーバー登録

A. Google Antigravity CLIの場合

AntigravityのMCP設定ファイル(~/.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. Cursor IDEの場合

~/.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コードでの使用(プログラム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 はどのような仕組みで動作しますか?

サーバーは**Stdio(JSON-RPC 2.0)経由のModel Context Protocol(MCP)**標準を使用します。AIアシスタント(Antigravity、Claude、Cursor)が起動すると、サーバーは補助的なネットワークポートを開くことなく、標準入出力を介して自動的に接続を確立し、セキュリティとミリ秒単位の応答速度を保証します。

Q2: TikTok Shopの"Select options"におけるSKUバリエーション抽出の仕組みは?

TikTok ShopのPDPは、バリエーションをインタラクティブな*"Select options"*ドロワーの背後に隠しています。システムはChrome自動化セッションを起動してドロワーを開き、各分類(コンボ、色、電源)ごとの価格構造を解読し、下限価格/上限価格を product_variants テーブルに完全に抽出します。

Q3: 生成されるVideoFactory(AIEV)プロジェクトフォルダには何が含まれますか?

afflite make-video <product_id> を実行すると、プロジェクトフォルダが /Volumes/Agency/VideoFactory/video-projects/<slug> に自動生成され、以下が含まれます:

  • meta.json: 6つのCROシーン(Hook、Problem、Reveal、USP、Social Proof、CTA)を含むVideoFactory標準JSON形式。

  • hyperframes.json & index.html: 1080x1920 30fpsのHTML5/CSS3 HyperFramesモーショングラフィックス構造。

  • 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)用の動画生成コマンドはサポートされていますか?

はい。video-prompt と make-video の6シーンスクリプトは、詳細なビジュアルプロンプト(Extreme close-up、3D panning、8k photorealistic、lighting setup)を備えて特別に設計されており、Google Flow(gflow CLI Veo 3.1)と100%互換性があります。


🧪 自動テスト(ユニットテスト)

18のテストシナリオを含むテストスイートを実行:

python3 -m unittest discover tests

結果:

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

OK

📄 著作権とライセンス

本プロジェクトは**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 recent community issues

Related MCP Connectors

Related MCP Servers