_ registry / mcp + a2a streamable-http · checked 1h ago

aicontentdrop

https://aicontentdrop.com

Registry code: 5e7e635c67b8630e

api record

All 42 tools are discoverable. 7 read tools work anonymously (models, prices and quotes, guides, ad formats and creators). Sign in through OAuth, or add an API key header (Authorization: Bearer acd_live_…), to generate and to read the account.

endpoint
https://aicontentdrop.com/mcp
door code
e1359c5030734f26
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is aicontentdrop live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is aicontentdrop free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does aicontentdrop have?
42 tools: estimate_credit_cost, import_asset, estimate_ad_cost, generate_video, write_ad_storyboard, generate_ad, generate_ugc_video, import_brand_profile, ….
Is aicontentdrop safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99%· all time 98.7%

latency
684ms

last good check

priced tools
0

of 42 tools

_ answered our checks, 90 days 1356 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • generate a video ad from a brief
  • generate ugc creator videos
  • search competitor ads on meta and tiktok
  • organize ad ideas on a board
takes → gives
text, images → video, images, data
tools
12 reads13 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 42 tools
4 open12 auth-required 26 never probed 16 of 42 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_ad_formats reads open 30h ago

    See the ad formats the studio can produce — UGC, talking head, unboxing, tutorial, TV spot, product hero, hyper-motion, try-on and more — with a one-line description, the default aspect and the allowed shot count and duration. No account needed. A brief names one of these formats by its id.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • list_ugc_avatars open 15h ago

    See the catalogue creators available for a UGC video — name, style and a portrait URL — and the fields generate_ugc_video accepts. No account needed. A person's own photo can be used instead, with their consent.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • list_models open 20h ago

    See which AI video or image models can make a video ad, animate a photo, produce a product clip or generate an image, with the credit cost of one generation. No account needed. The list is live; `count` is the number of models currently offered.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "type": {
          "enum": [
            "video",
            "image"
          ],
          "type": "string",
          "description": "Model family to list. Defaults to video."
        },
        "max_credits": {
          "type": "number",
          "description": "Only return models costing this many credits or fewer."
        }
      }
    }
    arguments 18 lines
  • search_articles open 38h ago

    Search AI Content Drop's published guides and model comparisons about AI video generation, prompting, and ad creative.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "number",
          "description": "Maximum results (1-25). Defaults to 10."
        },
        "query": {
          "type": "string",
          "description": "Keywords, e.g. 'kling vs sora' or 'ugc hooks'."
        }
      }
    }
    arguments 16 lines
  • get_canvas_link auth-required 6h ago

    Get the link to a board's page on AI Content Drop so the person can open it in a browser or the host's embedded browser panel. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id"
      ],
      "properties": {
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 12 lines
  • get_generation reads auth-required 3h ago

    Check whether a video or image is finished and get its URL. Takes the job id that generate_video or generate_image returned; pass kind "image" for an image job. Reports status, the finished file URL, and the credits charged. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id returned by generate_video or generate_image."
        },
        "kind": {
          "enum": [
            "video",
            "image"
          ],
          "type": "string",
          "description": "Which job type the id belongs to. Defaults to video."
        }
      }
    }
    arguments 20 lines
  • refresh_canvas reads auth-required 40h ago

    Re-read a board (same answer as get_canvas). Each read checks rendering generation cards against their jobs: a finished render sets the card's status to done and its media_url. It opens no new view: a board already on screen re-reads itself every 10 seconds while a card renders and for 5 minutes after it last changed, opened or went full screen. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id"
      ],
      "properties": {
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 12 lines
  • list_canvases reads auth-required 25h ago

    List the account's boards (visual canvases), newest first: id, name, revision, card count and the board's page link. Costs no credits. Its ids are the canvas_id the other board tools take; an empty list means the account has no board yet. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • list_saved_ads reads auth-required 18h ago

    List the competitor ads saved on the account, newest first: id, advertiser, hook, media and whether a decode is stored. Costs no credits. Its ids are the ad_id that get_saved_ad, decode_ad and ad_to_canvas_card take. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • search_competitor_ads reads auth-required 36h ago

    Search live competitor ads by keyword on Meta or TikTok: advertiser, copy, hook, call to action, media and run time per ad. Costs no credits. When live data is not available the rows are samples, not real ads: each is marked demo: true and the result carries a note saying so. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "keyword"
      ],
      "properties": {
        "sort": {
          "enum": [
            "impressions",
            "recent"
          ],
          "type": "string",
          "description": "impressions (default) ranks by reach; recent by start date."
        },
        "limit": {
          "type": "number",
          "description": "Rows to return, 1-20; defaults to 10."
        },
        "keyword": {
          "type": "string",
          "description": "What to search for: a product, a category or a competitor, 1-200 characters."
        },
        "platform": {
          "enum": [
            "meta",
            "tiktok"
          ],
          "type": "string",
          "description": "Defaults to meta."
        }
      }
    }
    arguments 32 lines
  • get_account reads auth-required 32h ago

    Check the signed-in account's remaining credits and current plan name before generating, and get the informational page about plans and entitlement. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • get_saved_ad auth-required 1h ago

    Read one saved competitor ad in full, with its stored decode (the ad's formula and a recreation prompt) when it has one. Costs no credits; never runs a decode. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ad_id"
      ],
      "properties": {
        "ad_id": {
          "type": "string",
          "description": "A saved ad's id, from list_saved_ads or save_competitor_ad."
        }
      }
    }
    arguments 12 lines
  • list_generations reads auth-required 23h ago

    List the account's recent video generations, newest first, with their status and URLs. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "limit": {
          "type": "number",
          "description": "How many to return (1-50). Defaults to 10."
        }
      }
    }
    arguments 10 lines
  • get_canvas reads auth-required 8h ago

    Read one board in full: every card with its type, position, size and data, the edges, and the revision. Generation cards that are still rendering are checked against their jobs on every read. Shows the board as a view; a board already on screen re-reads itself every 10 seconds while a card renders and for 5 minutes after it last changed, opened or went full screen. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id"
      ],
      "properties": {
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 12 lines
  • get_ad_job reads auth-required 13h ago

    Check an ad job: stage and percent while it renders, then the finished video URL, the storyboard sheet, duration, size and the credits charged. Takes the job_id from generate_ad; while the job runs the result carries retry_after_seconds (15). SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "The job_id returned by generate_ad."
        }
      }
    }
    arguments 12 lines
  • list_brand_profiles auth-required 27h ago

    List the account's saved brand profiles — name, site, value props, CTA, tone, product images — so ads for the same brand reuse the same facts. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • estimate_credit_cost unknown never probed

    Price a video or image before making it. Returns the exact credit cost and a quote_id that generate_video and generate_image require. No account needed. Pass the duration and resolution you intend to use; some video models bill per second.

    mcp-tool

    {
      "type": "object",
      "required": [
        "model_id"
      ],
      "properties": {
        "duration": {
          "type": "number",
          "description": "Video length in seconds you intend to generate. Affects the price of per-second models."
        },
        "model_id": {
          "type": "string",
          "description": "Model ID, e.g. \"kling_3_0\" or \"veo_3_fast\"."
        },
        "quantity": {
          "type": "number",
          "description": "How many generations to price. Defaults to 1. Only a quote for exactly 1 can be spent; larger quantities are for planning."
        },
        "resolution": {
          "type": "string",
          "description": "Video resolution you intend to generate, e.g. \"720p\" or \"1080p\". Affects the price of per-second models."
        },
        "reference_video_seconds": {
          "type": "number",
          "description": "Length in seconds of the reference video you will pass as reference_video_url (seedance_2_5 up to 30 s, or seedance_2_0_fast up to 15 s at 720p). Reference seconds are billed as input, so they change the price; the server measures the file and refuses a quote whose length does not match."
        }
      }
    }
    arguments 28 lines
  • import_asset unknown never probed

    Copy a public image (JPEG, PNG or WebP, at most 10 MB) onto AI Content Drop so it can be used as an avatar, product or photo reference. Returns the hosted URL. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "Public https URL of the image."
        }
      }
    }
    arguments 12 lines
  • estimate_ad_cost reads unknown 34h ago

    Price a studio job before making it: a finished ad from a brief or storyboard (kind "ad"), a UGC creator video (kind "ugc"), a generated avatar (kind "avatar") or a competitor-ad decode (kind "decode"). Returns the credit lines, the total and a quote_id that generate_ad, generate_ugc_video, generate_avatar and decode_ad require. No account needed. For an ad, quote exactly the fields you will submit.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "kind": {
          "enum": [
            "ad",
            "ugc",
            "avatar",
            "decode"
          ],
          "type": "string",
          "description": "Defaults to ad."
        },
        "brief": {
          "type": "object",
          "description": "The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, quality (fast | premium), modelTier (standard | cinematic), garmentImageUrl for the try-on formats."
        },
        "quality": {
          "enum": [
            "fast",
            "premium"
          ],
          "type": "string",
          "description": "Lip-sync tier. premium costs more per talking shot. Defaults to the brief's quality, else fast."
        },
        "model_tier": {
          "enum": [
            "standard",
            "cinematic"
          ],
          "type": "string",
          "description": "cinematic renders on Seedance with director-grade camera work and costs more per shot; needs the brief."
        },
        "storyboard": {
          "type": "object",
          "description": "The storyboard returned by write_ad_storyboard, as is or edited. When present it is what renders; the brief is optional alongside it."
        },
        "persona_mode": {
          "enum": [
            "exact-avatar",
            "synthetic"
          ],
          "type": "string",
          "description": "synthetic lets the studio substitute one consistent generated creator for the avatar; exact-avatar (default) keeps the avatar as given."
        },
        "needs_avatar_gen": {
          "type": "boolean",
          "description": "True when the avatar still has to be generated (billed as a line)."
        },
        "needs_product_gen": {
          "type": "boolean",
          "description": "True when the product still has to be generated (billed as a line)."
        }
      }
    }
    arguments 56 lines
  • generate_video unknown never probed

    Make an AI video: a product ad, a vertical clip for social, a cinematic shot, or animate a photo into video (image-to-video). Requires a quote_id from estimate_credit_cost so the price is agreed first; then returns a job id to poll with get_generation. Credits are charged only when the video succeeds. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "prompt",
        "quote_id"
      ],
      "properties": {
        "model": {
          "type": "string",
          "description": "Model ID from list_models, e.g. \"kling_3_0\". Must match the quoted model; omitted means the quoted model."
        },
        "prompt": {
          "type": "string",
          "description": "What the video should show. Detailed prompts produce better results."
        },
        "duration": {
          "type": "number",
          "description": "Length in seconds. Must match the quoted duration for per-second models."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_credit_cost for this exact model, duration and resolution. Required."
        },
        "image_url": {
          "type": "string",
          "description": "Public image URL to animate (image-to-video). Required for models whose list_models entry has needs_start_image; optional for the rest."
        },
        "resolution": {
          "type": "string",
          "description": "e.g. \"720p\" or \"1080p\". Must match the quoted resolution for per-second models."
        },
        "aspect_ratio": {
          "enum": [
            "16:9",
            "9:16",
            "1:1"
          ],
          "type": "string",
          "description": "Defaults to 16:9. Use 9:16 for vertical social clips."
        },
        "reference_video_url": {
          "type": "string",
          "description": "Optional public https URL of a reference video (for example a 3D blockout playblast) whose camera movement, shot rhythm and subject motion the generation must follow. seedance_2_5 (30 s max) or seedance_2_0_fast (15 s max, 720p). The quote must have been priced with reference_video_seconds equal to this clip's length rounded up; the server measures the clip and refuses on mismatch."
        }
      }
    }
    arguments 46 lines
  • write_ad_storyboard unknown never probed

    Turn an ad brief into a storyboard: 1-5 shots with framing, the spoken line, the caption and the duration of each. Costs no credits. product_image_url, when the product image is already known, is passed as context for the storyboard. The storyboard, as returned or edited, is what estimate_ad_cost prices and generate_ad renders. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "brief"
      ],
      "properties": {
        "brief": {
          "type": "object",
          "description": "The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, quality (fast | premium), modelTier (standard | cinematic), garmentImageUrl for the try-on formats."
        },
        "product_image_url": {
          "type": "string",
          "description": "Optional public https URL of the product image, the same one generate_ad will take, passed as context for the storyboard."
        }
      }
    }
    arguments 16 lines
  • generate_ad changes data unknown never probed

    Make a finished video ad — multi-shot, with a speaking creator, product shots, captions and an optional music bed — from a brief or a storyboard plus an avatar image and a product image. Requires a quote_id from estimate_ad_cost for exactly these fields; returns a job_id to poll with get_ad_job. Credits are charged only when the ad succeeds, and never more than the quote. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id",
        "avatar_url",
        "product_image_url"
      ],
      "properties": {
        "brief": {
          "type": "object",
          "description": "The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, quality (fast | premium), modelTier (standard | cinematic), garmentImageUrl for the try-on formats."
        },
        "music": {
          "type": "object",
          "required": [
            "tone"
          ],
          "properties": {
            "tone": {
              "type": "string",
              "description": "e.g. upbeat, calm, cinematic."
            },
            "gain_db": {
              "type": "number",
              "description": "-30 to 0."
            }
          },
          "description": "Optional music bed."
        },
        "quality": {
          "enum": [
            "fast",
            "premium"
          ],
          "type": "string",
          "description": "Lip-sync tier. premium costs more per talking shot. Defaults to the brief's quality, else fast."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_ad_cost for these exact fields (kind ad). Required."
        },
        "canvas_id": {
          "type": "string",
          "description": "Optional board id (from list_canvases or create_canvas): the ad is placed on it as a generation card that fills in when the render lands."
        },
        "avatar_url": {
          "type": "string",
          "description": "Public https URL of the creator's reference image (a catalogue portrait, a generate_avatar result, or an import_asset URL)."
        },
        "model_tier": {
          "enum": [
            "standard",
            "cinematic"
          ],
          "type": "string",
          "description": "cinematic renders on Seedance with director-grade camera work and costs more per shot; needs the brief."
        },
        "project_id": {
          "type": "string",
          "description": "Optional studio project (uuid) to file the run under."
        },
        "storyboard": {
          "type": "object",
          "description": "The storyboard returned by write_ad_storyboard, as is or edited. When present it is what renders; the brief is optional alongside it."
        },
        "persona_mode": {
          "enum": [
            "exact-avatar",
            "synthetic"
          ],
          "type": "string",
          "description": "synthetic lets the studio substitute one consistent generated creator for the avatar; exact-avatar (default) keeps the avatar as given."
        },
        "needs_avatar_gen": {
          "type": "boolean",
          "description": "True when the avatar still has to be generated (billed as a line)."
        },
        "needs_product_gen": {
          "type": "boolean",
          "description": "True when the product still has to be generated (billed as a line)."
        },
        "product_image_url": {
          "type": "string",
          "description": "Public https URL of the product image."
        },
        "avatar_description": {
          "type": "string",
          "description": "Optional one-line identity note for the creator (20-500 characters)."
        },
        "product_description": {
          "type": "string",
          "description": "Optional one-line product note (10-500 characters)."
        }
      }
    }
    arguments 95 lines
  • generate_ugc_video changes data unknown never probed

    Make a UGC-style creator video: a catalogue creator (template from list_ugc_avatars) or a person's own photo (image_url) speaks the script with lip-sync, optional voice choice and ambience. Requires a quote_id from estimate_ad_cost with kind "ugc", and image_rights_consent: true given by the person. Returns an id to poll with get_generation. Credits are charged only on success. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id",
        "script",
        "image_rights_consent"
      ],
      "properties": {
        "voice": {
          "type": "string",
          "description": "Optional voice id or name."
        },
        "script": {
          "type": "string",
          "description": "What the creator says, up to 1000 characters."
        },
        "ambience": {
          "type": "string",
          "description": "Optional background sound, e.g. cafe, street, none."
        },
        "language": {
          "type": "string",
          "description": "Optional language code, e.g. en."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_ad_cost with kind \"ugc\". Required."
        },
        "template": {
          "enum": [
            "general",
            "selfie",
            "selling",
            "testimonial",
            "tutorial",
            "storytelling"
          ],
          "type": "string",
          "description": "A creator id from list_ugc_avatars. Alternative to image_url."
        },
        "image_url": {
          "type": "string",
          "description": "Public https URL of the person's photo. Alternative to template."
        },
        "image_rights_consent": {
          "type": "boolean",
          "description": "Must be true, and only after the person confirmed they hold the rights to the face and accept the acceptable-use terms. No default."
        }
      }
    }
    arguments 50 lines
  • import_brand_profile changes data unknown never probed

    Read a brand's website and save a brand profile from it: name, value props, CTA, tone and product images. Costs no credits. Low-confidence reads are returned for confirmation instead of being saved. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "The brand's product page or app page."
        },
        "mode": {
          "enum": [
            "product",
            "app"
          ],
          "type": "string",
          "description": "What kind of page it is. Defaults to product."
        },
        "persist": {
          "type": "boolean",
          "description": "Save when the read is confident. Defaults to true."
        }
      }
    }
    arguments 24 lines
  • rename_canvas unknown never probed

    Rename a board. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The new name, 1-100 characters."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 21 lines
  • add_text_card changes data unknown never probed

    Add a text card (a note, an idea, a script line) to a board. The server places it on a grid unless a position is given. Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "text"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "The card's text, up to 4000 characters."
        },
        "color": {
          "type": "string",
          "description": "Optional colour name or hex the website uses for the card."
        },
        "title": {
          "type": "string",
          "description": "Optional title, up to 200 characters."
        },
        "width": {
          "type": "number",
          "description": "Optional card width in pixels."
        },
        "height": {
          "type": "number",
          "description": "Optional card height in pixels."
        },
        "position": {
          "type": "object",
          "required": [
            "x",
            "y"
          ],
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 53 lines
  • add_media_card changes data unknown never probed

    Add an image or video card to a board from a public https URL (an import_asset result, a finished generation's video_url, or an ad's video_url). Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "url",
        "kind"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "Public https URL of the image or video."
        },
        "kind": {
          "enum": [
            "image",
            "video"
          ],
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "Optional title, up to 200 characters."
        },
        "width": {
          "type": "number",
          "description": "Optional card width in pixels."
        },
        "height": {
          "type": "number",
          "description": "Optional card height in pixels."
        },
        "source": {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "id": {
              "type": "string"
            },
            "kind": {
              "enum": [
                "upload",
                "generation",
                "ad",
                "studio"
              ],
              "type": "string"
            }
          },
          "description": "Optional provenance: where the media came from."
        },
        "caption": {
          "type": "string",
          "description": "Optional caption, up to 2000 characters."
        },
        "position": {
          "type": "object",
          "required": [
            "x",
            "y"
          ],
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 82 lines
  • add_frame changes data unknown never probed

    Add a labelled frame (a region such as Week 1 or Hooks) to a board. The frame is placed in free space like a new card and encloses no existing card. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "label"
      ],
      "properties": {
        "label": {
          "type": "string",
          "description": "The frame's label, up to 200 characters."
        },
        "width": {
          "type": "number",
          "description": "Optional width in pixels; defaults to 480."
        },
        "height": {
          "type": "number",
          "description": "Optional height in pixels; defaults to 360."
        },
        "position": {
          "type": "object",
          "required": [
            "x",
            "y"
          ],
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 45 lines
  • add_generation_card unknown never probed

    Add a draft generation card to a board: a prompt and a model (an id from list_models) that can be rendered later with run_generation_card. Adding it costs nothing; nothing renders until it is run with a quote. Set duration and resolution on the card for a per-second model: the quote for run_generation_card must be taken with them. For a step that builds on an earlier card (a still that becomes a video), pass from_card_id: the new card is connected to that card on the board and, unless it has its own image_url, starts from that card's finished image. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id"
      ],
      "properties": {
        "kind": {
          "enum": [
            "video",
            "image"
          ],
          "type": "string",
          "description": "Defaults to video."
        },
        "model": {
          "type": "string",
          "description": "A model id from list_models."
        },
        "width": {
          "type": "number",
          "description": "Optional card width in pixels."
        },
        "height": {
          "type": "number",
          "description": "Optional card height in pixels."
        },
        "prompt": {
          "type": "string",
          "description": "The generation prompt, up to 4000 characters."
        },
        "duration": {
          "type": "number",
          "description": "Optional clip length in seconds, for video models that price by duration."
        },
        "position": {
          "type": "object",
          "required": [
            "x",
            "y"
          ],
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        },
        "image_url": {
          "type": "string",
          "description": "Optional public https reference image for image-to-video or image-to-image."
        },
        "resolution": {
          "type": "string",
          "description": "Optional, e.g. 720p, 1080p."
        },
        "aspect_ratio": {
          "type": "string",
          "description": "Optional, e.g. 9:16, 16:9, 1:1."
        },
        "from_card_id": {
          "type": "string",
          "description": "Optional: an image generation card or an image media card on the same board. The new card is connected to it, and its finished image is the new card's start frame when the new card runs (run the source card first)."
        }
      }
    }
    arguments 76 lines
  • connect_cards changes data unknown never probed

    Connect two cards on a board with a line from one to the next, so the board reads as a flow: a script card to the card that renders it, an idea to each of its variations. Costs no credits. Refuses a card connected to itself, a frame, and a connection that is already there. A connection made here does not make one card's result another card's start frame; add_generation_card with from_card_id does. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "from_card_id",
        "to_card_id"
      ],
      "properties": {
        "label": {
          "type": "string",
          "description": "Optional short label drawn on the line, up to 200 characters."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        },
        "to_card_id": {
          "type": "string",
          "description": "The card it leads to."
        },
        "from_card_id": {
          "type": "string",
          "description": "The card the line starts from, from cards[] on the board."
        }
      }
    }
    arguments 30 lines
  • update_card unknown never probed

    Change a card: merge fields into its data (text or title on a text card; prompt, model, kind, aspect_ratio, duration, resolution or image_url on a generation card; title or caption on a media card; label on a frame), or move and resize it. Costs no credits. status, job_id, job_kind, quote_id, media_url, thumbnail_url, credits_used and error are set by the server when a card runs and are refused here. A per-second model is priced from the card's duration and resolution, and run_generation_card checks its quote against them. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "card_id"
      ],
      "properties": {
        "data": {
          "type": "object",
          "description": "Fields to merge into the card's data; fields not named are kept."
        },
        "width": {
          "type": "number",
          "description": "Optional card width in pixels."
        },
        "height": {
          "type": "number",
          "description": "Optional card height in pixels."
        },
        "card_id": {
          "type": "string",
          "description": "The card id, from cards[] on the board."
        },
        "position": {
          "type": "object",
          "required": [
            "x",
            "y"
          ],
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 49 lines
  • move_cards changes data unknown never probed

    Move one or more cards to new positions on a board. The server places new cards itself; this is for the board view's drag. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "moves"
      ],
      "properties": {
        "moves": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "position"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "position": {
                "type": "object",
                "required": [
                  "x",
                  "y"
                ],
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  }
                },
                "description": "Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell."
              }
            }
          },
          "minItems": 1,
          "description": "Cards and their new positions."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 50 lines
  • arrange_cards unknown never probed

    Lay chosen cards (or the whole board) out as a grid, a row or a column. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "layout"
      ],
      "properties": {
        "gap": {
          "type": "number",
          "description": "Optional spacing in pixels; defaults to 24."
        },
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Card ids to arrange; omitted means every card."
        },
        "layout": {
          "enum": [
            "grid",
            "row",
            "column"
          ],
          "type": "string"
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 36 lines
  • run_generation_card changes data unknown never probed

    Render a generation card: its prompt and model become a video or image job whose result lands in the card. Requires a quote_id from estimate_credit_cost for the card's model and kind (quantity 1), taken with the card's duration and resolution when it has them: per-second models are priced from those, and the quote is verified against the card. A card added with from_card_id and no image_url starts from its source card's finished image; until that card is done the run is refused with nothing charged. Credits are charged only on success; a retry with the same quote_id returns the same job. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "card_id",
        "quote_id"
      ],
      "properties": {
        "card_id": {
          "type": "string",
          "description": "A generation card with a model and a prompt."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_credit_cost for this card's model and kind, quoted with the card's duration and resolution when it has them. Required."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 26 lines
  • save_competitor_ad changes data unknown never probed

    Keep one ad from search_competitor_ads on the account so it can be decoded and placed on a board. Pass the row exactly as returned. Costs no credits. Saving the same ad twice returns the existing saved ad. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ad"
      ],
      "properties": {
        "ad": {
          "type": "object",
          "required": [
            "platform"
          ],
          "properties": {
            "demo": {
              "type": "boolean",
              "description": "True for a sample row: not a real ad and not live data."
            },
            "ad_ref": {
              "type": [
                "string",
                "null"
              ],
              "description": "Opaque reference to the ad's source listing; copy it back unchanged when saving. Null when the source gave none."
            },
            "ad_url": {
              "type": [
                "string",
                "null"
              ],
              "description": "The public listing or post, when known."
            },
            "ad_copy": {
              "type": [
                "string",
                "null"
              ],
              "description": "The ad's primary text."
            },
            "cta_text": {
              "type": [
                "string",
                "null"
              ]
            },
            "platform": {
              "enum": [
                "meta",
                "tiktok"
              ],
              "type": "string"
            },
            "hook_text": {
              "type": [
                "string",
                "null"
              ],
              "description": "The headline or opening line."
            },
            "media_url": {
              "type": [
                "string",
                "null"
              ],
              "description": "The creative (video or image), when the source exposes one."
            },
            "media_type": {
              "enum": [
                "video",
                "image",
                "carousel",
                null
              ],
              "type": [
                "string",
                "null"
              ]
            },
            "running_days": {
              "type": [
                "number",
                "null"
              ],
              "description": "Days the ad has been running, when known."
            },
            "advertiser_name": {
              "type": [
                "string",
                "null"
              ]
            },
            "estimated_spend": {
              "type": [
                "string",
                "null"
              ],
              "description": "As reported by the source, e.g. a monthly range; absent for most platforms."
            },
            "engagement_score": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "description": "One row from search_competitor_ads results[], copied as is."
        }
      }
    }
    arguments 107 lines
  • ad_to_canvas_card changes data unknown never probed

    Place a saved competitor ad on a board as a media card (its video or image, the advertiser as title, the hook as caption) with its decoded brief attached when it has one. Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ad_id",
        "canvas_id"
      ],
      "properties": {
        "ad_id": {
          "type": "string",
          "description": "A saved ad's id, from list_saved_ads or save_competitor_ad."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on. Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 21 lines
  • group_cards changes data unknown never probed

    Wrap chosen cards in a labelled frame that encloses them. Returns the board and the new frame. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "canvas_id",
        "ids",
        "label"
      ],
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "description": "The card ids to enclose."
        },
        "label": {
          "type": "string",
          "description": "The frame's label, up to 200 characters."
        },
        "revision": {
          "type": "number",
          "description": "The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first."
        },
        "canvas_id": {
          "type": "string",
          "description": "The board id, from list_canvases or create_canvas."
        }
      }
    }
    arguments 30 lines
  • generate_image unknown never probed

    Make an AI image: a product still, a thumbnail, a poster, concept art, or a reference frame to animate later. Requires a quote_id from estimate_credit_cost so the price is agreed first; then returns a job id to poll with get_generation (kind "image"). Credits are charged only when the image succeeds. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "prompt",
        "quote_id"
      ],
      "properties": {
        "model": {
          "type": "string",
          "description": "Image model ID from list_models with type \"image\". Must match the quoted model; omitted means the quoted model."
        },
        "prompt": {
          "type": "string",
          "description": "What the image should show."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_credit_cost for this exact image model. Required."
        },
        "image_url": {
          "type": "string",
          "description": "Optional public reference image (image-to-image). Only these models accept one: gpt_image_2, gpt_image_2_edit, gpt_image_2_5_flare, gpt_image_2_5_sunburst, seedream_5_0_pro."
        }
      }
    }
    arguments 25 lines
  • get_article unknown 10h ago

    Fetch the full text of one published article as markdown, by slug.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Article slug, e.g. \"kling-vs-sora-comparison\"."
        }
      }
    }
    arguments 12 lines
  • generate_avatar changes data unknown never probed

    Generate a creator portrait (Nano Banana) to use as the avatar in generate_ad, checked for hands, face and background defects. Requires a quote_id from estimate_ad_cost with kind "avatar". Finishes within the call; credits are charged only when a portrait comes back. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "quote_id",
        "prompt"
      ],
      "properties": {
        "prompt": {
          "type": "string",
          "description": "Who the creator is: age, look, clothing, setting, mood (20-800 characters)."
        },
        "save_as": {
          "type": "string",
          "description": "Optional name; saves the portrait on a brand profile for reuse."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_ad_cost with kind \"avatar\". Required."
        },
        "aspect_ratio": {
          "enum": [
            "1:1",
            "9:16",
            "16:9"
          ],
          "type": "string",
          "description": "Defaults to 9:16."
        }
      }
    }
    arguments 30 lines
  • create_canvas unknown never probed

    Create a new, empty board and return it. Costs no credits. Cards are added to it with the add_* tools. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "name": {
          "type": "string",
          "description": "Board name, up to 100 characters. Defaults to Untitled Canvas."
        }
      }
    }
    arguments 10 lines
  • decode_ad reads unknown never probed

    Decode a saved competitor ad into a reusable formula: hook, script, scenes, audio, call to action and style, plus a generation-ready recreation prompt. Requires a quote_id from estimate_ad_cost with kind "decode" (a flat price). Credits are charged only when the analysis succeeds; an ad decoded before returns its stored decode and charges nothing. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ad_id",
        "quote_id"
      ],
      "properties": {
        "ad_id": {
          "type": "string",
          "description": "A saved ad's id, from list_saved_ads or save_competitor_ad."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from estimate_ad_cost with kind \"decode\". Required."
        }
      }
    }
    arguments 17 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 5e7e635c67b8630e.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/5e7e635c67b8630e/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/5e7e635c67b8630e/badge.svg)](https://brick.blue/agent/5e7e635c67b8630e?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.