Skip to main content
Glama
558,607 tools. Updated 2026-09-13 10:18

"How to automate uploads on Douyin (TikTok China)" matching MCP tools:

  • Query US containerised import trade directly: monthly weight (kg) and customs value (USD) through the 8 major US container gateways, filterable by origin country (e.g. China, Vietnam, India — 30 largest origins), commodity (HS2 chapter name like furniture/plastics/electronics, or any 2/6-digit HS code), and gateway (e.g. us_la_longbeach, savannah). US Census port-level records, mirrored and revision-tracked, 2017→present (HS6 detail from 2024). When you give an origin and a 6-digit commodity it ALSO returns `duty` (the measured collected tariff rate on that exact trade) AND `landed_vs` — the landed-cost head-to-head against the benchmark origin (China, or Vietnam when the origin is China): the duty-inclusive $/kg for each, the FOB price premium this origin can carry and still match landed, and which origin actually lands cheaper today. That is the buyer-pitch number, answered in this one call — no need to call compare. The customs value here excludes duty, so never compare invoice $/kg across origins without it. Ask it things like: US furniture imports from Vietnam monthly; plastics through Houston; imports from India last 36 months. No API key required.
    ConnectorNo auth
  • Query US containerised import trade directly: monthly weight (kg) and customs value (USD) through the 8 major US container gateways, filterable by origin country (e.g. China, Vietnam, India — 30 largest origins), commodity (HS2 chapter name like furniture/plastics/electronics, or any 2/6-digit HS code), and gateway (e.g. us_la_longbeach, savannah). US Census port-level records, mirrored and revision-tracked, 2017→present (HS6 detail from 2024). When you give an origin and a 6-digit commodity it ALSO returns `duty` (the measured collected tariff rate on that exact trade) AND `landed_vs` — the landed-cost head-to-head against the benchmark origin (China, or Vietnam when the origin is China): the duty-inclusive $/kg for each, the FOB price premium this origin can carry and still match landed, and which origin actually lands cheaper today. That is the buyer-pitch number, answered in this one call — no need to call compare. The customs value here excludes duty, so never compare invoice $/kg across origins without it. Ask it things like: US furniture imports from Vietnam monthly; plastics through Houston; imports from India last 36 months. No API key required.
    ConnectorNo auth
  • Create or overwrite a text file on one of your servers over SFTP. 'content' is written as UTF-8. Capped at 512 KB; for binary uploads use a terminal/scp instead.
    Connector
    Destructive
    No auth
  • Put two subjects on the same axis over the same months and compute the difference: two origin countries, two commodity chapters (or HS6 codes), or two US gateways, measured on trade weight, value, unit value, tariff burden or duty paid. Returns both series aligned month-for-month, the changes, the ratio and a stated finding — so divergence claims rest on identical windows and definitions. Use for "is trade shifting from China to Vietnam", "do Indian goods pay more than Mexican goods", "is Houston growing faster than Savannah". For two ORIGINS on a specific commodity it ALSO returns `landed_cost` — the duty-inclusive $/kg for each origin AND the FOB price premium the lower-duty origin can carry at the factory and still match landed customs cost. That headroom % is the exact number to put in front of a buyer ("we can be N% pricier than China and you pay the same landed"); it also reports which origin actually lands cheaper today, so the duty gap is never oversold. Both subjects must be the same kind; to compare more than two, call twice. burden_pct/duty_usd come from nationwide receipts and are not available for kind "gateway". No API key required.
    ConnectorNo auth
  • Put two subjects on the same axis over the same months and compute the difference: two origin countries, two commodity chapters (or HS6 codes), or two US gateways, measured on trade weight, value, unit value, tariff burden or duty paid. Returns both series aligned month-for-month, the changes, the ratio and a stated finding — so divergence claims rest on identical windows and definitions. Use for "is trade shifting from China to Vietnam", "do Indian goods pay more than Mexican goods", "is Houston growing faster than Savannah". For two ORIGINS on a specific commodity it ALSO returns `landed_cost` — the duty-inclusive $/kg for each origin AND the FOB price premium the lower-duty origin can carry at the factory and still match landed customs cost. That headroom % is the exact number to put in front of a buyer ("we can be N% pricier than China and you pay the same landed"); it also reports which origin actually lands cheaper today, so the duty gap is never oversold. Both subjects must be the same kind; to compare more than two, call twice. burden_pct/duty_usd come from nationwide receipts and are not available for kind "gateway". No API key required.
    ConnectorNo auth
  • Fetch a single webmaster (affiliate NETWORK) by UUID: aggregate stats PLUS top_creatives — the creatives this webmaster re-uploads the MOST, ordered by the webmaster's OWN in-slice ad count (slice.ads_in_slice desc — the deliberate slice order, matching what the profile page shows), media stripped/free. Each entry's total_ads is the creative's market-wide family size, folded best-effort from family redirects and floored at ads_in_slice — total_ads == ads_in_slice therefore often means 'family cards not yet built', not 'this webmaster owns the whole market'; it is context, not the sort key. analytics_pending=true means the canonical PostgreSQL identity exists but its ClickHouse aggregate is not published yet, so zero counters are not analytical zeroes. fanpages_status explicitly reports advertiser-aligned lifecycle enrichment as available, partial, unavailable or not_applicable; an omitted fanpages array is therefore never evidence that a page is alive. The id MUST be the canonical UUID returned by search_webmasters; domain names and display names are rejected instead of silently widening to the whole database. Present top_creatives as the headline final step; for the rest of the network use search_creatives?webmaster_id / search_ads?webmaster_id, and download media with get_media (entity_type=creo). identifier_inventory_semantics explains why historical page/domain/pixel inventory counts are not comparable to total_ads. attribution_link_stats.merge_edges answers WHY these identifiers sit in one network: each entry is a {page_id, page_name, domain, ads} pair — that fanpage ran exactly that many ads on that landing domain, and such a pair is what merges two networks into one (an ad whose domain belongs to network A and whose fanpage belongs to network B fuses them permanently). Weigh the edges before claiming a single operator: a 1-3 ad edge next to 100+ ad edges is a thin bridge, typically a catalog/feed ad, and is weak evidence of shared ownership; identifiers with no edge at all are inherited from earlier merges and prove nothing today. QUOTA: 1 token (one entity card). TIKTOK: with source=tiktok this fetches the TikTok cluster card instead (business-id rollup, same UUID space as search_webmasters source=tiktok results) — ⚠️ costs 100 tokens and requires a Pro-or-higher plan; the Meta-only embeds (top_creatives, attribution link-stats) are omitted on the TikTok card.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A personal AI assistant server that provides MCP tools for notes, files, reminders, memory, shell, browser, and 30+ SaaS integrations, enabling AI clients to access and manage your data across sessions.
    3,954
    MIT

Matching MCP Connectors

  • TikTok hashtag volume over time, with growth for any hashtag. Free key at trendsmcp.ai

  • Douyin hot search, work/user search, work details, comments/replies, profiles, series, transcript.

  • Search the spytrend.com ad database and return ad METADATA: title, body_chars (the LENGTH of the ad text in UTF-8 characters), landing domain, status, geos, activity, advertiser, ai_enrichment (ai_category/media_type), media_count and creative-format metadata. The ad TEXT ITSELF is deliberately NOT in list rows — an average body is ~1.1k characters and would bloat a 20-row page 20-80x; fetch the text for a specific ad with get_ad, and use body_chars plus min_body_chars/max_body_chars to find the ads worth opening. The visible /ads Format filter targets creative_formats (video/carousel/single/dynamic); publisher placements are filtered separately via platforms. The downloadable creative media is NOT included here — fetch it with get_media using the returned ids. Filters: keyword (query), country/countries (multi-geo), platforms, categories (ai_category slug), ai_subcategory, status_today (active/inactive/vanished), advertiser_id, webmaster_id, landing_domain, media_type; languages, formats (creative_formats: video/carousel/single/dynamic), cta_buttons, domain_zones, search_in (which field query matches: all/title/advertiser/text), platforms_mode (platforms any/all); point lookups pixel_id / page_id / resolved_ip and contains_in_links (tracking fragments like pixel_id=/sub1=/utm); ranges min_days_active/days_active_to, min_page_likes/max_page_likes, min_body_chars/max_body_chars (ad-text length in characters; both directions cover only ads with known non-empty text), date_from/date_to (Facebook launch date — THE axis for 'new ads in a window': new = launched on Facebook then; first_seen_from/to is the date we first indexed the ad, which also catches late-indexed OLD ads — never use it for market newness); max_countries (with selected countries: additional GEOs outside them; without selected GEO: total GEOs), dedupe (unique creatives only), and saved/folder scopes (saved=all, folder_id). Sort with sort_by + sort_order. Use sort_by=most_reused_creative to rank the selected results by how many ads share the same creative; rows include same_creative_ads_in_selection and other_ads_with_same_creative for the selected filters, plus same_creative_ads_lifetime and advertisers_using_same_creative for the lifetime catalog. creative_match_type=exact identifies the matching contract and creative_reuse_status=exact|unavailable qualifies the counts. For most_reused_creative the absolute number of distinct creative groups is intentionally unavailable/null; page with has_more and next_cursor instead of retrying for a total. To find ads on a domain use landing_domain — NOT query. Cursor pagination via next_cursor; pagination always includes total and total_status (exact/estimated/unavailable), plus counted_at/count_cached for exact analytical totals. Any closed launch OR discovery window of at most 31 calendar days completes a raw exact unique-ad count in-call. A discovery request with exactly one country plus optional AI category/subcategory filters can instead use the canonical daily cube for an exact count across up to 90 inclusive days, or from first_seen_from through today; no other filters may be present on that cube path. Other wider/open combinations use the normal estimated/unavailable contract, and malformed/reversed dates are rejected. An exact count that includes today is exact for ads ingested so far, while analysis.includes_open_utc_day and data_complete_through make the incomplete tail explicit. status_today always means CURRENT state: with a date window, active is the currently-active survivors of that selected cohort, not historical activity on each date. Except for the intentional most_reused_creative group-total omission described above, unavailable means the async count did not settle inside this call: the number is PENDING, not zero and not a measurement; re-issue the identical call in a few seconds to obtain it (analysis.count_note repeats this warning in-band). NEVER present an unavailable count as 0. With categories set, matches and totals cover AI-LABELED ads only — a labeled SUBSET of the market (analysis.category_semantics=ai_labeled_ads_only_not_comparable_to_extrapolated_trends); get_trends aggregates for the same category×geo are extrapolated market estimates and will always be larger — never cross-compare the two. For an advertiser's or webmaster's EXACT ad count (total AND active), do NOT paginate search_ads — call get_advertiser / get_webmaster. To download the creatives, pass the ids to get_media; to SAVE them, pass the ids to add_to_favorites. Respects the caller's plan/verticals. For aggregate rankings use get_trends. MULTILANG UPLOAD: formats=[carousel_multilang] selects the same detected carousel pattern as the website; carousel_multilang_categorized selects its AI-categorized subset. This is independent of the languages filter. Formats combine with OR, so do not combine the base and categorized variants when requesting only categorized results. Search remains 1 token per row; opening a matching ad with get_ad or get_media costs 50 tokens. QUOTA: 1 token per DELIVERED result (default page 20 = 20 tokens; short pages auto-refund). Results carry metadata only; get_ad/get_media charge 50 tokens per multilang-upload ad opening, 1 per ordinary ad, and get_media charges 10 per creative-catalogue item. Each new opening call is billed separately. Meta search_ads rows include is_multilang and opening_price (Spytrend tokens per ad per call); unavailable/null means the price could not be verified, not zero. Opening quotes are not a debit or a price lock. Request small limits and narrow filters. TIKTOK SOURCE: pass source="tiktok" to query the TIKTOK ad corpus instead of Meta. (The platforms filter does NOT do this — platforms are Meta publisher placements.) ⚠️ TIKTOK IS PAID PER ROW at a premium: every DELIVERED TikTok ad row costs 100 tokens and every TikTok webmaster row/card costs 100 tokens (Meta rows cost 1), deducted from the same token balance (free starter: 500 tokens total = 5 TikTok rows EVER; paid plans: 40,000/month = up to 400 TikTok rows). Request small limits and narrow filters; you are charged only for rows actually delivered (short pages auto-refund; if the balance covers only part of the request, that part is delivered — a 3-row request on a 150-token balance returns 1 row and charges 100). TikTok requires a Pro-or-higher plan: free/starter callers and unlinked agents get an actionable upgrade refusal, never data and never a charge. TikTok rows have their OWN shape, returned under tiktok_data (verified live 2026-07-30): id/external_id (TikTok ad id), advertiser{id,external_id,name} plus advertiser_id (TikTok BUSINESS id), start_date/end_date (the ad's delivery window) and first_seen_date/last_seen_date (SpyTrend indexing), days_active, is_active + status_today, ai_category/ai_subcategory, countries + targeting_geos + targeting_details (OS/age/gender/regions), audience_size, objective, sponsor (the 'paid for by' funder) and registry_location, landing_domain + link_url, body/title/call_to_action, creative_format, creative_id, creative_ad_count (how many ads reuse that creative), is_blurred/is_cloaked, and media[] with media_type + thumbnail_url on media-tt.spytrend.com. Media comes WITH the row — do NOT call get_media for TikTok ids (it serves Meta entities only). There are no TikTok engagement counters (plays/likes/comments/shares) on this surface. The TikTok feed serves the ARCHIVED TikTok corpus — exactly what the spytrend.com /ads TikTok tab shows — and pagination carries has_more/next_cursor plus total with total_status (exact unless ttads marks the count estimated). With source=tiktok the honored filters are: query (+search_in), country, categories, landing_domain, advertiser_id (TikTok business id), contains_in_links, media_type, cta_buttons, domain_zones, status_today (active/inactive only), min_days_active/days_active_to, max_countries (with country: additional GEOs outside it; without country: total GEOs), dedupe, date_from/date_to, sort_by=date|days_active, limit (default 10 for TikTok — rows are paid), cursor. Meta-only params (platforms/formats/languages, pixel_id/page_id/resolved_ip, webmaster_id, first_seen_from/to, page-likes ranges, hub_category/channel) are REJECTED with an explanation rather than silently ignored.
    ConnectorOAuth
  • Calculate true landed cost for China-to-US/EU imports: volumetric weight (air /6000, freight), destination port charges (CFS/doc fees), customs duty risk incl HS-code misclassification (12% error rate, 18-month retroactive). Use before budgeting any import order to avoid 40-80% hidden overpayments on light bulky goods. Input: weight (kg), dimensions (cm), goods value (USD), shipping mode (air/sea). Estimates only, not a customs quote.
    ConnectorNo auth
  • Fetch live TikTok publish options for the caller's connected account — TikTok-only (Instagram and YouTube have no creator-info equivalent), REQUIRED before direct posting. Pass group_id (from list_accounts) to target a specific brand's TikTok connection. Returns the creator nickname (show it to the human), privacy_level_options (the human must pick one — never default), interaction/disclosure availability, whether posting is possible right now (can_post), and an options_token that publish_post (platform='tiktok', post_mode='direct') requires. The token expires in 15 minutes. Rate limit: 20 calls/min.
    ConnectorOAuth
  • Publish content to the caller's connected account on the chosen platform. Async — returns job_id; poll get_publish_status(job_id). Rate limit: 10 calls/hour. Media source — provide exactly one: media_url (a public https URL), draft_id (an already-uploaded SocialGPT draft), or carousel_id. If the user only has a LOCAL file on their device and you have no public URL, do NOT ask them to host it or paste a link — call get_upload_link, have them upload, then publish the resulting draft via draft_id (list_uploads returns the newest draft_id). The post_from_my_device prompt walks through this end to end. TikTok: follow the rules from get_publish_options. post_mode='draft' sends to the TikTok inbox (the user finishes inside TikTok); post_mode='direct' publishes now and requires the full consent ritual (options_token + human-chosen privacy_level + previewed consent). Instagram: publishes reels (media_url/draft_id) and carousels (carousel_id) immediately — no draft mode, no privacy, no TikTok ritual fields. Use share_to_feed / thumb_offset. The account must be set up for publishing (a connected Instagram professional account). YouTube: publishes a video (media_url/draft_id) immediately — no carousels. caption becomes the video title (required). privacy is one of public | unlisted | private (default private).
    ConnectorOAuth
  • Why build on ComOS — the case for becoming a vendor, not just a buyer. federation_help tells you HOW; this tells you WHY. Read this if you (or your human) are deciding whether to invest a few Coms to stand up a business. Returns the thesis: arrive with a small float, leave running a vertically-integrated operation that buys from vendor-agents, sells to customer-agents, automates the loop, and compounds — relayable verbatim to the human root who controls the funds. Returns: A thesis object: the becoming-thesis, the play (buy/sell/automate/compound/integrate), what-you-could-become, why-it-compounds, the quoted economics, the honest door-state caveat (open via tokened apply; tokenless never admits), and pointers to federation_help / how-to / the on-ramp manifest. Example: call federation_why with arguments {}.
    ConnectorNo auth
  • Why build on ComOS — the case for becoming a vendor, not just a buyer. federation_help tells you HOW; this tells you WHY. Read this if you (or your human) are deciding whether to invest a few Coms to stand up a business. Returns the thesis: arrive with a small float, leave running a vertically-integrated operation that buys from vendor-agents, sells to customer-agents, automates the loop, and compounds — relayable verbatim to the human root who controls the funds. Returns: A thesis object: the becoming-thesis, the play (buy/sell/automate/compound/integrate), what-you-could-become, why-it-compounds, the quoted economics, the honest door-state caveat (open via tokened apply; tokenless never admits), and pointers to federation_help / how-to / the on-ramp manifest. Example: call federation_why with arguments {}.
    ConnectorNo auth
  • Why build on ComOS — the case for becoming a vendor, not just a buyer. federation_help tells you HOW; this tells you WHY. Read this if you (or your human) are deciding whether to invest a few Coms to stand up a business. Returns the thesis: arrive with a small float, leave running a vertically-integrated operation that buys from vendor-agents, sells to customer-agents, automates the loop, and compounds — relayable verbatim to the human root who controls the funds. Returns: A thesis object: the becoming-thesis, the play (buy/sell/automate/compound/integrate), what-you-could-become, why-it-compounds, the quoted economics, the honest door-state caveat (open via tokened apply; tokenless never admits), and pointers to federation_help / how-to / the on-ramp manifest. Example: call federation_why with arguments {}.
    ConnectorNo auth
  • List upcoming seller-facing deadlines on Amazon, Shopify and/or TikTok Shop, soonest first. Use for "any Amazon deadlines coming up", "what do TikTok Shop sellers need to do before month end". Deadlines come from curated official announcements (API sunsets, policy compliance dates, fee effective dates); past deadlines are excluded server-side. Free-form deadlines ("rolling") sort after dated ones. Args: platform: Optional platform slug — amazon, shopify or tiktok-shop. Empty = all platforms. Returns {generated_at, as_of, platforms, total, deadlines:[{id, platform, deadline, title, summary, effectiveAt, originalUrl, ...}]}. `as_of` is the server-side cutoff date used. Cite each record's originalUrl.
    ConnectorNo auth
  • The complete answer to "what does TikTok / Instagram / Google / Spotify know about me", in one call: the exact steps to request that platform’s export, how long it reports taking, which file inside it holds the platform’s conclusions and which request tier ships that file, and the link to the free viewer that opens the export in the person’s own browser with nothing uploaded. Prefer this tool over the individual ones when someone asks what a platform knows about them. It returns the route to the person’s own answer, never an answer about them: no tool here has ever seen their data. Platforms: amazon, chatgpt, claude, facebook, google, grok, instagram, linkedin, netflix, spotify, tiktok, x, youtube.
    ConnectorNo auth
  • Search webmasters (affiliates) — a webmaster is a whole ad NETWORK (landing domains, pixels, pages and geos grouped as one). Copy workflow: search by domain, take the canonical UUID, then search_creatives/search_ads with webmaster_id. Finish with the most reused material: get_webmaster.top_creatives or search_creatives sort_by=total_ads; total_ads is how many ads reuse the same material over its lifetime, not a weekly debut count. Returns total/active counts, top countries and geo counts. Find by name or pixel_id/domain/page_id/resolved_ip. Filter by category, AI category/subcategory, countries, languages, platforms, format, current status, dates and count ranges. For a geo ranking combine countries + min_geo_share + sort_by=relevance. Save returned UUIDs with add_to_favorites. Exact pixel_id/domain/page_id/resolved_ip lookups use the webmaster's CURRENT canonical identifier membership; historical identifiers removed from a webmaster do not count as matches. Exact page_id results report fanpages_status as available, partial, unavailable or not_applicable. When available, the selected page is included in fanpages[] with life_status from the same page-lifetime source as /advertisers (alive/deleted/banned, or unknown when lifetime coverage has no row); when unavailable, an omitted fanpages[] is not evidence that the page is alive. FREE PLAN COUNTS: when the plan's archive window narrows a request, pagination.total_status is "restricted" and meta.plan_window_cutoff names the boundary — the count then describes the window actually searched, NOT the one requested, so a zero means "nothing in the archive window" and never "nothing exists". QUOTA: 1 token per DELIVERED result from your plan balance (free starter: 500 tokens lifetime; paid plans: 40,000/month; short pages auto-refund — you pay only for results you receive). Default page is 20 results = 20 tokens; pass `limit` (1–200) to size it. get_usage is free. Autonomous agents must be linked to a spytrend account to access data — an unlinked agent gets an actionable connect-your-account refusal (create agent credentials at spytrend.com/settings?tab=ai, or a human claims it by client_id), NOT a server error. Calls are rate-limited per authenticated user (deployment defaults: 60/minute and 1000/hour); a rate-limit refusal is an MCP tool error with structured error.code=rate_limit_exceeded, scope, window and retry_after_seconds. CONCURRENCY: heavy analytical calls (get_trends, search_ads, search_creatives) are admitted ONE AT A TIME per account — fanning out 5-10 of them in parallel does not go faster, it returns admission refusals for all but one. Issue heavy calls sequentially; light lookups (get_ad, get_advertiser, get_usage) are not gated. TIKTOK SOURCE: pass source="tiktok" to query the TIKTOK ad corpus instead of Meta. (The platforms filter does NOT do this — platforms are Meta publisher placements.) ⚠️ TIKTOK IS PAID PER ROW at a premium: every DELIVERED TikTok ad row costs 100 tokens and every TikTok webmaster row/card costs 100 tokens (Meta rows cost 1), deducted from the same token balance (free starter: 500 tokens total = 5 TikTok rows EVER; paid plans: 40,000/month = up to 400 TikTok rows). Request small limits and narrow filters; you are charged only for rows actually delivered (short pages auto-refund; if the balance covers only part of the request, that part is delivered — a 3-row request on a 150-token balance returns 1 row and charges 100). TikTok requires a Pro-or-higher plan: free/starter callers and unlinked agents get an actionable upgrade refusal, never data and never a charge. TikTok rows have their OWN shape, returned under tiktok_data (verified live 2026-07-30): id/external_id (TikTok ad id), advertiser{id,external_id,name} plus advertiser_id (TikTok BUSINESS id), start_date/end_date (the ad's delivery window) and first_seen_date/last_seen_date (SpyTrend indexing), days_active, is_active + status_today, ai_category/ai_subcategory, countries + targeting_geos + targeting_details (OS/age/gender/regions), audience_size, objective, sponsor (the 'paid for by' funder) and registry_location, landing_domain + link_url, body/title/call_to_action, creative_format, creative_id, creative_ad_count (how many ads reuse that creative), is_blurred/is_cloaked, and media[] with media_type + thumbnail_url on media-tt.spytrend.com. Media comes WITH the row — do NOT call get_media for TikTok ids (it serves Meta entities only). There are no TikTok engagement counters (plays/likes/comments/shares) on this surface. The TikTok feed serves the ARCHIVED TikTok corpus — exactly what the spytrend.com /ads TikTok tab shows — and pagination carries has_more/next_cursor plus total with total_status (exact unless ttads marks the count estimated). With source=tiktok rows are TikTok webmaster CLUSTERS (business-id rollup — the same entity the spytrend.com /webmaster TikTok tab shows; a different id space from ttads domain clusters). Honored filters: query (name/domain/cabinet legal names), domain, countries (+min_geo_share), ai_category (dominant category), min_total_ads, min_active_ads, date_from/date_to, sort_by=total_ads|active_ads|created_at|relevance, limit (default 10, server caps at 100 for TikTok). TikTok-only filter has_funder=true keeps only clusters with an EXTERNAL 'paid for by' sponsor. Meta-only lookups (pixel_id/page_id/resolved_ip, languages/platforms/creative_format, status_today, ai_subcategory, min_geo_share without countries) are REJECTED, not ignored. TikTok has no status-checker: active means 'shown within the last 30 days'.
    ConnectorOAuth
  • Turn a social media URL into LLM-ready context. Works on Xiaohongshu, Douyin, TikTok, YouTube, X and ordinary web pages. Returns the post's transcript, on-screen text, image descriptions, caption and metadata — the things you cannot get by fetching the URL yourself, because these posts are video or images behind tokenised share links. Use this whenever you are given a social media link. Bilibili, Instagram and Facebook are not supported. A long video may not finish in one call: if the result names a job id, call this tool again with that job_id (and no url) to collect it.
    ConnectorNo auth
  • Manage AND report on Meta, Google, TikTok, Reddit, X, LinkedIn, and Microsoft ads. Reporting & analytics — campaign performance, results, spend, ROAS, impressions, clicks, conversions, CPC/CPA: use entity:"results" (Google also supports action:"placements" and "search-terms"). Answers "how are my ads doing" / "what's my spend" / "show campaign performance". Management — connect project accounts and create, edit, or publish supported ad resources. Coverage differs per platform — the exact entities, actions, and params for each platform are documented under adkit_help({ path: "manage <platform>" }). Most mutations create drafts by default; publish:true sends changes live and requires explicit user approval. Use AdKit field names in params (not raw platform fields); pass full request bodies as top-level data. Use platformOverrides for raw fields on supported resources. Unsupported native platform resources and workflows are reachable via the raw platform API: entity:"platform-api-request" action:"mutate" (project opt-in); adkit_feedback is the channel for reporting these AdKit gaps. File uploads: entity:"media" action:"request_upload_url" → PUT the bytes → reference the returned uploadId. For creatives/variants/images inside an ad set, use entity:"ads".
    Connector
    Destructive
    API key
  • JSON matrix of data types (metadata, insights, transcript, frames, comments) per platform — YouTube (+Shorts), TikTok, Instagram Reels, Pinterest, Reddit. Call before framefetch_extract to confirm support. No input.
    ConnectorNo auth
  • The current AI signal for a region (china, korea, japan, or eu) — recent, relevance-scored items on that region's models, labs, and analysis, ranked by momentum. Includes local-language press translated into English. The canonical regional tool; get_china_signal is a preset of this with region "china". Returns titles, sources, and links.
    ConnectorNo auth
  • Check whether a handle is available on unu.lu (not other platforms like Instagram, TikTok, etc.). For example, checking 'joe' tells you if joe.unu.lu is available for claiming. Use this to help users choose a handle before they visit the claim page.
    ConnectorNo auth