Skip to content

TikTok MCP: Videos and Comments for Claude, ChatGPT and Cursor

A TikTok MCP server lets your AI agent read public TikTok videos, play counts and comments right in the chat. See how TikTok's own ads connector differs, connect Scrape.ly's hosted server to Claude, ChatGPT or Cursor without a TikTok account, and see a real run with output and costs.

Published
Reading time
10 min read
Pixel-art robot with an orange >_ on its terminal head carries a cable from a phone showing the TikTok note logo on a short video, with like, comment and share icons down its edge, into a server rack labelled MCP
In this article
  1. Is there an official TikTok MCP server?
  2. How to connect the Scrape.ly MCP server
  3. One TikTok Actor, every public input
  4. What the agent does: the four tool calls
  5. A real run: @duolingo vs @nasa
  6. The comments
  7. Prompts that work well
  8. What your agent can and can't get from TikTok
  9. Spending control for agents
  10. Is it legal to scrape TikTok with an AI agent?
  11. FAQ
  12. Does TikTok have an official MCP server?
  13. What is the TikTok MCP server URL for Scrape.ly?
  14. Can Claude analyze TikTok videos?
  15. Can my agent read TikTok comments?
  16. Do I need the TikTok API or a developer account?
  17. How much does a TikTok MCP setup cost?

A TikTok MCP server is a Model Context Protocol server that gives an AI agent such as Claude, ChatGPT or Cursor tools for TikTok data: a profile's latest videos, play, like, share and save counts, hashtags, search results and the comments under a video. For research on accounts you don't own, the best TikTok MCP setup is the hosted Scrape.ly MCP server: your agent runs a ready-made TikTok scraper in the cloud against public pages and gets every video as a structured row, with no TikTok login, no developer app and no Business account.

This guide explains how that differs from TikTok's own MCP server, shows the setup for each client, the tool calls, and a real run from 27 October 2026: the four latest videos from @duolingo and @nasa with 13 comments, in 15 seconds, for about two cents. It also says plainly what an agent can't get from TikTok this way.

Is there an official TikTok MCP server?

Yes, for advertisers. TikTok runs the TikTok for Business MCP Server, a hosted server with two URLs: a "Full Disclosure" one where "all around 400 tools load at connection time" and a "Progressive Disclosure" one where "only around 40 core tools load initially." TikTok's setup guide lists what you need first: "A TikTok for Business account. This account is required to authorize TikTok for Business MCP Server so your AI agent can act on your behalf within the TikTok for Business ecosystem." TikTok describes the server as giving an agent "direct, programmatic access to the TikTok Ads platform", and you sign in with OAuth.

That's the right tool for running your own campaigns from a chat. It's a different job from research, where the agent needs public content from accounts you don't control: how a competitor's last ten videos performed, whether a creator's plays hold up before you sign a deal, what people say in the comments under a brand's post. The third-party TikTok MCP servers we found on GitHub and in MCP directories are mostly front ends for a data vendor's API, billed in that vendor's own credits or points, or local tools you install and keep unblocked yourself.

The Scrape.ly server reads public TikTok pages in the cloud and hands the agent rows.

Scrape.ly MCP server TikTok for Business MCP Server
Built for Research on any public account, hashtag or search Managing ads in your TikTok for Business account
TikTok account needed None A TikTok for Business account, signed in with OAuth
What the agent gets One row per video: caption, plays, likes, shares, saves, comments count, music, hashtags, author stats; comments on request Tools for the TikTok Ads platform
Whose data Any public profile, hashtag, search or video URL The ad accounts you authorize
Export and schedule JSON, CSV or Excel datasets; schedules and automations Inside the chat

How to connect the Scrape.ly MCP server

The Scrape.ly MCP server is hosted at https://mcp.scrape.ly, speaks MCP's streamable HTTP transport and signs you in with OAuth or a Scrape.ly API token. Create a free account first; the free plan includes $5 of usage credit every month, no card needed.

Claude Code. One command, then /mcp inside Claude Code to sign in:

shell
claude mcp add --transport http scrapely https://mcp.scrape.ly

Claude Desktop and claude.ai. Add https://mcp.scrape.ly as a custom connector under Customize → Connectors. Claude signs you in with OAuth.

Cursor. Add this to ~/.cursor/mcp.json, or leave out headers to sign in with OAuth:

json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

ChatGPT, VS Code, Windsurf and others use the same URL with OAuth or a Bearer header; formats are in the MCP docs.

A TikTok-only server. To give the agent just the TikTok tool, put the Actor in the URL:

Text
https://mcp.scrape.ly?actors=echofield/tiktok-scraper

One TikTok Actor, every public input

One Actor covers every public entry point. The TikTok Scraper takes any mix of these inputs, and resultsPerPage caps each one:

Input What it does Useful options
profiles Usernames or user IDs profileSorting latest or popular, excludePinnedPosts, date window, reposts
hashtags Videos on a tag, with the tag's view count when TikTok sends it scrapeAdditionalAuthorMeta
searchQueries Top or video search; each hit keeps the query that found it videoSearchDateFilter, videoSearchSorting
postURLs Full video URLs or short share links scrapeRelatedVideos
Comments Top-level comments, plus replies when you set a cap commentsPerPost, maxRepliesPerComment

Every video row carries the caption, publish time, play, like, share, comment, save and repost counts, duration, music, hashtags, effect stickers and the author's follower, video and heart counts. Pricing is $2.01 per 1,000 videos, plus $0.000593 per comment when you ask for comments, with platform usage included, as listed on the Store page on 27 October 2026. Private profiles and dead links are never charged. For shops instead of videos, the TikTok Shop Scraper returns products with price, sold count, rating and seller.

What the agent does: the four tool calls

  1. search-actors with "tiktok" finds the Actors above.
  2. fetch-actor-details returns the input schema, README and price, so the agent knows usernames go in profiles without the @ and the comment cap is commentsPerPost.
  3. call-actor starts the run and waits up to 45 seconds. Ours finished in 15.
  4. get-actor-output reads the rows, with only the fields the agent asks for.

The rows never land in the call-actor reply, so a 500-video export doesn't flood the context window.

A real run: @duolingo vs @nasa

The prompt: "Use scrapely to compare the four latest TikToks from @duolingo and @nasa: plays, likes, shares and saves, and what the top comments say. Skip pinned videos."

Both accounts are verified on TikTok, and the prompt names them on purpose. The agent sends echofield/tiktok-scraper this request:

json
{
  "actor": "echofield/tiktok-scraper",
  "input": {
    "profiles": ["duolingo", "nasa"],
    "resultsPerPage": 4,
    "excludePinnedPosts": true,
    "commentsPerPost": 2
  },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}

The run on 27 October 2026 took 15.1 seconds and ended with the status message "Saved 8 items." The agent read the fields it needed:

json
{
  "runId": "28889c742c954dd38",
  "fields": "authorMeta.name,authorMeta.verified,authorMeta.fans,createTimeISO,text,playCount,diggCount,shareCount,commentCount,collectCount,videoMeta.duration,comments"
}

What came back:

Account Posted Length Plays Likes Shares Saves Likes per play Caption, first words
@duolingo Oct 26 14 s 295,500 46,500 17,800 3,609 15.7% make my own group, call it K/DUO
@duolingo Oct 26 10 s 240,000 34,600 3,604 3,856 14.4% could've been us if u did ur lesson
@duolingo Oct 26 14 s 879,800 77,800 22,900 10,200 8.8% leave everything in the past except ur streak
@duolingo Oct 23 10 s 1,300,000 295,800 56,600 37,200 22.8% dressed up like jinshi but people keep mistaking me…
@nasa Oct 25 16 s 76,400 5,847 179 386 7.7% NASA 🤝 college football.
@nasa Oct 23 170 s 191,500 18,900 1,087 1,572 9.9% NASA shared a major update today on the road ahead for Artemis
@nasa Oct 20 45 s 251,500 9,655 316 783 3.8% Going back to the Moon means figuring out how to get around.
@nasa Oct 16 121 s 423,800 22,300 618 1,653 5.3% There was plenty to see across NASA this week

The likes-per-play column is the agent's math. Its summary: Duolingo posts short clips of 10 to 14 seconds, three of these four on the same day, and they travel. Its videos drew 15 to 60 shares per 1,000 plays, against 1 to 6 for NASA. NASA's videos run longer, up to almost three minutes, and get fewer plays in absolute terms, but measured against followers NASA did better: an average of 235,800 plays on 2.1 million followers is about 11%, while Duolingo's 678,825 average on 18.3 million is about 3.7%. Each row also carried the hashtags, music and sticker data, and both accounts came back with verified: true.

The comments

The run saved 13 comments. We asked for two per video; TikTok sent one for one Duolingo video and none for another, which is why the schema says it "may return fewer." Commenters are private people, so we show them as [commenter 1] and so on, numbered in the order they came back:

On Commenter Comment Likes Replies
@duolingo, Oct 26 [commenter 4] day 8 of asking duo if he's proud of me 444 20
@duolingo, Oct 26 [commenter 5] Every time I try Duolingo I learn nothing 582 4
@nasa, Oct 20 [commenter 10] Is it true that the aliens are on earth 184 4
@nasa, Oct 16 [commenter 12] My mom found this at 5 am r aliens coming? 29 13

The agent's read: four of the eight comments under NASA's videos asked about aliens, none about the Moon missions the videos covered, while Duolingo's most-liked comments were jokes about its mascot and at the app's own expense. That's the kind of pattern a social team wants before writing the next caption, and it took one tool call.

Cost: 8 videos × $0.00201 + 13 comments × $0.000593 = $0.02379 at list price, platform usage included. Our account was billed $0.01903 after its plan's Store discount.

Prompts that work well

  • "Use scrapely to get the 20 most popular videos of @nasa and tell me which topics get the most shares per play."
  • "Search TikTok for 'protein coffee', 15 videos from the past month, and summarize the hooks in the first line of each caption."
  • "Pull the 10 latest videos for #booktok and list the sounds they use."
  • "Get 30 comments on this video URL, with replies, and group them by what people ask."
  • "Every Monday, compare our account with these three competitors and flag any video with more than twice their usual plays."
  • "Keep every run under $0.10."

The agent turns the last line into callOptions.maxTotalChargeUsd, which stops the run when it reaches the cap.

What your agent can and can't get from TikTok

The scraper sees what TikTok shows a logged-out visitor, which covers most research, and the edges are worth knowing:

  • Public accounts only. A private profile, a missing account or a dead link is skipped, named in the run's failedInputs record and status message, and not charged. The rest of the input still runs.
  • Comments are a sample, not the full thread. TikTok can return fewer comments than you ask for on busy videos, and replies only come when you set maxRepliesPerComment.
  • Search sorting is applied by the Actor. TikTok's logged-out search ignores date filters and sorting, so the Actor applies them itself, re-ordering up to three times your limit of matching videos.
  • Search results depend on location. Keyword searches run from Canada by default so repeated runs see the same ranking; set proxyCountryCode for one market.
  • No made-up fields. A field TikTok didn't send stays off the item, and a real 0 stays 0. The form's AI description fields are not filled, per the README, because TikTok's payload doesn't include them.
  • Creators are people. Most TikTok accounts belong to private individuals. Treat usernames, follower counts and comments as personal data, and keep them out of anything you publish, as we do above.

Spending control for agents

  • A dollar cap per run. maxTotalChargeUsd caps everything a run can cost, comments included.
  • Scoped API keys with daily charge limits. Give an unattended agent its own key under Settings → API keys, with only actors:run and runs:read.
  • A prepaid balance. Usage draws from your credit, so there's no surprise invoice.

The Actor reads public pages that anyone can open without logging in, and your agent never signs in to TikTok. TikTok's US Terms of Service, last updated July 15, 2026, still say you may not "scrape, crawl, export or otherwise extract any data or content in any form, for any purpose, from the Platform using any automated system or software... except as approved in writing" by TikTok USDS Joint Venture. How far a site's terms bind logged-out access is a question courts have looked at; our TikTok scraping guide covers the practical side. Collect only what you need, keep private people out of what you share, follow the GDPR and CCPA, and get legal advice before commercial use. This isn't legal advice.

For a REST endpoint instead of a chat, the TikTok API page has Python, JavaScript and cURL examples, and how to scrape TikTok comments goes deeper on threads and replies. For more platforms, see social media scraping, Instagram MCP, Facebook MCP and the best MCP servers for web scraping.

FAQ

Does TikTok have an official MCP server?

Yes. TikTok runs the TikTok for Business MCP Server for advertisers, with about 400 tools for the TikTok Ads platform, and you authorize it with a TikTok for Business account. For public videos, counts and comments from any account, in any MCP client and with no TikTok account, use the Scrape.ly MCP server.

What is the TikTok MCP server URL for Scrape.ly?

https://mcp.scrape.ly, the same URL for Claude, ChatGPT, Cursor and every other client. Add ?actors=echofield/tiktok-scraper to expose only the TikTok tool.

Can Claude analyze TikTok videos?

Yes, once it can fetch the data. Connect Claude to the Scrape.ly MCP server, ask about a public account, hashtag or search, and Claude runs the TikTok Scraper and works with the plays, likes, shares, saves, captions and comments it gets back. It reads the metadata TikTok publishes, not the video frames.

Can my agent read TikTok comments?

Yes. Set commentsPerPost and the Actor adds top-level comments to each video, plus replies when you set maxRepliesPerComment. Each comment costs $0.000593. TikTok may send fewer than you ask for on very busy videos.

Do I need the TikTok API or a developer account?

No. The Actor reads public pages, so there's no TikTok developer app, Business account or access token. You only need a Scrape.ly account, and the free plan's $5 a month covers almost 2,500 videos at $2.01 per 1,000.

How much does a TikTok MCP setup cost?

Connecting the server is free. You pay per saved video, $2.01 per 1,000, plus $0.000593 per comment if you ask for comments, platform usage included. Our run of eight videos and 13 comments cost $0.02379 at list price.

  • tiktok mcp
  • tiktok mcp server
  • mcp
  • ai agents
  • claude
  • tiktok
  • social media

About the author

The team behind Scrape.ly

Scrape.ly is the web data platform from TeraShift GmbH in Switzerland, powered by Evomi: ready-made scrapers in the Scrape.ly Store, a cloud runtime, an API with JavaScript and Python SDKs, proxies, a hosted anti-bot browser and an MCP server for AI agents.

//Keep reading\\

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.