Skip to main content
Glama
683,701 tools. Updated 2026-10-21 06:44

"Bilibili - Chinese Video Sharing Platform" matching MCP tools:

  • What is said out loud in one TikTok video, as text. Use when: reading a video without watching it, pulling the claims or the hook out of an ad or a review. Not for: the video's numbers, use tiktok_get_video. The written caption, which tiktok_get_video already returns as text. Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the video carries no speech the platform kept. Cost: 1 credit, or 11 with ai_fallback. Cached 30 days. Example: {"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"}
    ConnectorAPI key
  • Search in-stock products on Ucun Select (home-textile wholesale platform, Nantong China). Supports Chinese or English keyword, category, material, and max-price filters; returns up to 50 matches sorted by relevance, default limit 10. Public read-only, no auth required. Returns an empty array (not an error) when nothing matches. Use this to discover products; then call get_stock with a returned id for full details, or list_categories for an inventory overview.
    ConnectorNo auth
  • Upload videos directly to the Metadata platform library to create video creatives. Downloads videos from provided URLs and uploads them to the platform. WARNING: VIDEO-ONLY: The downloaded file MUST have a `video/*` content-type (e.g. video/mp4, video/quicktime). GIFs and image formats are rejected — use `upload_image_creative` for those. WARNING: WHEN YOU NEED TO CALL THIS: Call this BEFORE `create_update_video_ad` ONLY when you don't already have a videoLibraryId. If the user (or an earlier step) has already given you a creativeID for the video, skip the upload and pass that id straight to `create_update_video_ad`. WORKFLOW INTEGRATION (when an upload IS needed): 1. Upload your video URL with this tool → response contains the integer `id` (the videoLibraryId). 2. Pass that integer `id` as `creativeID` in `create_update_video_ad`. COMMON WORKFLOWS: - Upload existing video → Get videoLibraryId → Use as creativeID in `create_update_video_ad`. - For Reddit VIDEO ads, ALSO upload a thumbnail image via `upload_image_creative` and pass that image library id as `redditThumbnailLibraryId` to `create_update_video_ad`. REQUIRED PARAMETERS: - videos: Array of video URLs to upload. OPTIONAL PARAMETERS: - thumbnail_library_id: Existing imageLibraryId to attach to the uploaded video as its platform thumbnail. Most callers don't need this — Reddit VIDEO ads handle thumbnails at ad-creation time via `redditThumbnailLibraryId`, not here. - usage_type: "CTV" to upload the video for a LinkedIn CTV (Connected TV) ad. The platform then validates the file as CTV inventory (6 to 60 seconds, 1920x1080 or 1280x720, at most 500 MB; LinkedIn recommends exactly 15, 30, 45 or 60 seconds) and only such an upload can back `create_update_ctv_ad`. A non-compliant file is rejected at upload with the platform's reason. Omit for in-feed video ads. VIDEO REQUIREMENTS: - URLs must be valid and publicly accessible. - Supported formats: MP4 (recommended), MOV, and other video/* MIME types. - For GIFs (image/gif): use `upload_image_creative` instead. RESPONSE FORMAT: Returns array of objects, one per video. `id` is returned as a string (the platform's library ids are integers but the upload response stringifies them); pass it to `create_update_video_ad` as an integer (Python `int(id)` if you need the cast). [ { "url": "https://example.com/video.mp4", "name": "video.mp4", "id": "12345", # videoLibraryId — use as creativeID in create_update_video_ad "success": true }, { "url": "https://example.com/bad.mp4", "name": "bad.mp4", "id": null, "success": false, "error": "Download failed: Connection timeout" } ] CHANNEL READINESS: success and id mean the platform library accepted the file. Meta uploads are asynchronous and may still be UPLOADING. Use fetch_creative_details to read per-channel status; a Facebook or Instagram VIDEO ad must wait until that channel is READY. ERROR HANDLING: - If one upload fails, others continue. - Each result includes a success flag and (on failure) an error message. - A content-type that does not start with `video/` is rejected with a clear error pointing the caller at `upload_image_creative`.
    ConnectorAPI key
  • Create OR update a VIDEO ad on Facebook, Instagram, LinkedIn, and/or Reddit. TO UPDATE: include `id`; to CREATE: omit it. CREATIVE WORKFLOW: 1. Upload the video via `upload_video_creative` → response gives `id` (the videoLibraryId). 2. Pass that integer as `creativeID` here. - For Reddit, ALSO upload a still thumbnail via `upload_image_creative` and pass its imageLibraryId as `redditThumbnailLibraryId` (required; the video cannot be its own thumbnail). ALSO KNOWN AS: create video ad, update video ad, edit video ad, modify video ad, video creative, post video, video post, motion ad. KEYWORDS: video, create, update, edit, modify, ad, ads, video ad, video ads, mp4, motion, video creative, video campaign, video upload, video post, video promo, LinkedIn video, Facebook video, Instagram video, Reddit video, IG reel. CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject): - adName: required, max 50 chars, pattern `[a-zA-Z0-9 _.?,:'/+\-=&;%$#\[\]|()]`. - creativeID: required integer (videoLibraryId from `upload_video_creative`). - Landing-page URL is per channel (`facebookDisplayURL`, `instagramDisplayURL`, `linkedinDisplayURL`, `redditDisplayURL`). Required for FB/IG/LinkedIn, optional for Reddit. Per-channel caps: LinkedIn max 2000, Reddit max 100, FB/IG no length rule. For VIDEO the URL MUST be ABSOLUTE (http:// or https:// is required); inputs like `metadata.io` or `www.foo.com` are rejected the same way the UI rejects them. If only one channel's URL is set the server fans it across the other targeted channels. - LinkedIn: linkedinText (max 3000, OPTIONAL for VIDEO unlike IMAGE), linkedinHeadline (required, max 200), linkedinCTA (required, valid enum). linkedinDescription is NOT accepted on VIDEO ads (the platform DTO does not declare it). - Facebook: metaCTA (required), facebookText (required, no length rule on Facebook), facebookHeadline (required, max 250), facebookDescription (optional, max 300). - Instagram: metaCTA (required), instagramText (required, max 125), instagramHeadline (required, max 40), instagramDescription (optional, max 30). - FB+IG ad with one body text: set just one of facebookText / instagramText and the server copies it across (capped at the receiving channel's limit). Set both explicitly only when you want per-channel copy. - Reddit: redditHeadline (required, max 300), redditCTA (required, valid enum), redditThumbnailLibraryId (REQUIRED — separate IMAGE library id). COMMON CTA VALUES: same as `create_update_image_ad` (see that tool for the lists). META UPLOAD READINESS: a video library id means ingestion, not completion of Facebook/Instagram's asynchronous upload. The entire ad batch is refused before writes unless every requested Meta video channel reports READY. Read fetch_creative_details later; do not build campaigns from a refused call, busy-poll or claim an unfinished ad is ready. Existing ads saved without a Meta video id must be rebuilt or updated after upload completion and refreshed in the campaign. See `create_update_image_ad` for image/GIF ads (the URL rule is looser there). For LinkedIn CTV (Connected TV) ads use `create_update_ctv_ad`; the video must be uploaded with `upload_video_creative(usage_type="CTV")`.
    Connector
    Destructive
    API key
  • Create OR update a LinkedIn CTV (Connected TV) video ad. LinkedIn only. TO UPDATE: include `id`; to CREATE: omit it. CTV ads play on streaming TV inventory through the LinkedIn Audience Network. On the platform they are LinkedIn VIDEO ads with adType=CTV, and they carry rules the campaign must meet: - Campaign type Brand Awareness only (never Lead Gen); the LinkedIn channel launches as objective BRAND_AWARENESS optimized for REACH. - The LinkedIn channel MUST use AUTO_BID (a manual bid fails pre-launch validation); `update_linkedin_channel_settings` sets it. - Audiences and target groups may target the United States and Canada ONLY; any other location fails pre-launch validation. - Video spec, enforced when the creative is uploaded: 6 to 60 seconds, 1920x1080 or 1280x720, at most 500 MB. LinkedIn recommends exactly 15, 30, 45 or 60 seconds for delivery. CREATIVE WORKFLOW: 1. Upload the video via `upload_video_creative` with `usage_type: "CTV"` -> response gives `id` (the videoLibraryId). The platform runs the CTV checks at that step and rejects a non-compliant file. 2. Pass that integer as `creativeID` here. A video uploaded without the CTV usage type is not eligible for a CTV ad. 3. Ann attaches the returned ad id to a Brand Awareness campaign's LinkedIn channel like any other ad. ALSO KNOWN AS: connected tv ad, ctv ad, streaming tv ad, linkedin tv ad, ott ad, tv commercial on linkedin. KEYWORDS: ctv, connected tv, streaming, tv, ott, linkedin ctv, video, brand awareness, reach, audience network, commercial. CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject): - adName: required, max 50 chars, same pattern as the other ad tools. - creativeID: required integer (videoLibraryId). - linkedinDisplayURL: required, ABSOLUTE (http:// or https://), max 2000. - linkedinHeadline: required, max 200. linkedinCTA: required enum. - linkedinText: optional, max 3000. No description field (same DTO as LinkedIn VIDEO ads). COMMON CTA VALUES: same as `create_update_video_ad` on LinkedIn. RESPONSE: same envelope as `create_update_video_ad` (`created_ads[]` with adType "CTV", channelType "LINKEDIN"). See `create_update_video_ad` for in-feed video ads and `create_update_image_ad` for image / GIF ads.
    Connector
    Destructive
    API key
  • LinkedIn posts matching a keyword, ranked by LinkedIn's own search. Use when: "what is being said about X on LinkedIn", finding the people posting about a category. Not for: one company's posts, use linkedin_get_company_posts. Finding people to contact, use leads_search_people. Returns: List, ranked. rows[]: posts with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. top_comments are up to 10 commenters per post with their profile URLs, so one page names the people engaging with a topic; transcript is what a video post says. media is video only for a video stream; a photo, a document carousel or a GIF reads image. null or empty = the platform does not publish it. created_at is approximate: the platform shows an age such as "3 weeks ago", so it is exact only to that unit. Cost: 1 credit per page. Cached 6 hours. Example: {"query": "rfp automation", "since": "week"}
    ConnectorAPI key

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Bilibili MCP Server that can retrieve subtitles, danmaku (bullet comments), and comments information from videos using the video URL.
    3
    21
    MIT

Matching MCP Connectors

  • Bilibili videos for AI agents: search, creators, trending, stats, tags and danmaku comments.

  • Bilibili public video, article, dynamic, creator, comments, reactions, and transcript tools.

  • Use when the user wants the videos on a page: <video>/<source> files, og:video, YouTube/Vimeo/Wistia/Loom embeds, direct video links and the JSON-LD VideoObject a page declares (`source: "structured-data"`, how news sites describe a JS-mounted video), each tagged by source with a poster when declared. `source: "embed"` is a player page, not a downloadable file; a URL that is itself a video file comes back as the single result (source file). A YouTube, Vimeo, TikTok, Dailymotion or Loom video URL is answered from the URL alone with its player embed (`source: "platform"`, no fetch, never pass render for these) - tell the user the file itself cannot be downloaded through MiroMiro. When any other page loads a JS player and declares nothing else, the `hint` names the player: call again with render=true (+5 credits) then. Returns up to 40 by default; pass limit (up to 200) for more.
    ConnectorOAuth
  • Taiwan's industry value chains from the TPEx Industry Value Chain Information Platform (47 chains such as semiconductors, D000), to find companies by what they do. Without chain: every chain with its code, name and number of companies (all, and TWSE/TPEx-listed). With chain: the chain's segments in platform order (stream upstream, midstream, downstream or another group; sub-segments carry parent_code) with up to `limit` companies each: TWSE and TPEx companies by market cap (latest close times shares issued, calculated by Livermore) with close and change, then emerging-market (ESB) and GISA companies, which have no stock page or quotes. With chain and segment: only that segment and its sub-segments. Unknown codes return an error. Names, streams and listing groups are in Traditional Chinese. The chain data is not government open data (attribution.other_sources); quotes are. tw_get_stock shows the segments of one company. Taiwan conventions: money is in New Taiwan dollars (currency TWD), share counts are in shares (1 lot = 1,000 shares), prices are in TWD and fields ending in _pct are percentages (12.5 means 12.5%). market is TWSE (listed) or TPEx (OTC). Names are in Traditional Chinese, with name_en where available. url links to tw.livermore.club, whose pages are in Traditional Chinese only. Keep `attribution` when you present the data: Taiwan's Open Government Data License requires naming its sources, and fields listed in computed_by_livermore are Livermore's calculations, not official figures.
    ConnectorOAuth
  • Taiwan's industry value chains from the TPEx Industry Value Chain Information Platform (47 chains such as semiconductors, D000), to find companies by what they do. Without chain: every chain with its code, name and number of companies (all, and TWSE/TPEx-listed). With chain: the chain's segments in platform order (stream upstream, midstream, downstream or another group; sub-segments carry parent_code) with up to `limit` companies each: TWSE and TPEx companies by market cap (latest close times shares issued, calculated by Livermore) with close and change, then emerging-market (ESB) and GISA companies, which have no stock page or quotes. With chain and segment: only that segment and its sub-segments. Unknown codes return an error. Names, streams and listing groups are in Traditional Chinese. The chain data is not government open data (attribution.other_sources); quotes are. tw_get_stock shows the segments of one company. Taiwan conventions: money is in New Taiwan dollars (currency TWD), share counts are in shares (1 lot = 1,000 shares), prices are in TWD and fields ending in _pct are percentages (12.5 means 12.5%). market is TWSE (listed) or TPEx (OTC). Names are in Traditional Chinese, with name_en where available. url links to tw.livermore.club, whose pages are in Traditional Chinese only. Keep `attribution` when you present the data: Taiwan's Open Government Data License requires naming its sources, and fields listed in computed_by_livermore are Livermore's calculations, not official figures.
    ConnectorNo auth
  • One of the eight trigrams by exactly one identifier: binary (e.g. 010), english (e.g. Fire), chinese (pinyin, e.g. Li), symbolic (e.g. Radiance), or element (Chinese character, e.g. 火). This returns a single trigram; list_trigrams returns all eight. Data © IChing.Rocks — attribution is a condition of the license terms: https://iching.rocks/mcp-terms.
    ConnectorNo auth
  • Generate a video from a text prompt, optionally driven by reference images (image-to-video, first/last frame). This is asynchronous: it returns a task_id you poll with get_task(platform='video'). Generation usually takes 30-180 seconds. Pass wait_seconds to have the server poll for you. Video generation is the most expensive capability here — confirm the prompt with the user before spending on retries.
    ConnectorNo auth
  • Apply a batch of Studio tool calls to a video doc and get back the updated doc plus a fresh scene description — YOU (this agent) are the brain, so this needs NO OpenRouter/AI key. Loop: call neuron_studio_catalog once, then neuron_studio_apply with { doc, calls:[{tool,args}] }, read the returned `scene`, apply more, and finally neuron_studio_render. Omit `doc` (with an optional `platform`) to start a fresh video.
    ConnectorNo auth
  • Update the Reddit channel settings of an existing DRAFT wizard campaign: native objective, allow comments, placements (feed/conversations), conversion pixel, and (for manual-bid objectives) the bid amount. These are the same settings the platform UI shows in the Reddit section of the campaign draft page. The campaign MUST already have its Reddit channel enabled (via create_campaign / add_and_edit_campaign_elements with a `reddit` block). WARNING: DRAFT-ONLY: the platform rejects these edits once the campaign is Launching/Launched. KEYWORDS: reddit, reddit campaign, reddit settings, campaign settings, draft campaign, objective, native objective, traffic, brand awareness, reach, views, video views, video views 6s, impressions, clicks, comments, allow comments, placements, placement, feed, conversations, pixel, conversion pixel, conversion tracking, bid, bid amount, manual bid, auto bid, settings WHEN TO USE: - Change the Reddit objective (e.g. from Brand Awareness to Traffic) - Toggle "Allow comments" on Reddit ads - Select placements (Feed and/or Conversations) - Attach or clear a Reddit conversion pixel - Set a manual bid amount for Brand Awareness / Video Views objectives PARAMETERS (campaign_id required; everything else optional — unspecified settings keep their current values on the channel): - campaign_id: the wizard campaign ID - objective: IMPRESSIONS (Brand awareness and Reach) | CLICKS (Traffic) | VIDEO_VIEWABLE_IMPRESSIONS_6S (Video Views 6s). Mirrors the platform UI's Native Objective dropdown. WARNING: Lead Gen (CPL) campaigns only accept CLICKS (landing pages require it). WARNING: Video Views requires the channel to contain ONLY video ads. - allow_comments: whether Redditors can comment on the promoted post (platform default: true) - placements: {"feed": bool, "conversations": bool}. At least one must stay selected (Feed wins if both are false). Conversations is forced OFF when the channel has video ads. - conversion_pixel_id: pixel id from the account's Reddit Ads Manager. Pass an empty string "" to clear. Pixels are managed in Reddit Ads Manager, not here. - bid_amount: manual bid amount. Only applied when the effective objective uses MANUAL_BID (IMPRESSIONS / Video Views). Ignored for CLICKS (AUTO_BID). BID STRATEGY (automatic): changing the objective re-applies the UI's auto-switch — CLICKS → AUTO_BID; IMPRESSIONS / VIDEO_VIEWABLE_IMPRESSIONS_6S → MANUAL_BID. The bid strategy is left untouched when neither objective nor bid_amount is sent. EXAMPLES: Switch a Brand Awareness campaign's Reddit channel to Traffic: update_reddit_channel_settings({"campaign_id": 12345, "objective": "CLICKS"}) Disable comments and run Feed-only: update_reddit_channel_settings({ "campaign_id": 12345, "allow_comments": false, "placements": {"feed": true, "conversations": false} }) Brand awareness with a manual bid and a conversion pixel: update_reddit_channel_settings({ "campaign_id": 12345, "objective": "IMPRESSIONS", "bid_amount": 1.5, "conversion_pixel_id": "pixel_abc123" }) RESPONSE: {success, campaign_id, channel_id, campaign_status, applied:{...}, errors?} `applied` echoes exactly what was pushed to the platform. INTEGRATION WITH OTHER TOOLS: - Use search_campaigns_by_names / get_campaign_by_wizard_id to find the campaign - Reddit channel is enabled by create_campaign or add_and_edit_campaign_elements - Reddit ads come from create_update_image_ad / create_update_video_ad with channels=["REDDIT"]
    Connector
    Destructive
    API key
  • Create a new draft post for a platform. Drafts are not auto-published. For an X or Threads thread, pass `threadParts` (one string per post, 2 to 25) instead of `content`; each post must fit the platform limit (X 280, or 25,000 for a paid X account; Threads 500). When the user has multiple connected channels for the same platform (e.g. three Twitter accounts), pass `channelName` (e.g. "@acme") to target a specific one — call `list_connected_accounts` first to see the available handles. You can also pass the account `providerId` (with or instead of channelName): it still identifies the account after its handle changes. Pass clientRequestId for idempotent retries within 5 minutes. For an Instagram draft with exactly one video in mediaUrls, pass `instagramTrialReel` ("auto" or "manual") to publish it as a trial reel shown to non-followers first; "auto" lets Instagram share it with followers if it performs well; the video URL must end in .mp4, .mov or .avi with no query string, which is how PostNext recognises a video. To give images alt text (an image description for screen readers), pass `media` instead of `mediaUrls`: [{ "url": "...", "alt": "..." }] with an optional `type` (IMAGE, VIDEO or GIF; detected from the URL when missing). Alt text limits: X and Instagram 1,000 characters, Bluesky 2,000, LinkedIn 300 (saved for LinkedIn but not sent to it yet). Alt text is ignored on video and GIF. Returns `dashboardUrl` — a clickable link to view/edit the draft in the PostNext dashboard.
    ConnectorAPI key
  • Search this server’s public AI/Web3 tools and citation pages. English and Chinese names supported. Empty query lists the available worksheets.
    ConnectorNo auth
  • What is said out loud in one Facebook video or reel, as text. Use when: reading a video without watching it, pulling the claims out of a page's ad or clip. Not for: the post's text, which facebook_get_post already returns. Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the post carries no speech. Cost: 1 credit. Cached 30 days. Example: {"url": "https://www.facebook.com/reel/1535656380759655"}
    ConnectorAPI key
  • The transcript of one YouTube video, as text. Use when: reading a video instead of watching it, pulling claims, chapters or quotes out of long content. Not for: the video's numbers, use youtube_get_video. The comments, use youtube_get_comments. Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the video has no captions. Cost: 1 credit. Cached 30 days. Example: {"url": "https://www.youtube.com/watch?v=5EWaxmWgQMI"}
    ConnectorAPI key
  • Create, schedule, queue, publish or cross-post content to connected social accounts. Use this for any request to post now, schedule for later, publish to multiple platforms at once, or add something to the posting queue. Supported platforms: YouTube, TikTok, Instagram, Facebook, LinkedIn, Pinterest, Threads, Bluesky, X and Google Business Profile. When the user wants to set the post up themselves or per-platform options are still open (TikTok privacy, YouTube title, Pinterest board), prefer compose_post, which opens an editable composer in app-capable hosts. Without scheduled_at the post is saved as a DRAFT — set publishNow: true to post immediately. Requires paid plan. Images are fitted to each platform automatically at publish (format, size, Instagram's 4:5–1.91:1 ratio by padding, consistent carousels); 4:5 images look best on Instagram, 9:16 suits TikTok and Reels. Posts that break a rule Unsora can't fix (video length/size, image count, caption length) are rejected with an `issues` list per platform. YouTube only takes video and uses `title` (video title). Pinterest needs media (1 image, 2–5 images or a video). X takes text, 1 image, 2–4 images or 1 video (up to 140 s, 512 MB) with a caption of at most 280 characters. Google Business Profile takes text or exactly 1 JPG/PNG image (max 5 MB), no video, summary max 1500 characters, with an optional call-to-action button (google_business). In app-capable hosts the result renders as an interactive panel the user can see and act on — do NOT repeat its contents as a list or table in your reply; add only what the panel doesn't say.
    ConnectorOAuth
  • Search this server’s public AI/Web3 tools and citation pages. English and Chinese names supported. Empty query lists the available worksheets.
    ConnectorNo auth
  • Search this server’s public AI/Web3 tools and citation pages. English and Chinese names supported. Empty query lists the available worksheets.
    ConnectorNo auth