188,562 tools. Last updated 2026-06-10 11:34
"Amazon Music" matching MCP tools:
- Confirms whether an SSP/exchange is authorized to sell a publisher's inventory according to that publisher's ads.txt. This is a cache lookup against ads.txt files crawled daily across the top 10,000 publisher domains — it does NOT fetch the publisher's ads.txt live, so it is fast and adds no latency to a real-time bidding decision. Use this tool when: - You are an ad-buying agent and want to confirm, pre-bid, that a supply path (publisher → exchange → seller_id) is legitimate. - You are detecting domain spoofing or unauthorized resale in a bid stream. - You want to check whether a seller is listed DIRECT or RESELLER. Do NOT use this tool when: - You want a full supply-path trust score — that endpoint is Sigil P31. - You want surveillance tracker data for the domain — use `get_domain`. Inputs: - `publisher_domain` (body, required): Publisher domain, e.g. `nytimes.com`. A `www.` prefix and scheme/path are stripped automatically. - `exchange_domain` (body, required): The exchange/SSP domain as it appears in ads.txt, e.g. `google.com`, `amazon-adsystem.com`. - `seller_id` (body, required): The publisher's seller/account ID at that exchange, e.g. `pub-4177862836555934`. Matched exactly. - `seller_type` (body, optional): `DIRECT` or `RESELLER`. When supplied it is checked against the ads.txt entry; a mismatch is reported as a warning. - `resolve_chain` (body, optional): When true, a matched RESELLER entry is cross-checked against the exchange's sellers.json (one authoritative hop). Returns: - `verified`: true (entry found), false (confidently not listed), or null (ads.txt could not be retrieved — indeterminate). - `confidence`: `high` | `degraded` | `low` | `unknown`. - `seller_entry`: the matched ads.txt line (line number, raw text, parsed fields) when `verified` is true; otherwise null. - `ads_txt_parse_status`, `ads_txt_last_parsed`, `stale`: provenance of the cached crawl this answer is derived from. - `reseller_chain`: empty unless `resolve_chain: true` and the matched entry is RESELLER — then it carries the sellers.json cross-check for the seller. - `warnings`: actionable flags, e.g. `publisher_not_in_corpus`, `publisher_has_no_ads_txt`, `seller_type_mismatch`, `ads_txt_cache_stale`. Cost: - Counts as one request against the daily rate limit. Latency: - Typical: <50ms (single cache lookup, no outbound fetch). p99: <120ms.Connector
- Event-discovery sweep: pick an event keyword (algal_bloom, deforestation, flood_extent, wildfire, urban_heat_island, methane_plume, landslide, drought, soil_salinity, crop_stress, water_turbidity, oil_slick) plus a region (free-text name or polygon_bbox). The responder geocodes the region, fans out across up to 32 sampled cells, recalls each event's primary scalar input band, and returns the top 8 hotspots ranked by that scalar — each carrying its cell64, lat/lng, the recalled value, a fact_cid for citation, and a scene.png URL. Bypass for free-text input is `emem_ask` (the classifier in /v1/ask routes "find X in Y" questions to the same hunter path). When to use: Call when the user asks an open-world discovery question ("find oil spills in the Persian Gulf", "where is deforestation happening in the Amazon", "show me algal blooms in Lake Erie", "hunt wildfires across California"). Surface 3–8 hotspots with their scene.png as image attachments and quote at least one fact_cid. For `oil_slick` the responder honestly reports `not_yet_implemented` and points at SAR-darkening + turbidity proxies — don't fabricate detections. The ranking uses the algorithm's primary scalar input only; for the full per-cell algorithm score, fetch the formula at /v1/algorithms/<key> and apply it client-side over the same recalled bands.Connector
- Find catalog tracks near a target tempo. Returns tracks whose BPM is within +/-`tolerance` of `bpm`, ordered by closeness then popularity — useful for DJ set planning, workout playlists, or tempo-matching. Each returned track carries full audio features. To also constrain by musical key, combine with find_tracks_by_key.Connector
- Get chart-ready weekly price + catalog history for a product. Returns a time series of Walmart price + (when the product's UPC maps to a resolved Amazon ASIN) Amazon retail / 3P-new / Buy-Box / list price / sales rank (BSR) / new + used offer counts / rating (0–5 stars) / review count / monthly sold, sorted ascending by ts. Weeks with no observed samples are omitted. Use this when a user wants to visualize how a product's price or catalog signals changed over time. For just the rolled-up price averages (lifetime / 30 / 90 / 180 / 365-day means), use get_retailer_product and read price_averages instead.Connector
- Get detailed KDP niche intelligence for a specific keyword. Returns demand score, competition score, Amazon BSR range, estimated monthly revenue, review threshold, average book pricing, and data freshness for the given Kindle publishing niche. Pricing tiers (x402 USDC on Base network): - $0.03 per query for cached/pre-seeded keywords - $0.10 per query for live on-demand research (new keywords) Use the free `list_niches` tool first to see available keywords. Payment options: 1. Set the KDP_X_PAYMENT environment variable on the server for auto-pay. 2. Pass a valid x402 payment header via the x_payment argument. 3. If neither is set, the tool returns structured 402 payment instructions that an x402-capable agent can use to construct and retry payment. Args: keyword: The KDP niche keyword to research (e.g. "romance novels", "keto cookbook") x_payment: Optional base64-encoded x402 payment header. Takes precedence over the KDP_X_PAYMENT environment variable.Connector
- Start an asynchronous CoreClaw scraper run with custom parameters. Returns a run_slug for tracking status, results, and logs. WHEN TO USE: the user wants to execute, start, launch, or "跑" a CoreClaw scraper with custom inputs — "跑一下 amazon scraper"、"run this scraper with these URLs"、"execute the google maps scraper". MUST have called get_scraper_details first to obtain 'version' and the 'custom_params' schema. WHEN NOT TO USE: do NOT call without first calling get_scraper_details — version/schema are required. Do NOT use to re-run a past run (use rerun) or to run a saved task (use run_task). RETURNS: JSON with 'run_slug' (use for get_run_status / get_run_results / abort_run), 'status' (initial state). WORKFLOW: preceded by get_scraper_details. Follow with get_run_status (poll until status=3 succeeded or 4 failed), then get_run_results or export_run_results.Connector
Matching MCP Servers
- Alicense-qualityCmaintenanceEnables control of Amazon Music playback through Claude Desktop via the Model Context Protocol. Users can play, pause, skip tracks, and search for music using natural language commands powered by browser automation.Last updatedMIT
- FlicenseAqualityBmaintenanceEnables downloading Amazon order history as CSV files with support for orders, items, shipments, and transactions across 16 Amazon regional sites using browser automation.Last updated116
Matching MCP Connectors
Amazon product search demand over time, with growth for any keyword. Free key at trendsmcp.ai
Search and license 5,000+ fully cleared music tracks via MCP. AI agents can find music by genre, mood, BPM, and instrumentation, then license instantly with USDC on Base. No human in the loop. Also includes free music industry knowledge tools: platform loudness standards, royalty calculators, and genre conventions.
- Read full AWS documentation pages after searching — search results contain partial excerpts only. Use this tool on the URLs returned by `search_documentation` to get complete, accurate information. ## Usage This tool reads documentation pages concurrently and converts them to markdown format. Supports AWS documentation, AWS Amplify docs, AWS GitHub repositories and CDK construct documentation. When content is truncated, a Table of Contents (TOC) with character positions is included to help navigate large documents. ## Best Practices - After searching, read the most relevant URLs to get complete information — search snippets are partial excerpts and often insufficient to answer accurately - Batch 2-5 requests when reading multiple URLs from search results - Use TOC character positions to jump directly to relevant sections in long documents - If a document was truncated and the answer may be in the remaining content, continue reading with `start_index` set to the previous `end_index`. Stop only once you have found the needed information or confirmed it is not present in the document. ## Request Format Each request must be an object with: - `url`: The documentation URL to fetch (required) - `max_length`: Maximum characters to return (optional, default: 10000 characters) - `start_index`: Starting character position (optional, default: 0) For batching you can input a list of requests. ## Example Request ``` { "requests": [ { "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html", "max_length": 5000, "start_index": 0 }, { "url": "https://repost.aws/knowledge-center/ec2-instance-connection-troubleshooting" } ] } ``` ## URL Requirements Allow-listed URL prefixes: - docs.aws.amazon.com - aws.amazon.com - repost.aws/knowledge-center - docs.amplify.aws - ui.docs.amplify.aws - github.com/aws-cloudformation/aws-cloudformation-templates - github.com/aws-samples/aws-cdk-examples - github.com/aws-samples/generative-ai-cdk-constructs-samples - github.com/aws-samples/serverless-patterns - github.com/awsdocs/aws-cdk-guide - github.com/awslabs/aws-solutions-constructs - github.com/cdklabs/cdk-nag - constructs.dev/packages/@aws-cdk-containers - constructs.dev/packages/@aws-cdk - constructs.dev/packages/@cdk-cloudformation - constructs.dev/packages/aws-analytics-reference-architecture - constructs.dev/packages/aws-cdk-lib - constructs.dev/packages/cdk-amazon-chime-resources - constructs.dev/packages/cdk-aws-lambda-powertools-layer - constructs.dev/packages/cdk-ecr-deployment - constructs.dev/packages/cdk-lambda-powertools-python-layer - constructs.dev/packages/cdk-serverless-clamscan - constructs.dev/packages/cdk8s - constructs.dev/packages/cdk8s-plus-33 - strandsagents.com/ Deny-listed URL prefixes: - aws.amazon.com/marketplace ## Example URLs - https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html - https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html - https://aws.amazon.com/about-aws/whats-new/2023/02/aws-telco-network-builder/ - https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments/ - https://aws.amazon.com/blogs/developer/make-the-most-of-community-resources-for-aws-sdks-and-tools/ - https://repost.aws/knowledge-center/example-article - https://docs.amplify.aws/react/build-a-backend/auth/ - https://ui.docs.amplify.aws/angular/connected-components/authenticator - https://github.com/aws-samples/aws-cdk-examples/blob/main/README.md - https://github.com/awslabs/aws-solutions-constructs/blob/main/README.md - https://constructs.dev/packages/aws-cdk-lib/v/2.229.1?submodule=aws_lambda&lang=typescript - https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/README.md - https://strandsagents.com/docs/user-guide/quickstart/overview/index.md ## Output Format Returns a list of results, one per request: - Success: Markdown content with `status: "SUCCESS"`, `total_length`, `start_index`, `end_index`, `truncated`, `redirected_url` (if page was redirected) - Error: Error message with `status: "ERROR"`, `error_code` (not_found, invalid_url, throttled, downstream_error, validation_error) - Truncated content includes a ToC with character positions for navigation - Redirected pages include a note in the content and populate the `redirected_url` field ## Handling Long Documents If the response indicates the document was truncated, you have several options: 1. **Continue Reading**: Make another call with `start_index` set to the previous `end_index` — do this if the answer may be in the remaining content 2. **Jump to Section**: Use the ToC character positions to jump directly to specific sections 3. **Stop when done**: Stop only once you have found the needed information or confirmed it is not present in the document **Example - Jump to Section:** ``` # TOC shows: "Using a logging library (char 3331-6016)" # Jump directly to that section: {"requests":[{"url": "https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html", "start_index": 3331, "max_length": 3000}]} ```Connector
- Check AWS resource availability across regions for products (service and features), APIs, and CloudFormation resources. ## Quick Reference - Maximum 10 regions per call (split into multiple calls for more regions) - Single region: filters optional, supports pagination - Multiple regions: filters required, no pagination, queries run concurrently - Status values: 'isAvailableIn' | 'isNotAvailableIn' | 'isPlannedIn' | 'Not Found' - Response field: 'products' (product), 'service_apis' (api), 'cfn_resources' (cfn) ## When to Use 1. Pre-deployment Validation - Verify resource availability before deployment - Prevent deployment failures due to regional restrictions - Validate multi-region architecture requirements 2. Architecture Planning - Design region-specific solutions - Plan multi-region deployments - Compare regional capabilities ## Do Not Use This Tool For - Counting or listing regions by geography (e.g., "how many AP regions exist?") — use `list_regions` then count, or use `search_documentation` - Questions about documentation, announcements, or general service availability dates — use `search_documentation` - CloudFormation resource coverage questions across all regions — use `search_documentation` with topic `cloudformation` - Any question that asks about availability in general without specifying a known product name, API, or CFN resource type — use `search_documentation` instead, as this tool requires exact resource identifiers and will return 'Not Found' for vague queries ## Examples **Check specific resources in one region**: ``` regions=["us-east-1"], resource_type="product", filters=["AWS Lambda"] regions=["us-east-1"], resource_type="api", filters=["Lambda+Invoke", "S3+GetObject"] regions=["us-east-1"], resource_type="cfn", filters=["AWS::Lambda::Function"] ``` **Compare availability across regions**: ``` regions=["us-east-1", "eu-west-1"], resource_type="product", filters=["AWS Lambda"] ``` **Explore all resources** (single region only, with pagination handling support via next_token due to large output): ``` regions=["us-east-1"], resource_type="product" ``` Follow up with next_token from response to get more results. ## Response Format **Single Region**: Flat structure with optional next_token. Example: ``` {"products": {"AWS Lambda": "isAvailableIn"}, "next_token": null, "failed_regions": null} ``` **Multiple Regions**: Nested by region. Example: ``` {"products": {"AWS Lambda": {"us-east-1": "isAvailableIn", "eu-west-2": "isAvailableIn"}}, ...} ``` ## Filter Guidelines The filters must be passed as an array of values and must follow the format below. 1. Product - service and feature (resource_type='product') Format: 'Product' Example filters: - ['Latency-Based Routing', 'AWS Amplify', 'AWS Application Auto Scaling'] - ['PrivateLink Support', 'Amazon Aurora'] 2. APIs (resource_type='api') Format: to filter on API level 'SdkServiceId+APIOperation' Example filters: - ['Athena+UpdateNamedQuery', 'ACM PCA+CreateCertificateAuthority', 'IAM+GetSSHPublicKey'] Format: to filter on SdkService level 'SdkServiceId' Example filters: - ['EC2', 'ACM PCA'] 3. CloudFormation (resource_type='cfn') Format: 'CloudformationResourceType' Example filters: - ['AWS::EC2::Instance', 'AWS::Lambda::Function', 'AWS::Logs::LogGroup']Connector
- Run a pre-configured saved task from the user's CoreClaw console. All parameters are stored with the task — no input schema needed. WHEN TO USE: the user wants to execute a named saved task they already configured in CoreClaw — "跑一下我那个 amazon 日常任务"、"run my saved task X"、"execute task Y". User refers to the task by task_slug (different from scraper_slug). WHEN NOT TO USE: do NOT use for ad-hoc runs with custom parameters (use run_scraper). Do NOT use to re-run a past run (use rerun). RETURNS: JSON with 'run_slug' (use for get_run_status / get_run_results), 'status'. WORKFLOW: terminal call for starting work. Follow with get_run_status -> get_run_results.Connector
- Create a new Avocado AI Flow pre-built with a node-graph pipeline, and return its id and direct URL so the user can open it on the canvas. You design the whole pipeline: pass the nodes and edges and the server validates socket compatibility, aligns video models to the input shape, lays the graph out left-to-right, and adds a caption per step. Edges reference nodes by 0-based index in the `nodes` array. This creates (does not run) the flow — the user runs it from the editor. Use the capability map below to choose node types, models, and handles: You are Avo, a senior creative-workflow designer inside Avocado AI's Flow editor. The user describes a creative goal; you respond with a node-graph proposal that the editor previews on the canvas. Think like a production director: design the FULL pipeline needed to get a polished result, not the minimum number of nodes. DESIGN PRINCIPLES — build capable, complete pipelines: - Match the pipeline's ambition to the request. A throwaway test is 2-3 nodes; a real deliverable (an ad, a UGC video, a product shot, a music video) is usually 5-12 nodes. Use up to 24 when it genuinely helps. - Prefer multi-stage quality: generate → refine (imageEditor) → upscale → animate, rather than a single generate node. Add an upscale step before any final image/video deliverable. - Use BRANCHING and FAN-OUT. One output can feed many nodes: e.g. one hero image → three different video models for variations the user can pick from; one script → both a voiceover and the video prompt. - Use PARALLEL TRACKS that converge: e.g. a voice track and an image track both feeding a lip-sync video; or a music track plus a visuals track. - Use the `llm` node to do creative thinking inside the graph — write or expand a script, brainstorm a prompt, turn a rough idea into a detailed image/video prompt — then wire its text output into the next node. - Pick the BEST model for each step (see the menus below). Don't leave everything on defaults — choosing models is a big part of the value. - Set per-node settings (aspect ratio, resolution, duration, voice, variations) when the request implies them (e.g. 'vertical' → 9:16, 'short' → duration 5, '3 options' → variations 3 or three branches). HARD RULES: - Use only the node types listed below. Never invent new ones. - Every edge must connect compatible socket types (text→text, image→image, audio→audio, video→video). - Give every runnable node a short `stepLabel` ('Step N — …') — it renders as a caption beneath that node. - `stickyNote` is only for standalone notes; never use it to caption a node (use `stepLabel`). Optionally add ONE stickyNote describing the workflow. - Any schema field you don't need must be `null` (numbers like `variations` too). MODEL MENUS (set the node's `model` to one of these ids): image (text-to-image) — `model` ids: • fal-ai/nano-banana-2 — fast, strong all-rounder (default) • fal-ai/gpt-image-2 — best instruction-following & legible text • fal-ai/bytedance/seedream/v5/lite/text-to-image — photoreal • fal-ai/flux-pro/v1.1-ultra — high detail / fidelity • fal-ai/imagen4/preview/ultra — premium quality • fal-ai/recraft/v4/text-to-image — design, brand, vector-style • fal-ai/ideogram/v3 — posters & typography imageEditor (image + prompt → edited image) — `model` ids: • fal-ai/nano-banana-2/edit — default, multi-image (up to 14 inputs) • openai/gpt-image-2/edit — precise instruction edits • fal-ai/bytedance/seedream/v5/lite/edit — photoreal edits • fal-ai/flux-pro/kontext/max/text-to-image — style / context transfer • fal-ai/gemini-25-flash-image/edit — fast edits (the `image` input accepts MULTIPLE connections for compositing/restyle) imageUpscale (image → larger image) — `model` ids: • fal-ai/topaz/upscale/image — best quality (default) • fal-ai/recraft-crisp-upscale, fal-ai/clarity-upscaler, fal-ai/crystal-upscaler llm (text → text) — `model` ids: claude-haiku (default), gpt-4o-mini, kimi-k2, seed-1.8. Put the instruction in `prompt`. voice (text → speech) — pick a `voice` by name: Sarah (cheerful), Roger (deep), Laura (soft), Charlie (warm), George (bold), Callum (energetic), River (calm), Liam (reliable). The script comes from an upstream text/llm node wired into `in` — do NOT put the script in the voice node's prompt. music (text → music) — set `duration` to one of 30,60,90,120,180,240,300 (seconds). Put the music description in `prompt`. videoUpscale (video → sharper video) — add after a video node for final deliverables. No model field. VIDEO node — choose `model` to match the input shape (it drives which input handles the node renders): • Text → video: `kling3-pro`, `sora-2`, `veo3-1-fast`, `seedance-2.0-t2v`. Wire text to `prompt`. • Image → video (I2V): `veo3-1-fast`, `kling3-pro`, `seedance-2.0-i2v`, `hailuo-pro`. Wire the image to `image`. For keyframe models (`kling-o1`, `veo3-1`) wire `start-frame` + `end-frame`. • Lip-sync / talking-head: `fabric` (image + audio, NO prompt — never wire text into Fabric) or `infinitalk` (prompt + image + audio). Wire audio to `audio`. Audio-over-stills narration: `ltx2-audio`. • Multi-image reference / character consistency: `vidu` (≤7), `veo3-1-ref` (≤10), `kling-elements` (2-4 ordered frames), `happy-horse-ref` (≤9). Wire EACH image to the SAME `ref-images` handle (it accepts multiple connections). Never use the plain `image` handle. • Seedance reference (image + video + audio refs): `seedance-2.0-ref` / `seedance-2.0-ref-fast`. Wire to `ref-images` / `ref-videos` / `ref-audio`. • Motion control (drive a character with a motion video): `kling3-motion-control`. Wire character to `image`, motion clip (videoUpload) to `motion-video`. Edge handle hints: - When the target has multiple typed inputs (Video, Image Editor), set `toHandle` explicitly (`prompt`, `image`, `audio`, `ref-images`, `start-frame`, `end-frame`, `motion-video`). The editor otherwise picks the first type-compatible handle, which may be the wrong slot. - Never wire text into Fabric. Never wire a single image into a multi-ref model's `image` slot — use `ref-images`. Available node types (id — purpose — inputs / outputs): - text — Prompt — in: in<text> | out: out<text> - llm — LLM — in: in<text> | out: out<text> - upload — Upload — in: — | out: out<image> - videoUpload — Video Upload — in: — | out: out<video> - image — Image — in: in<text> | out: out<image> - imageEditor — Image Editor — in: prompt<text>, image<image> | out: out<image> - imageUpscale — Image Upscale — in: image<image> | out: out<image> - video — Video — in: prompt<text>, image<image>, start-frame<image>, end-frame<image>, ref-images<image>, ref-videos<video>, ref-audio<audio>, audio<audio>, motion-video<video> | out: out<video> - videoUpscale — Video Upscale — in: video<video> | out: out<video> - voice — Voice — in: in<text> | out: out<audio> - music — Music — in: in<text> | out: out<audio> - stickyNote — Sticky Note — in: in<annotation> | out: out<annotation> Edges reference nodes by index in the `nodes` array (0-based). In the examples below, any field not shown is `null`. EXAMPLES — study the PATTERNS (multi-stage, fan-out, parallel tracks), copy the handle names exactly: Example 1 — UGC talking-head with scripted voice + final upscale: nodes=[ {type:"llm",stepLabel:"Step 1 — Write a punchy 15s script",prompt:"Write a 15-second energetic UGC script for the product.",model:"claude-haiku"}, {type:"voice",stepLabel:"Step 2 — Voiceover",voice:"George"}, {type:"upload",stepLabel:"Step 3 — Upload character photo"}, {type:"video",stepLabel:"Step 4 — Lip-sync video",model:"fabric"}, {type:"videoUpscale",stepLabel:"Step 5 — Upscale to deliver"} ] edges=[ {fromIndex:0,toIndex:1,fromHandle:"out",toHandle:"in"}, {fromIndex:1,toIndex:3,fromHandle:"out",toHandle:"audio"}, {fromIndex:2,toIndex:3,fromHandle:"out",toHandle:"image"}, {fromIndex:3,toIndex:4,fromHandle:"out",toHandle:"video"} ] Example 2 — Text → image → refine → upscale (quality chain): nodes=[ {type:"text",stepLabel:"Step 1 — Prompt",prompt:"A cinematic product shot of a matte-black bottle on wet stone, golden hour"}, {type:"image",stepLabel:"Step 2 — Generate hero",model:"fal-ai/flux-pro/v1.1-ultra",aspectRatio:"4:3"}, {type:"imageEditor",stepLabel:"Step 3 — Add brand label",prompt:"Add a minimal embossed logo on the bottle",model:"fal-ai/nano-banana-2/edit"}, {type:"imageUpscale",stepLabel:"Step 4 — Upscale",model:"fal-ai/topaz/upscale/image"} ] edges=[ {fromIndex:0,toIndex:1,fromHandle:"out",toHandle:"in"}, {fromIndex:1,toIndex:2,fromHandle:"out",toHandle:"image"}, {fromIndex:2,toIndex:3,fromHandle:"out",toHandle:"image"} ] Example 3 — Fan-out: one image → three video variations (different models): nodes=[ {type:"upload",stepLabel:"Step 1 — Source image"}, {type:"text",stepLabel:"Step 2 — Motion brief",prompt:"Slow cinematic push-in, gentle parallax"}, {type:"video",stepLabel:"Variation A — Veo",model:"veo3-1-fast",aspectRatio:"9:16",duration:"5"}, {type:"video",stepLabel:"Variation B — Kling",model:"kling3-pro",aspectRatio:"9:16",duration:"5"}, {type:"video",stepLabel:"Variation C — Seedance",model:"seedance-2.0-i2v",aspectRatio:"9:16",duration:"5"} ] edges=[ {fromIndex:0,toIndex:2,fromHandle:"out",toHandle:"image"}, {fromIndex:0,toIndex:3,fromHandle:"out",toHandle:"image"}, {fromIndex:0,toIndex:4,fromHandle:"out",toHandle:"image"}, {fromIndex:1,toIndex:2,fromHandle:"out",toHandle:"prompt"}, {fromIndex:1,toIndex:3,fromHandle:"out",toHandle:"prompt"}, {fromIndex:1,toIndex:4,fromHandle:"out",toHandle:"prompt"} ] Example 4 — Multi-image reference video (character consistency): nodes=[ {type:"upload",stepLabel:"Ref 1 — Character front"}, {type:"upload",stepLabel:"Ref 2 — Character side"}, {type:"upload",stepLabel:"Ref 3 — Outfit detail"}, {type:"text",stepLabel:"Scene prompt",prompt:"The character walks through a neon market at night"}, {type:"video",stepLabel:"Generate with refs",model:"veo3-1-ref",aspectRatio:"16:9"} ] edges=[ {fromIndex:0,toIndex:4,fromHandle:"out",toHandle:"ref-images"}, {fromIndex:1,toIndex:4,fromHandle:"out",toHandle:"ref-images"}, {fromIndex:2,toIndex:4,fromHandle:"out",toHandle:"ref-images"}, {fromIndex:3,toIndex:4,fromHandle:"out",toHandle:"prompt"} ] Example 5 — Music video: parallel music + visuals tracks converging: nodes=[ {type:"music",stepLabel:"Track 1 — Score",prompt:"Dreamy lo-fi beat, 90 BPM",duration:"60"}, {type:"text",stepLabel:"Track 2 — Scene",prompt:"A lone astronaut drifting past a glowing planet"}, {type:"image",stepLabel:"Keyframe",model:"fal-ai/imagen4/preview/ultra",aspectRatio:"16:9"}, {type:"video",stepLabel:"Animate",model:"ltx2-audio",aspectRatio:"16:9"} ] edges=[ {fromIndex:1,toIndex:2,fromHandle:"out",toHandle:"in"}, {fromIndex:2,toIndex:3,fromHandle:"out",toHandle:"image"}, {fromIndex:0,toIndex:3,fromHandle:"out",toHandle:"audio"} ] Return only the structured object — no prose, no markdown.Connector
- Given a Camelot key (e.g. "8A", "12B"), return the harmonically compatible keys for DJ mixing — the same key, the relative major/minor, and the adjacent +/-1 keys on the Camelot wheel. With `extended=true` also returns the +7/-7 energy-boost / energy-drop keys. Pure music theory — no catalog lookup and no quota cost. Pair with find_tracks_by_key to then pull actual tracks in each compatible key.Connector
- Return pricing-tier breakdown and category stats for an Amazon CPG category. Use when a brand is sizing up a shelf — e.g. evaluating whether a new SKU should enter at budget / midmarket / premium tier, benchmarking their retail pricing against Amazon tier structure, or preparing for a retail buyer meeting that will ask "what's the typical shelf price here?". Returns: category (resolved name), product_count (bucketed, e.g. "100+ products"), price_tiers (dict with budget / midmarket / premium dollar bands, rounded to nearest $0.50 for abstraction), median_price, trend_direction, last_refreshed, cta. Args: category: Exact category name — Grocery & Gourmet Food, Health & Beauty, Household, or Pet Supplies. Case-insensitive.Connector
- Compare multiple product prices against an Amazon CPG category's peers. Use when a multi-channel CPG brand needs to stack-rank their SKUs — e.g. identifying which SKUs are underpriced relative to Amazon peers, flagging products where the Amazon Buy Box sits materially below the retail MSRP, or building a cross-channel price-audit table for an ops review. Replaces manual store walks and spreadsheet comparisons. Returns: comparisons (list, per product: name, price, percentile_rank, position, vs_median), category, category_trend, sample_size, last_refreshed, cta. Args: products: List of items, each a dict with 'name' (string) and 'price' (number in dollars). Minimum 1 item; 3-20 is the useful range. category: Exact category name — Grocery & Gourmet Food, Health & Beauty, Household, or Pet Supplies. Case-insensitive.Connector
- Fetch raw Instagram post-page data by shortcode. Use this when the user needs fresh raw Instagram post metadata that is not guaranteed on regular cached post-list endpoints yet, including coauthors, tagged users, paid partnership metadata, product mentions, music attribution, location, display resources, and video versions.Connector
- Lists pre-configured reports (prebuilds) available for a connector. **What is a prebuild?** A prebuild is a standardized report maintained by Quanti for a given connector (e.g., Campaign Stats for Google Ads). It defines the BigQuery table structure (columns, types, metrics) and the associated API query. **When to use this tool:** - When the user asks "what reports are available for [connector]?" - When the user doesn't know which data or metrics exist for a connector - BEFORE get_schema_context, to explore available reports for a connector - To understand the data structure before writing SQL **Difference with get_schema_context:** - list_prebuilds → discover which reports/tables EXIST for a connector (catalog) - get_schema_context → get the actual BigQuery schema for the client project (effective data) **Response format:** Returns a JSON with for each prebuild: its ID, name, description, BigQuery table name, and the list of fields (name, type, description, is_metric). Fields marked is_metric=true are aggregatable metrics (impressions, clicks, cost...), others are dimensions (date, campaign_name...). **SKU examples**: googleads, meta, tiktok, tiktok-organic, amazon-ads, amazon-dsp, piano, shopify-v2, microsoftads, prestashop-api, mailchimp, kwankoConnector
- Browse the Gapup gold-standard content catalogue — video games, films, TV series and music. Returns franchises with their works (title, release year). When to use this tool: an agent needs structured, audited metadata for a cultural franchise, wants to resolve a title to a canonical entity, or browses a domain's catalogue before requesting enrichment. Inputs: a content domain and an optional case-insensitive name filter. Each franchise id can be passed to content_enrichment for its fine-grained tag profile.Connector
- Fetch raw Instagram post-page data by shortcode. Use this when the user needs fresh raw Instagram post metadata that is not guaranteed on regular cached post-list endpoints yet, including coauthors, tagged users, paid partnership metadata, product mentions, music attribution, location, display resources, and video versions.Connector
- Comprehensive email domain health check: MX routing, SPF authentication, DKIM signing, DMARC policy enforcement, DNSBL blacklist status (Spamhaus/SpamCop/Barracuda), TLS certificate validity, and WHOIS registration age. Aggregates a reputation score 0-100 and generates P0/P1/P2 deliverability signals. Accepts a domain (stripe.com) or email address (info@stripe.com). Detects role-based addresses (info@, support@, admin@, noreply@) that have higher bounce rates. Detects email provider (Google Workspace, Microsoft 365, Amazon SES, etc.). P0 signals: blacklisted / no MX / TLS expired / no SPF + DMARC none. P1 signals: SPF soft-fail / no DKIM selector / DMARC no reporting. P2 signals: role-based address / TLS expires <30d / domain age <90 days. All checks are keyless (no API keys required). Cache TTL 1h. SLA <=10s p95.Connector
- List Parallax’s services with real pricing. Filter by track: "ai" (done-for-you AI agent teams), "music" (Parallax Records / Baba Studio production), or "all".Connector
- Find catalog tracks in a given musical key — for harmonic mixing and key-locked playlists. `key` accepts Camelot ("8A"), Open Key ("1m"), or a key name ("A-Minor", "F#-Major"). Returns tracks ordered by popularity, each with full audio features. To discover which keys mix well with a given key first, use find_compatible_keys.Connector