TikTok MCP Server について
公開 TikTok プロフィール、動画、コメントの調査や、クリエイターと動画の検索に使えるホスト型 MCP サーバーです。TikTok 開発者アカウントや OAuth は不要で、4 種類の読み取り専用ツールが構造化 JSON を返します。
主な機能
- 01公開プロフィールの取得
- 02アカウント動画のページ取得
- 03コメントと返信の取得
- 04動画やクリエイターの検索
- 05構造化 JSON の返却
活用シーン
- 01クリエイターのプロフィールと動画履歴の確認
- 02話題別のクリエイター検索とフォロワー比較
- 03動画のコメントと返信の分析
MCP 対応
ホスト型 HTTP サーバーを通じて、MCP クライアントに 4 種類の読み取り専用 TikTok データツールを提供します。アクセスには HasData API キーを使います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.hasdata.com/mcp?apis=tiktokclaude mcp add --transport http tiktok-mcp-server-3bc5de https://mcp.hasdata.com/mcp?apis=tiktok{"mcpServers":{"tiktok-mcp-server-3bc5de":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=tiktok"}}}Cursor で開く{"servers":{"tiktok-mcp-server-3bc5de":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=tiktok"}}}VS Code で開く{"mcpServers":{"tiktok-mcp-server-3bc5de":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=tiktok"}}}{"mcpServers":{"tiktok-mcp-server-3bc5de":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=tiktok"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.hasdata.com/mcp?apis=tiktok認証が必要ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| videoId | string | はい | 動画の数値 ID(TikTok URL の `/video/` の後にある数字)。 |
| commentId | string | いいえ | 指定すると、動画のトップレベルコメントではなく、このコメントへの返信を返します。 |
| nextPageToken | string | いいえ | 次ページトークンを指定します。前回のレスポンスで返された `nextPageToken` の値を使用してください。省略すると最初のページを取得します。 |
詳細
TikTok MCP Server
Claude、Cursor、Windsurf、その他のあらゆる MCP クライアントに、読み取り専用の TikTok ツールを4つ提供するホスト型の Model Context Protocol(MCP)サーバーです。公開プロフィールの検索、アカウントの動画の閲覧、動画へのコメントの確認、TikTok での動画やクリエイターの検索を、すべて構造化された JSON で行えます。TikTok の開発者アカウントも OAuth も必要ありません。
ログアウト状態の訪問者が閲覧できる公開データを読み取ります。ログイン、投稿、アカウントとしての操作は行いません。
毎月1,000クレジットが無料で、カードの登録も不要です。TikTok の呼び出し100回分に相当します。
https://mcp.hasdata.com/mcp?apis=tiktok
目次
必要なもの
MCP クライアントと、ダッシュボードから無料で作成できる HasData API キーが必要です。これはリモートサーバーなので、最も簡単な方法は URL と x-api-key ヘッダーを使うことです。コンテナを実行する必要も、この一連の流れで TikTok の開発者アカウントを用意する必要もありません。stdio のみを話すクライアントからは、下記の薄いランチャーを介して接続できます。ランチャーは npm では @hasdata/tiktok-mcp、PyPI では hasdata-tiktok-mcp として公開されています。
クイックスタート
サーバー URL はどのクライアントでも同じです。Claude Code と Claude Desktop で実際に動作させています。その他のブロックは、各クライアントがリモートサーバー向けにドキュメントで指定している形式に従っています。
| 項目 | 値 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=tiktok |
| トランスポート | HTTP、ストリーム可能 |
| 認証ヘッダー | x-api-key: HASDATA_API_KEY |
OAuth に対応しているクライアントでは、同じ URL をコネクターとして追加してサインインできるため、設定ファイルにキーを記述する必要はありません。
Claude Code
claude mcp add --transport http tiktok "https://mcp.hasdata.com/mcp?apis=tiktok" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
「設定」から「コネクター」、「カスタムコネクターを追加」の順に選び、https://mcp.hasdata.com/mcp?apis=tiktok を貼り付けてサインインします。
設定ファイルを使う場合、Claude Desktop が読み込めるのはローカル(stdio)サーバーのみなので、stdio ランチャーを介してリモートサーバーに接続します。@hasdata/tiktok-mcp パッケージがそのランチャーで、キーを環境変数から読み込みます。claude_desktop_config.json に以下を追加してください。
{
"mcpServers": {
"tiktok": {
"command": "npx",
"args": ["-y", "@hasdata/tiktok-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Node ではなく Python を使いますか? ランチャーを PyPI パッケージに置き換えてください。手動でインストールしなくても、uvx で実行できます。
{
"mcpServers": {
"tiktok": {
"command": "uvx",
"args": ["hasdata-tiktok-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
すべてのプロジェクトに適用する場合は ~/.cursor/mcp.json、1 つのプロジェクトに適用する場合は .cursor/mcp.json を使用します。
{
"mcpServers": {
"tiktok": {
"url": "https://mcp.hasdata.com/mcp?apis=tiktok",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を使用します。Windsurf ではフィールド名に url ではなく serverUrl を使います。
{
"mcpServers": {
"tiktok": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=tiktok",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Cline
{
"mcpServers": {
"tiktok": {
"url": "https://mcp.hasdata.com/mcp?apis=tiktok",
"type": "streamableHttp",
"headers": { "x-api-key": "HASDATA_API_KEY" },
"disabled": false
}
}
}
VS Code
ワークスペース内の .vscode/mcp.json を使用します。
{
"servers": {
"tiktok": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=tiktok",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Codex CLI
~/.codex/config.toml を使用します。
[mcp_servers.tiktok]
url = "https://mcp.hasdata.com/mcp?apis=tiktok"
[mcp_servers.tiktok.headers]
"x-api-key" = "HASDATA_API_KEY"
Gemini CLI
~/.gemini/settings.json を使用します。
{
"mcpServers": {
"tiktok": {
"httpUrl": "https://mcp.hasdata.com/mcp?apis=tiktok",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
プロンプトの例
コードではなく、プロンプトです。どれかを貼り付ければ、エージェントが使うツールを自分で選びます。MCP ではモデルが呼び出し回数を決め、成功した呼び出しごとに 10 クレジットかかるため、それぞれに必要な呼び出しを記載しています。
@mrbeast を調べてください。プロフィールを取得し、動画の最初の 2 ページを確認して、再生回数の中央値を教えてください。
3 回の呼び出しで、30 クレジットです。プロフィールの取得に 1 回、動画の各ページにそれぞれ 1 回かかります。
TikTok で「コールドブリューコーヒー」関連のクリエイターを検索し、フォロワー数の多い順に上位 10 人を、自己紹介とともに並べてください。
1 回の呼び出しで、10 クレジットです。ユーザー検索の結果にはフォロワー数と自己紹介が含まれるため、プロフィールごとの追加取得は必要ありません。
こちらの動画 URL を確認してください。上位コメントを読み、全体的な感情と、最も「いいね」された返信 3 件を教えてください。
1 回の呼び出しで、10 クレジットです。コメントツールには URL 内の数値 ID だけで十分です。
同じ動画を確認し、最も「いいね」されたコメントへの返信をすべて表示してください。
2 回の呼び出しで、20 クレジットです。まずトップレベルのコメントを取得し、次にそのコメントの ID を指定して返信を取得します。
「asmr」動画を検索し、再生回数が最も多い 3 件の投稿者プロフィールを取得してください。
4 回の呼び出しで、40 クレジットです。検索に 1 回、各プロフィールの取得に 1 回ずつかかります。検索結果には各投稿者のプロフィールエンドポイントへのリンクが含まれるため、エージェントがユーザー名を推測する必要はありません。
ページ送りのたびに呼び出しが 1 回必要です。プロフィールを読み込んでから動画の 5 ページを確認するクリエイター監査では、6 回の呼び出し、60 クレジットがかかります。無料枠は、範囲を絞った質問のほうが、自由形式のクロールより多く利用できます。
ツール
| ツール | 返される内容 |
|---|---|
hasdata_tiktok_comments_getTikTokComments | 数値の動画 ID を指定して公開 TikTok 動画へのコメントを取得します。または、commentId を指定すると特定のコメントへの返信を取得します。1 回あたり 10 クレジット |
hasdata_tiktok_posts_getTikTokPosts | 約 35 本の動画と nextPageToken を含むページを返します。そのトークンを渡して、アカウントの履歴を 1 ページずつたどります。1 回あたり 10 クレジット |
hasdata_tiktok_profile_getTikTokProfile | ユーザー名(ハンドル)で公開 TikTok プロフィールを取得し、ニックネーム、自己紹介、プロフィールリンク、アバター URL、認証済み/非公開フラグ、アカウント作成時刻などを返します。1 回あたり 10 クレジット |
hasdata_tiktok_search_getTikTokSearch | キーワードで TikTok を検索し、動画(説明、ハッシュタグ、メンション、いいね/コメント/シェア/再生回数、カバー画像と再生可能な動画 URL、音楽など)を返します。1 回あたり 10 クレジット |
4 つのツールはすべて読み取り専用です。以下のサンプルは実際の呼び出しから抜粋したもので、数値は TikTok の更新に応じて変わります。データの形を示すものとしてご覧ください。各ツール名はエンドポイントのリファレンスにリンクしており、そこにすべてのフィールドが記載されています。
サンプルはペイロードであり、レスポンス全体ではありません。tools/call の結果には 1 つのテキストブロックが含まれ、そのテキスト自体は url、status、text、json を保持する JSON で、スクレイピングしたデータは json の下にあります。生の JSON-RPC レスポンスでは、パスは result.content[0].text で、これをパースしてから .json を参照します。チャットクライアントでは自動的に展開されますが、エンドポイントと直接やり取りするコードでは展開されません。
ハンドル、動画 ID、コメント ID は相互にたどれます。プロフィールから投稿へ移動でき、すべての投稿にはコメントツールで使う動画 ID が含まれます。また、コメントと検索結果のすべての投稿者には、プロフィールへの hasdataLink と動画への hasdataPostsLink が含まれます。エージェントは URL を組み立てることなく、キーワードからクリエイター、動画、コメントへとたどれます。
TikTok プロフィールを取得
hasdata_tiktok_profile_getTikTokProfile
ハンドルを指定して、公開アカウントを 1 つ取得します。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
handle | string | はい | 先頭に @ を付けても付けなくてもよいユーザー名 |
username、nickname、biography、bioLink、verified、language、createTime、アバター URL、および followers、follows、likes、videos、friends の各件数を整数で返します。件数はすでにパースされているため、followers > 1000000 では表示用文字列ではなく数値が比較されます。
存在しないハンドルでも、
requestMetadata.statusはokとして返されますが、profileオブジェクトは存在しません。usernameなどのフィールドを読む前にオブジェクトがあることを確認してください。そうしないと、profile.usernameを実行したエージェントは値がないためエラーになります。
{
"username": "mrbeast",
"nickname": "MrBeast",
"verified": true,
"biography": "Checkout My New Book!👇",
"bioLink": "http://themostdangerousgames.com",
"createTime": "2018-10-20T19:26:16.000Z",
"followers": 138387571,
"follows": 354,
"likes": 1427086888,
"videos": 466,
"friends": 285
}
TikTok の投稿を取得
hasdata_tiktok_posts_getTikTokPosts
ハンドルで指定したアカウントの動画を、新しいものから順に 1 ページ取得します。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
handle | string | はい | 先頭に @ を付けても付けなくてもよいユーザー名 |
nextPageToken | string | 前のレスポンスの pagination.nextPageToken。最初のページでは省略します |
1 回の呼び出しで約 30 本の動画と pagination が返されます。pagination には hasMore と、アカウントの履歴を 1 ページずつたどるために渡し直す nextPageToken が含まれます。各動画には id、description、url、duration、カバー画像と再生可能な動画 URL、music、および likes、comments、shares、plays、collects、reposts の各件数が整数で含まれます。
hashtagsとmentionsは、それらを含む動画にのみ存在します。また、それらがどの程度含まれるかはエンドポイントではなくアカウントによって異なります。サンプルのフィードでは、タグ付き投稿がまったくないものから、すべての投稿にタグが付いているものまでありました。読み取る前にキーの存在を確認し、配列が存在しない場合は、そのアカウントがタグ付けをしていないものとして扱ってください。
{
"id": "7677375185028271391",
"description": "would you take the car or nah?",
"url": "https://www.tiktok.com/@mrbeast/video/7677375185028271391",
"createTime": "2026-08-23T23:36:59.000Z",
"duration": 41,
"likes": 129500,
"comments": 6670,
"shares": 2033,
"plays": 1100000,
"collects": 4986,
"music": { "title": "original sound", "authorName": "MrBeast", "original": true }
}
TikTok のコメントを取得する
hasdata_tiktok_comments_getTikTokComments
公開動画へのコメント、または特定のコメントへの返信です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
videoId | string | はい | 数値の ID です。TikTok の URL で /video/ の後に続く部分です。文字列のまま扱ってください。この ID は 64 ビット数値であり、JavaScript の Number を経由すると末尾の桁が失われます |
commentId | string | 動画のトップレベルのコメントの代わりに、そのコメントへの返信を取得する場合に渡します。videoId と同じ 64 ビットの理由から、文字列で指定します | |
nextPageToken | string | 前回のレスポンスから取得したトークンです。最初のページでは省略してください |
各コメントには text、likes、createTime、replyCount、author が含まれます。また、各投稿者にはプロフィールへの hasdataLink と動画への hasdataPostsLink が含まれます。pagination.total は動画のコメント総数を示すため、ページを取得する前に全体の件数を把握できます。replyCount が 0 以外のコメントには返信があり、その id を commentId として指定して再度呼び出すと取得できます。
{
"id": "7677377150003053325",
"text": "How could someone turn down a car",
"createTime": "2026-08-23T23:45:06.000Z",
"likes": 3802,
"replyCount": 22,
"author": {
"username": "hohce.verggr",
"nickname": "Sasori",
"hasdataLink": "https://api.hasdata.com/scrape/tiktok/profile?handle=hohce.verggr",
"hasdataPostsLink": "https://api.hasdata.com/scrape/tiktok/posts?handle=hohce.verggr"
}
}
TikTok を検索する
hasdata_tiktok_search_getTikTokSearch
動画またはクリエイターをキーワードで検索します。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
keyword | string | はい | 検索する語句です |
type | string | デフォルトは video です。クリエイターを検索するには user を指定します | |
nextPageToken | string | 前回のレスポンスから取得したトークンです。最初のページでは省略してください |
type: video の場合、レスポンスには投稿ツールが返すものと同じ形式の動画が含まれ、それぞれに投稿者が付属します。type: user の場合、レスポンスにはクリエイターが含まれ、それぞれに username、nickname、signature(プロフィール文)、avatarUrl、followers、プロフィールまたは動画へのリンクをたどるための同じ hasdataLink と hasdataPostsLink が含まれます。認証済みアカウントには verified フラグが含まれます。
{
"username": "la.mooncoldbrew",
"nickname": "lamoon cold brew coffee",
"signature": "อยากได้สูตรชงเมนูไหน Comment ไว้เลยน้า",
"followers": 48000,
"hasdataLink": "https://api.hasdata.com/scrape/tiktok/profile?handle=la.mooncoldbrew",
"hasdataPostsLink": "https://api.hasdata.com/scrape/tiktok/posts?handle=la.mooncoldbrew"
}
プロンプトとリソース
サーバーには、クライアントがユーザーにツール呼び出しを組み立てさせる代わりに提示できる、すぐに使えるワークフローとして、2 つのプロンプトが用意されています。
| プロンプト | 内容 |
|---|---|
tiktok_trend | TikTok で特定のトピックについてどのような投稿がされているかを確認します。 |
tiktok_profile | 公開されている TikTok プロフィールを検索します。 |
これらに加えて、サーバーは固定リストから選ぶ単一パラメーターの有効値を示すリソースを 1 つ公開しています。拒否された呼び出しから語彙を学ぶよりも、これを読み取るほうが効率的で、クレジットも消費しません。
| パラメーター | 値 | 選択する内容 |
|---|---|---|
type | 2 | 検索対象(動画またはユーザー)です。デフォルトは video です。 |
URI は hasdata://tiktok/type です。
どちらのリストも API キーなしで提供されるため、クライアントはユーザーが登録する前に読み取れます。
エラーと失敗パス
ツール呼び出しでクライアントに HTTP エラーコードが返ることは、ほとんどありません。MCP レイヤーは 200 を返し、isError を true に設定して、失敗の理由をテキストとして結果に格納します。ステータス行が表示されそうな場面で、エージェントはメッセージを読み取ります。
誤ったキーは、接続エラーではなくツール出力として表面化します。 tools/list は空でないキーなら何でも受け付け、4 つすべてのツールを返すため、クライアントはハンドシェイクを完了し、接続状態は正常と表示されます。最初のツール呼び出しで、isError: true とテキスト HasData API error: 401 Unauthorized が返されます。フローのそれ以前の段階では問題が報告されないため、この文字列に注意してください。
キーがない場合は、実際の HTTP エラーが発生します。 認証はどのツールよりも前に実行され、接続自体が 401 で失敗します。CORS ヘッダーが含まれるため、ブラウザーのクライアントは不透明なネットワークエラーではなく、ステータスを読み取れます。
ツールのスキーマに反する引数は、スクレイピングが始まる前に拒否されます。 サーバーは isError: true と、問題のフィールドを示すテキスト MCP error -32602: Input validation error を返します。データは取得されず、課金もされません。
呼び出しは成功したものの何も見つからない場合は、混乱を招きやすいケースです。 存在しないハンドルを指定すると、requestMetadata.status が ok に設定された通常の結果が返り、データキーが単に欠落します。本文には結果が空だったことを示すものがありません。エラーではなく、必要なフィールドの有無を確認してください。
プラットフォームが拒否する識別子を指定すると、requestMetadata.status が error に設定され、400 が返されます。
データを含む結果には、サポートへの問い合わせ時に伝えると役立つ requestMetadata.id も含まれます。
料金、無料枠、上限
TikTok の各ツールは、呼び出しが成功するたびに10 クレジットかかります。レスポンスのサイズによって料金は変わりません。動画が 1 ページ分ある場合も、フィールドが 1 つだけのプロフィールの場合も、料金は同じです。
無料枠は、カード不要で毎月 1,000 クレジット利用でき、TikTok を 100 回呼び出せます。請求サイクルごとに更新されるため、呼び出し量の少ないエージェントであれば、無料枠を無期限に利用できます。
有料プランは、200,000 クレジット、つまり 20,000 回の呼び出しが含まれる月額 $59から始まります。利用量が増えるほど単価は下がり、エントリープランの呼び出し 1,000 回あたり $2.95から、Basic では**$1.19**、Growth ティアでは**$0.83**になります。最新の料金は料金ページをご覧ください。
同時実行数もプランによって異なります。無料枠では一度に 1 リクエスト、Startup では 5、Basic では 15、Growth ティアでは 50 から 500 までです。無人で実行するものには、上限超過のケースを想定した対処を入れてください。呼び出しを並列化するエージェントは、あなたが気づくより先に上限に達するためです。
200 以外のステータスで返されたリクエストには課金されません。成功した呼び出しで何も見つからなかった場合でも、呼び出しとして課金されます。
ツールの選択
apis クエリパラメーターによって、エージェントに表示されるツールが決まります。ツールを絞ると、ツール定義に使うコンテキストが減り、モデルが誤ったツールを選ぶ可能性も低くなります。
?apis=tiktok the four tools in this repo
?apis=tiktok,instagram a social bundle
?apis=tiktok,google_serp add Google search
このパラメーターには、tiktok のようなプロバイダー名や、tiktok_search のような個別の API 名を指定します。名前の入力ミスは無視されます。指定した名前がすべて誤っている場合、リクエストは 400 で失敗し、認識できなかった値と有効な値の一覧が本文に含まれます。パラメーターを省略すると、同じエンドポイントですべての HasData ツール 57 個が公開されます。
比較
TikTok 独自の開発者プログラムでは、公開コンテンツを一般的に閲覧する用途は対象としていません。Research API は申請が必要で、限られた地域の承認済みの学術研究者および非営利の研究者のみが利用できます。Display API が返すのは、OAuth でサインインしたアカウントのコンテンツだけです。いずれも、任意の公開プロフィール、その動画、または動画のコメントを読み取る必要があるエージェントには適していません。
| TikTok 公式 API | このサーバー | |
|---|---|---|
| アクセス | 申請による Research API、または自分のアカウント向けの Display API | 1 つのキーと 1 つの URL |
| 対象範囲 | 承認済みの研究者、または自分の認証済みアカウント | 任意の公開プロフィール、動画、または検索 |
| 認証 | 申請審査または OAuth | x-api-key ヘッダー |
| 自分が所有していない動画のコメント | 制限あり | 返信スレッドを含めて取得可能 |
| セットアップ | 開発者アカウントと承認が必要 | 不要 |
| 書き込みと非公開データ | OAuth 経由での投稿と自分のアカウントデータ | 読み取り専用、公開データのみ |
他の TikTok MCP サーバーの大半は、非公式の単一エンドポイントをラップしています。このサーバーは、エージェントが実際に連続して使うプロフィールから投稿、コメントまでの 4 つの読み取り機能に加えて検索も備えているため、調査を一通り行う処理を 1 つのサーバーで実行できます。
このサーバーでできないこと。 投稿、ダイレクトメッセージ、フォロワー限定または非公開のコンテンツ、自分が所有していないアカウントの分析には対応していません。サインアウトした訪問者に表示される情報を読み取ります。
FAQ
公式の TikTok MCP サーバーはありますか?
TikTok は公式のものを公開していません。どの選択肢も第三者が構築したものです。このサーバーは HasData が保守しており、公開ページを読み取るため、TikTok の開発者アカウントは不要です。
TikTok MCP サーバーとは何ですか?
AI クライアントが呼び出せるツールとして TikTok のデータを提供するサーバーです。クライアントが Model Context Protocol 経由でツール呼び出しを送信し、サーバーがデータを取得して構造化 JSON を返すため、モデルは HTML のページではなく結果を扱えます。このサーバーは 4 つのツールを提供し、リモートで動作します。クライアントは URL に接続するだけで、ローカルプロセスを起動する必要はありません。
TikTok API キーや開発者アカウントは必要ですか?
いいえ。必要な認証情報は HasData キーだけです。ツールは TikTok の開発者 API ではなく、公開 TikTok ページを読み取るため、開発者アプリケーションの申請も OAuth 同意画面も必要ありません。
何かをホストしたり実行したりする必要はありますか?
いいえ。これはストリーミング可能な HTTP 上で動作するリモート MCP サーバーです。インストールするものも、起動したままにするコンテナーも、再起動するプロセスもありません。
データはリアルタイムですか、それともキャッシュされていますか?
リアルタイムです。各呼び出しではリクエスト時にデータを取得し、それぞれ固有の requestMetadata.id が付与されます。再生数や「いいね」数などのカウンターはページの内容に追従するため、ページの更新に合わせて変化します。
非公開アカウントを読み取れますか?
いいえ。ツールが返すのは、サインアウトした訪問者に表示される情報です。非公開アカウントの動画は公開されていないため、どのレスポンスにも含まれません。
トップレベルのコメントだけでなく、コメントへの返信も読み取れますか?
はい。コメントの id を commentId としてコメントツールを呼び出すと、そのコメントへの返信が返されます。返信があるかどうかは、コメントの replyCount で確認できます。
他の HasData API と併用できますか?
はい。apis パラメーターにはリストを指定でき、?apis=tiktok,instagram とすると、エージェントは TikTok の 4 つのツールに加えて Instagram も利用できます。パラメーターを省略すると、すべてを取得できます。
コンプライアンスと個人データ
HasData がアクセスするのは、一般に公開されているデータのみです。プラットフォームの利用規約で自動アクセスが制限されている場合があり、コンプライアンスを守る責任は利用者にあります。収集するデータに個人情報が含まれる場合は、GDPR、CCPA、または管轄地域の同等の規則に基づく適法な根拠があることを確認してください。
HasData のリンク
| 製品ページとリクエストビルダー | TikTok Scraper API |
| サーバーのドキュメント | MCP サーバーのドキュメント |
| 1 つのサーバーで利用できる全 57 個のツール | HasData/hasdata-mcp |
| クライアントの手順 | MCP クライアントとインテグレーション |
| その他のスクレイピング対象 | TikTok Scraper API とその他 54 種類 |
| プランとクレジット料金 | プランとクレジット料金 |
| キーと利用状況 | HasData ダッシュボード |
| npm の Node ランチャー | @hasdata/tiktok-mcp |
| PyPI の Python ランチャー | hasdata-tiktok-mcp |
開発
このリポジトリは、リモートサーバーの設定とドキュメントを管理します。ビルド手順はなく、コンテナ化するものもありません。
test/ のテストでは、ここでのコミットがなくても変更される可能性のあるツールの契約を検証します。?apis=tiktok が正確に 4 つのツールを返すこと、各ツールで必須パラメーターが引き続き宣言されていること、名前が変更されていないこと、使用中のキーが実際に受け付けられることを確認します。最後のチェックでは実際にツールを呼び出すため、10 クレジットが必要です。これは、適切な理由で失敗する可能性のあるカナリアテストの料金です。
# macOS and Linux
HASDATA_API_KEY=your_key_here npm test
# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm test
上流のツール一覧は、このリポジトリに誰も手を加えなくても変更される可能性があるため、同じテストスイートがプッシュのたびに、またスケジュールに従って週 1 回 CI で実行されます。失敗した場合は、ツール一覧が変更された、キーが使えなくなった、またはエンドポイントに到達できなかったことを意味し、どの問題かはアサーションメッセージで示されます。
コントリビュート
ツールの表とレスポンスのサンプルは内容が古くなりやすいため、これらの修正が最も役立つコントリビュートです。実行した呼び出しと、そのときに得られたレスポンスを記載してください。フォークからのプルリクエストではキーなしでテストスイートが実行され、ライブチェックは失敗ではなくスキップされます。
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。