affiliate-marketplace-mcp
This server provides MCP tools for affiliate e-commerce research, product validation, and AI video production workflows.
Search winning products: Query Shopee/TikTok Shop products and rank them by Affiliate Win Score.
Audit sellers: Check store metrics, fulfillment reliability, seller health score, and vouchers.
Extract product intelligence: Pull full PDP details, SKU variants, pricing, and curated seed reviews into SQLite.
Retrieve seed reviews: Get high-converting reviews filtered by pain points, objections, and media attachments for video scripts.
Create VideoFactory projects: Generate ready-to-render 6-scene CRO video projects with metadata and assets.
Generate storyboards: Produce 45s AI video storyboards with Veo 3.1 visual prompts.
Query marketplace database: Inspect products, variants, reviews, shops, or video projects in local SQLite.
Diagnose and repair system: Run health checks and auto-heal databases, directory structures, permissions, and MCP configurations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@affiliate-marketplace-mcpfind winning products under 500k with high affiliate score on Shopee"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Affiliate Marketplace Connector (affiliate-marketplace-connector)
Affiliate Marketplace Connector (CLI: afflite, MCP: affiliate-marketplace-mcp) is an orchestration hub and dedicated Model Context Protocol (MCP Server) for the multi-platform affiliate marketing ecosystem (Affiliate E-Commerce Intelligence) (Shopee & TikTok Shop).
The system enables AI Agents (Antigravity, Claude Code, Cursor, Codex, OpenClaw) to fully automate the workflow:
Search for Win products & cluster prices across platforms.
Assess store reputation & health (Merchant Health Score).
Deep-extract PDP specs & classify SKUs via the "Select options" drawer.
Curate 10+ high-quality seed reviews with video/photos to drive conversion (Seed Social Proof).
Generate 45s video scripts & visual prompts per Google Flow (Veo 3.1) standards.
Package directly into VideoFactory project folders (AIEV / HyperFrames) with a real-time Web Preview interface.
π See the Comprehensive Playbook: MMO Batch Automation Playbook & 5 Real-World JTBDs
π― 5 JTBD Maps (Jobs-To-Be-Done) & 100x Automation MMO Mindset
The system is designed around 5 core problems (Jobs-To-Be-Done) for affiliate marketers and large-scale MMO operators:
JTBD | Situation & Motivation | Expected Outcome | Execution Command ( |
1. Hunt for Win Products | Need to find hot products with high sales volume in the fast-conversion price range (150k - 500k). | Filter out the top 5-10 products with Affiliate Win Score > 9.0 within 3 seconds. |
|
2. Vet Stores | Avoid stores with slow shipping, counterfeit goods, or high cancellation rates that wipe out commissions. | Only partner with stores having Seller Health Score > 85/100 and an on-time delivery rate >98%. |
|
3. Extract Pain Points & Reviews | Need to write scripts that hit psychological triggers without having a sample product in hand. | Automatically deep-dive into 10-15 real reviews with video/photos, tagging pain points and reasons customers praise the product. |
|
4. Mass-Produce 45s Videos | Need to cover 20-50 videos/day across a channel matrix without spending on actors or production crews. | Generate 6-scene CRO scripts with Veo 3.1 prompts and package into a VideoFactory AIEV folder. |
|
5. 24/7 Multi-Agent Operations | Want the system to run autonomously in the background and scale without headcount limits. | AI Agents automatically coordinate via 9 MCP JSON-RPC 2.0 tools. |
|
Related MCP server: BopMarket MCP Server
π System 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 Native MCP Tools (tools/list)
When connecting to the affiliate-marketplace-mcp MCP server, AI Agents get direct access to 9 tools:
Tool Name | Function | Key Parameters |
| Search for potential products simultaneously on Shopee & TikTok Shop, expand keywords, and score Win. |
|
| Audit store credibility (Mall/Official), on-time delivery rate, cancellation rate, discount codes. |
|
| Extract detailed specs, 5 SKUs from the Select options drawer, and 10+ reviews with video/photo attachments. |
|
| Extract seed reviews classified by Pain Points & Objections to serve as social proof. |
|
| Create a complete VideoFactory (AIEV) project folder with standard |
|
| Generate 45s AI video scripts (PAS/AIDA) with ultra-detailed image description prompts for Veo 3.1. |
|
| Query the SQLite |
|
| Comprehensively diagnose system health: SQLite database, VideoFactory engine, Chrome automation session, MCP configs. |
|
| Automatically repair SQLite tables, fix VideoFactory folder permissions, and sync MCP configs for AI clients. |
|
π¦ Installation Guide
1. Install Source Code & 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 .After installation, the system registers the following console commands in your Terminal:
afflite: All-in-one CLI for multi-platform affiliate management & VideoFactory.affiliate-marketplace-mcp: MCP JSON-RPC 2.0 server over Stdio.shopee-cli: Dedicated CLI for Shopee Research & Cross-Audit.shopee-research: Shopee scanning and extraction toolkit.tiktok-research: TikTok Shop scanning and extraction toolkit.
2. Configure Environment Variables (Optional)
The system automatically uses relative paths within the source directory. To customize, you can set:
# ΔΖ°α»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. Register the MCP Server for AI Assistants
A. For Google Antigravity CLI
Add to Antigravity's MCP config file (~/.gemini/antigravity-cli/mcp_config.json):
{
"mcpServers": {
"affiliate-marketplace": {
"command": "affiliate-marketplace-mcp"
}
}
}B. For Claude Desktop App
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"affiliate-marketplace": {
"command": "affiliate-marketplace-mcp"
}
}
}C. For Cursor IDE
Add to ~/.cursor/mcp.json or the Cursor Settings > MCP section:
{
"mcpServers": {
"affiliate-marketplace": {
"command": "affiliate-marketplace-mcp"
}
}
}π» CLI Usage Guide (afflite)
1. Search for Potential Products (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. Audit Store Credibility (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. Extract Product & Variant SKUs (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. Run the Full Automated Pipeline (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. Generate Video Scripts & Integrate 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-projects6. Reports & Data Export (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π Using via Python Code (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 Database Structure (products.db)
The system manages relational data following 3NF normalization standards:
βββββββββββββββββββββββββββ βββββββββββββββββββββββββββ
β 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 β Frequently Asked Questions
Q1: What mechanism does the affiliate-marketplace-mcp MCP server run on?
The server uses the Model Context Protocol (MCP) standard over Stdio (JSON-RPC 2.0). When AI Assistants (Antigravity, Claude, Cursor) launch, the server automatically establishes a connection via standard input/output without opening any auxiliary network ports, ensuring security and millisecond-level response times.
Q2: How does the SKU variant extraction mechanism in TikTok Shop's "Select options" work?
TikTok Shop PDPs hide variants behind the interactive "Select options" drawer. The system activates a Chrome Automation session to open the drawer, decodes the price structure by each classification (Combo, Color, Power Source), and fully extracts floor/ceiling prices into the
product_variantstable.
Q3: What does the generated VideoFactory (AIEV) project folder include?
When running
afflite make-video <product_id>, the project folder is automatically generated at/Volumes/Agency/VideoFactory/video-projects/<slug>and includes:
meta.json: Standard VideoFactory JSON format with 6 CRO scenes (Hook, Problem, Reveal, USP, Social Proof, CTA).
hyperframes.json&index.html: HTML5/CSS3 HyperFrames motion graphics structure at 1080x1920 30fps.
assets/hero.jpg: Sharp original product image.
assets/transcript_tts.txt: Vietnamese voice-over transcript with per-second timestamps for use with VieNeu-TTS / OmniVoice.
Q4: How do I change the SQLite products.db file when running on another machine?
Simply set the environment variable:
export AFFLITE_DB_PATH="/duong_dan_moi/products.db"All CLI tools and the MCP Server will automatically point to the new path without any code changes.
Q5: What formulas are used to calculate the Affiliate Win Score and Seller Health Score?
Affiliate Win Score (0 - 10): Calculated based on 4 weighted factors: Verified sales count (35%), Star rating score (25%), Impulse Buy fast-conversion price range 150k-500k (20%), and Shopee Mall / Official Shop store status (20%).
Seller Health Score (0 - 100): Assessed based on: Average star rating (35 pts), On-time delivery rate (25 pts), Low cancellation rate under 1% (20 pts), Chat response speed & follower count (20 pts).
Q6: Is there support for video generation commands for Google Flow (Veo 3.1)?
Yes. The 6-scene scripts in
video-promptandmake-videoare specially designed with detailed visual prompts (Extreme close-up, 3D panning, 8k photorealistic, lighting setup) that are 100% compatible with Google Flow (gflow CLI Veo 3.1).
π§ͺ Automated Testing (Unit Testing)
Run the test suite with 18 test scenarios:
python3 -m unittest discover testsResults:
..................
----------------------------------------------------------------------
Ran 18 tests in 4.228s
OKπ Copyright & License
The project is distributed under the MIT License. Developed and maintained by tody-agent.
Available Tools
9 toolsaudit_sellerA
Audit store metrics, fulfillment reliability (on-time dispatch rate, cancellation rate), seller health score (0-100), and vouchers on Shopee or TikTok Shop.
| Name | Required | Description | Default |
|---|---|---|---|
| shop | Yes | Shop name, username or shop URL | |
| platform | Yes | Target platform |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product ID from SQLite database | |
| voice_engine | No | TTS voice engine | VieNeu-TTS |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Shopee or TikTok Shop product URL / ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product ID in SQLite database |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of reviews to retrieve | |
| product_id | Yes | Product ID in SQLite database | |
| has_media_only | No | Filter only reviews with image/video attachments |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query_type | No | products |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Seed product idea, category or search query | |
| platform | No | Target platform | all |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.2.0- First observed
audit_seller - First observed
create_videofactory_project - First observed
extract_product_intelligence - First observed
generate_video_storyboard - First observed
get_seed_reviews - First observed
marketplace_doctor - First observed
marketplace_repair - First observed
query_marketplace_database - First observed
search_affiliate_products
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Agentic commerce with 58 MCP tools for product search, checkout, A2A negotiation, C-Suite analytics.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects AI agents to the Shopee platform for real-time product searches and category mapping via the Affiliate and Seller Center APIs. It enables users to filter products by keyword, category, and commission rates directly through natural language.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search, compare, buy, and sell products across multiple e-commerce platforms through 13 marketplace tools.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables automated generation and publishing of TikTok Shop Affiliate videos using 7 AI agents. Integrates research, script writing, video production, and publishing through the MCP protocol.21-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search, compare, and track prices across 40+ retailers in Southeast Asia and the US using MCP tools.1-