MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Read public Twitter/X data: tweets, profiles, followers, search. No X developer account.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
TWITTRAPI_API_KEY, RAPIDAPI_KEY, RAPIDAPI_HOST, TWITTRAPI_BASE_URL, TWITTRAPI_RESPONSE_FORMAT, TWITTRAPI_X_COOKIE, TWITTRAPI_X_PROXY, TWITTRAPI_X_CHAT_PASSCODEValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.twittrapi.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"twittrapi": {
"command": "npx",
"args": [
"-y",
"twittrapi-mcp"
],
"env": {
"TWITTRAPI_API_KEY": "your-value",
"RAPIDAPI_KEY": "your-value",
"RAPIDAPI_HOST": "your-value",
"TWITTRAPI_BASE_URL": "your-value",
"TWITTRAPI_RESPONSE_FORMAT": "your-value",
"TWITTRAPI_X_COOKIE": "your-value",
"TWITTRAPI_X_PROXY": "your-value",
"TWITTRAPI_X_CHAT_PASSCODE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http twittrapi https://mcp.twittrapi.com/mcpclaude mcp add twittrapi --env TWITTRAPI_API_KEY=your-value --env RAPIDAPI_KEY=your-value --env RAPIDAPI_HOST=your-value --env TWITTRAPI_BASE_URL=your-value --env TWITTRAPI_RESPONSE_FORMAT=your-value --env TWITTRAPI_X_COOKIE=your-value --env TWITTRAPI_X_PROXY=your-value --env TWITTRAPI_X_CHAT_PASSCODE=your-value -- npx -y twittrapi-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"twittrapi": {
"url": "https://mcp.twittrapi.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"twittrapi": {
"command": "npx",
"args": [
"-y",
"twittrapi-mcp"
],
"env": {
"TWITTRAPI_API_KEY": "your-value",
"RAPIDAPI_KEY": "your-value",
"RAPIDAPI_HOST": "your-value",
"TWITTRAPI_BASE_URL": "your-value",
"TWITTRAPI_RESPONSE_FORMAT": "your-value",
"TWITTRAPI_X_COOKIE": "your-value",
"TWITTRAPI_X_PROXY": "your-value",
"TWITTRAPI_X_CHAT_PASSCODE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"twittrapi": {
"type": "http",
"url": "https://mcp.twittrapi.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"twittrapi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"twittrapi-mcp"
],
"env": {
"TWITTRAPI_API_KEY": "your-value",
"RAPIDAPI_KEY": "your-value",
"RAPIDAPI_HOST": "your-value",
"TWITTRAPI_BASE_URL": "your-value",
"TWITTRAPI_RESPONSE_FORMAT": "your-value",
"TWITTRAPI_X_COOKIE": "your-value",
"TWITTRAPI_X_PROXY": "your-value",
"TWITTRAPI_X_CHAT_PASSCODE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.twittrapi.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
RAPIDAPI_HOST envTWITTRAPI_BASE_URL envTWITTRAPI_RESPONSE_FORMAT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account twittrapi, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: TWITTRAPI_API_KEY, RAPIDAPI_KEY, TWITTRAPI_X_COOKIE, TWITTRAPI_X_PROXY, TWITTRAPI_X_CHAT_PASSCODE
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 19 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server for TwittrAPI, a REST API for public Twitter/X data: tweets, profiles, followers, search, lists and communities. It lets Claude, Cursor and other MCP clients read that data, from $0.065 per 1,000 calls and with no X developer account.
Get an API key: twittrapi.com/start · Pricing · Docs · Status · also available on RapidAPI
SDKs and integrations: Python · Node.js · Go · n8n · Make · Apify · LangChain · LlamaIndex · Agent skill · Examples
Not affiliated with X Corp.
Apps that support remote MCP servers can connect by URL instead (available with the hosted release; see twittrapi.com/docs/hosted-mcp):
https://mcp.twittrapi.com/mcp
| Client | Setup |
|---|---|
| Claude.ai / Claude Desktop | Settings > Connectors > Add custom connector, paste the URL, Connect, log in to TwittrAPI and allow access (OAuth) |
| ChatGPT | Settings > Apps & Connectors > Advanced settings > Developer mode, then Create with the URL and OAuth |
| Claude Code | claude mcp add --transport http twittrapi https://mcp.twittrapi.com/mcp (OAuth), or add --header "Authorization: Bearer $TWITTRAPI_API_KEY" |
| Cursor | {"mcpServers": {"twittrapi": {"url": "https://mcp.twittrapi.com/mcp", "headers": {"X-API-KEY": "${env:TWITTRAPI_API_KEY}"}}}} in mcp.json |
| VS Code | {"servers": {"twittrapi": {"type": "http", "url": "https://mcp.twittrapi.com/mcp"}}} in .vscode/mcp.json (OAuth) |
With OAuth the app never sees your API key; calls are billed to your balance like any other call. Connected apps are listed (and can be disconnected) in the dashboard under Connected apps.
Every tool call is one billed API call on your account.
claude mcp add twittrapi --env TWITTRAPI_API_KEY=your-key -- npx -y twittrapi-mcp
Open Settings > Developer > Edit Config and add this to claude_desktop_config.json:
{
"mcpServers": { "twittrapi": { "command": "npx", "args": ["-y", "twittrapi-mcp"], "env": { "TWITTRAPI_API_KEY": "your-key" } } } }
Restart Claude Desktop afterwards.
Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "twittrapi": { "command": "npx", "args": ["-y", "twittrapi-mcp"], "env": { "TWITTRAPI_API_KEY": "your-key" } } } }
Any client that can start a stdio server works. The command is npx -y twittrapi-mcp.
| Variable | Required | Description |
|---|---|---|
TWITTRAPI_API_KEY | one of the two keys | Your TwittrAPI key. Sent as the X-API-KEY header. |
RAPIDAPI_KEY | one of the two keys | RapidAPI key. Used only when TWITTRAPI_API_KEY is not set. |
RAPIDAPI_HOST | no | Host of your RapidAPI listing. Default twitter-aio.p.rapidapi.com. |
TWITTRAPI_BASE_URL | no | API base URL for the direct API. Default https://api.twittrapi.com. |
TWITTRAPI_RESPONSE_FORMAT | no | simple (default) or raw. See Response format. |
TWITTRAPI_X_COOKIE | no | Cookie of your own logged-in x.com session. Turns on the account tools together with TWITTRAPI_X_PROXY. |
TWITTRAPI_X_PROXY | no | Your proxy for the account tools, http://user:pass@host:port. |
TWITTRAPI_X_CHAT_PASSCODE | no | Your X Chat passcode. Adds send_dm, accept_dm_request, decline_dm_request and message text in list_dm_conversations. |
If neither key is set, the server still starts and lists its tools, but every call returns an error explaining how to set a key.
If you bought access through RapidAPI, set RAPIDAPI_KEY instead of TWITTRAPI_API_KEY:
"env": { "RAPIDAPI_KEY": "your-rapidapi-key" }
Requests then go to https://twitter-aio.p.rapidapi.com with the x-rapidapi-key and x-rapidapi-host headers. The tools and their output are the same.
Subscribed to another TwittrAPI listing on RapidAPI? Set its host: "RAPIDAPI_HOST": "twttr.p.rapidapi.com".
These tools read public data and are always available. The account tools are added when you configure your X session.
| Tool | What it does |
|---|---|
get_user_by_username | Profile by handle, including the numeric user ID |
get_user_by_id | Profile by numeric user ID |
username_to_id | Resolve a handle to its user ID |
users_by_ids | Profiles for up to 500 user IDs at once |
get_user_tweets | A user's tweets |
get_user_tweets_and_replies | A user's tweets and replies |
get_user_media | A user's tweets with photos or videos |
get_followers | A user's followers |
get_following | Accounts a user follows |
get_verified_followers | A user's verified followers |
get_user_affiliates | Accounts affiliated with an organization |
get_friendships_batch | Whether one account follows up to 50 others, and back |
get_user_about_batch | "About this account" for up to 20 handles |
search_tweets | Search with X operators; Top, Latest, People, Photos or Videos |
get_tweet | A tweet and its reply thread |
tweets_by_ids | Up to 100 tweets by ID at once |
get_tweet_retweets | Users who retweeted a tweet |
get_tweet_quotes | Tweets quoting a tweet |
get_tweet_replies | Only the replies to a tweet |
get_tweet_thread | The author's own thread around a tweet |
get_list_details | List name, owner and counts |
get_list_tweets | Tweets from a list's members |
get_list_members | Members of a list |
get_community | Community details |
get_community_about | A community's About page: rules, moderators, members |
get_community_tweets | Tweets in a community |
search_communities | Find communities by keyword |
get_trends | Trending topics for a location (WOEID) |
get_trend_locations | Locations that have trends, with their WOEIDs |
get_space | An X Space: title, state, host and participants |
The user timeline tools (get_user_tweets, get_followers and so on) accept either userId or username. The batch tools are billed one call per handle; tweets_by_ids is one call however many IDs.
With TWITTRAPI_X_COOKIE and TWITTRAPI_X_PROXY set, the server also lists tools that act on your own X account:
| Tool | What it does |
|---|---|
create_tweet | Post a tweet; optional quote (quoteUrl), poll (pollChoices) and reply limit |
reply_to_tweet | Reply to a tweet |
delete_tweet | Delete one of your tweets |
like_tweet, unlike_tweet | Like or unlike a tweet |
retweet, unretweet | Retweet or undo a retweet |
bookmark_tweet, unbookmark_tweet | Add or remove a bookmark |
follow_user, unfollow_user | Follow or unfollow (by userId or username) |
list_dm_conversations | Your DM inbox |
send_dm | Send a direct message (needs TWITTRAPI_X_CHAT_PASSCODE) |
list_dm_requests | Pending message requests; does not accept them or mark them as seen |
accept_dm_request | Accept a one-to-one request and send the first reply (needs TWITTRAPI_X_CHAT_PASSCODE) |
decline_dm_request | Delete a request from your inbox; the sender is not told (needs TWITTRAPI_X_CHAT_PASSCODE) |
create_list | Create a list |
add_list_member, remove_list_member | Add or remove a list member |
create_draft, list_drafts | Save a draft, list your drafts |
list_bookmark_folders, list_bookmark_folder_tweets | Your bookmark folders and the tweets in one (X Premium) |
search_bookmarks | Search your bookmarks |
list_community_memberships | Communities you are a member of |
list_articles, get_article | Your X Articles, drafts or published, and one article (X Premium) |
create_article, update_article | Save a new article as a draft, change one (X Premium) |
publish_article, unpublish_article, delete_article | Publish, unpublish or delete an article (X Premium) |
How to get the cookie and set up a proxy: twittrapi.com/docs/x-session. The cookie needs auth_token and ct0; direct messages also need twid.
"env": {
"TWITTRAPI_API_KEY": "your-key", "TWITTRAPI_X_COOKIE": "auth_token=...; ct0=...; twid=u%3D...", "TWITTRAPI_X_PROXY": "http://user:pass@host:port" }
readOnlyHint: false (deletions and undo actions also destructiveHint: true), so clients ask before running them.Tool results use the API's simple format by default: flat camelCase JSON with a fixed schema ({"data": [...], "nextCursor": ..., "hasNextPage": ...} for lists, {"data": {...}} for single objects). Tweets carry id, url, text, createdAt, author, counts, media, quoted, retweetOf and a few more fields; users carry username, name, description, counts and so on. That is about 60 % fewer tokens than X's raw GraphQL JSON.
To get the raw JSON instead (for cards, polls, edit history, community notes and other fields the simple format leaves out):
format argument, "simple" or "raw";TWITTRAPI_RESPONSE_FORMAT=raw (the format argument still wins).A few endpoints have no simple format: get_space, get_community_about, the batch tools and the newer account tools (bookmark folders and search, communities, articles). These tools have no format argument and always return raw JSON.
Raw responses can be several hundred KB. Every tool takes an optional max_chars argument (default 50,000, range 1,000 to 1,000,000). Longer output is cut and ends with a [TRUNCATED ...] marker.
Paginated tools print the cursor above the JSON, so truncation never removes it:
next_cursor: DAABCgABGZ...
Pass next_cursor as cursor to get the next page.
{"data":{...}}
On the last page the header read
Only the beginning is shown; read the rest in the repo