MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者による説明(英語の原文)
TikTok hashtag volume over time, with growth for any hashtag. Free key at trendsapi.ai
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
ターミナルでこれを実行します
claude mcp add --transport http tiktok https://tiktok.api.trendsapi.ai/mcp --header 'Authorization: your-value'動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"tiktok": {
"url": "https://tiktok.api.trendsapi.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"tiktok": {
"type": "http",
"url": "https://tiktok.api.trendsapi.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
Authorization 秘密 必須 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン trendsapi.ai で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:Authorization
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.2)がレジストリに届いたのは16 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
TikTok hashtag and search interest trends via the TikTok Trends API. History, growth, and live trending hashtags.
Key: trendsapi.ai/#get-key. HTTP contract and every source: trendsapi-ai/trendsapi.
pip install trendsapi-tiktok
export TRENDSAPI_KEY=your_key
Python 3.9+. Same key as the HTTP API.
from trendsapi_tiktok import TrendsAPI
client = TrendsAPI() # TRENDSAPI_KEY
Keyword helpers default to source: "tiktok". Pass source= to hit any other platform with the same client. Official full client (every source, no preset): trendsapi.
| Method | REST mode | Returns |
|---|---|---|
get_time_series(keyword, source=, data_mode=) | get_time_series | list[TrendsDataPoint] |
get_growth(keyword, percent_growth=, source=, data_mode=) | get_growth | GetGrowthResponse |
get_live(limit=, offset=, category=) | get_top_trends | GetTopTrendsResponse |
get_top_trends(type=, ...) | get_top_trends | GetTopTrendsResponse |
source is lowercase (tiktok). type is exact (TikTok Trending Hashtags). Mixing them is a 400.
from trendsapi_tiktok import TrendsAPI
client = TrendsAPI() # TRENDSAPI_KEY
series = client.get_time_series("matcha") print(series[-1].date, series[-1].value)
growth = client.get_growth("matcha", percent_growth=["3M", "12M"]) print(growth.results[0].growth, growth.results[0].direction)
hot = client.get_live(limit=10) print(hot.data) # [[1, "..."], ...]
points = client.get_time_series("matcha")
Each point:
| Field | Always | Meaning |
|---|---|---|
date | yes | YYYY-MM-DD |
value | yes | 0-100 index for this series |
keyword | yes | Echo |
volume | no | Absolute volume when available |
source or datatype | no | Pipeline label |
Python returns list[TrendsDataPoint]. Use .date and .value, not ["date"]. JS returns the same fields as object properties.
g = client.get_growth("matcha", percent_growth=["12M", "3M", "YTD"])
print(g.results[0].growth, g.results[0].direction)
percent_growth default: ["12M"]. Presets: 7D 14D 30D 1M 2M 3M 6M 9M 12M/1Y 18M 24M/2Y 36M/3Y 48M 60M/5Y MTD QTD YTD. Custom: {"name": "Launch", "recent": "2024-06-01", "baseline": "2024-01-01"}.
| Field | Meaning |
|---|---|
search_term | Keyword |
data_source | Source |
results | One object per window (period, growth, direction, dates, values) |
metadata | Counts / success flag |
Several windows still count as one request. Python: growth.results[0].growth. JS: growth.results[0].growth.
hot = client.get_live(limit=10)
| Field | Meaning |
|---|---|
as_of_ts | Snapshot time |
type | Feed name |
limit, offset, count | Pagination |
data | [rank, label] rows |
Python: hot.data. JS: hot.data. Optional offset= and category= (Amazon Best Sellers by Category, Top Websites only).
import asyncio
from trendsapi_tiktok import AsyncTrendsAPI
async def main(): c = AsyncTrendsAPI() return await asyncio.gather( c.get_time_series("matcha"), c.get_time_series("matcha", source="google search"), )
asyncio.run(main())
Each 200 is one billed request.
from dataclasses import asdict
import pandas as pd from trendsapi_tiktok import TrendsAPI
df = pd.DataFrame(asdict(p) for p in TrendsAPI().get_time_series("matcha")) df["date"] = pd.to_datetime(df["date"]) print(df.set_index("date")["value"].resample("ME").mean().tail())
npm install trendsapi-tiktok
Node 18+, Deno, Bun, Workers. Same API key. Field tables above apply.
| Method | REST mode | Returns |
|---|---|---|
getTimeSeries(keyword, { source, data_mode }) | get_time_series | weekly points |
getGrowth(keyword, { percent_growth, source, data_mode }) | get_growth | growth object |
getLive({ limit, offset, category }) | get_top_trends | live feed |
getTopTrends({ type, ... }) | get_top_trends | live feed |
import { TrendsAPI } from "trendsapi-tiktok";
const client = new TrendsAPI({ apiKey: process.env.TRENDSAPI_KEY! }); const series = await client.getTimeSeries("matcha"); console.log(series.at(-1)?.date, series.at(-1)?.value);
const growth = await client.getGrowth("matcha", { percent_growth: ["3M", "12M"], }); console.log(growth.results[0].growth, growth.results[0].direction);
const live = await client.getLive({ limit: 10 }); console.log(live.data); // [[1, "..."], ...]
| Field | Value |
|---|---|
| Endpoint | POST https://api.trendsapi.ai/api |
| Auth | Authorization: Bearer $TRENDSAPI_KEY |
| History | source: tiktok with get_time_series or get_growth |
| Keyword | Hashtag or topic, e.g. matcha (# optional) |
Live type | TikTok Trending Hashtags, TikTok Trending Searches, TikTok Shop Hot Products |
curl -sS -X POST https://api.trendsapi.ai/api \
-H "Authorization: Bearer $TRENDSAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"mode":"get_time_series","source":"tiktok","keyword":"matcha"}'
value is 0-100 for this hashtag, not view count.tiktok trending hashtags (wrong case) is 400.| HTTP | Client |
|---|---|
| 200 | Parsed payload. Python dataclasses / JS typed objects |
| 400 | Raises. Fix source or type spelling |
| 401 | Raises. Check TRENDSAPI_KEY |
| 404 | Raises. No series for that keyword. Do not retry |
| 429 | Raises. Quota |
| 5xx | Client retries, then raises |
The HTTP body field is a JSON string. SDKs decode it. Raw curl must parse body a second time.
Site: https://trendsapi.ai/trends/tiktok-trends.
MIT. See LICENSE.