XTapDown

io.github.farukkolip由 GitHub 帳號 farukkolip 發布v1.2.1更新於 Oct 27, 2026

14 X (Twitter) creator tools — tweet download, hashtags, hooks, engagement & ads-revenue calc.

概覽

AI 產生的概覽

本機 MCP 伺服器,為助理提供 14 個唯讀的 X(Twitter)創作者工具:推文媒體下載、主題標籤、開場鉤子、發文時段、趨勢,以及互動率與廣告分潤計算。

可以做什麼
  • 下載推文媒體與中繼資料:影片、GIF、圖片或文章的直連網址,以及作者資訊與互動數據
  • 查詢創作者內容建議:依領域整理的主題標籤、各國最佳發文時段、鉤子公式、爆紅推文範本與進階搜尋運算子速查表
  • 查看各國即時熱門話題,並依結構化條件產生 X 進階搜尋連結
  • 本機文字計算:依 X 規則計算字元數、把長文拆成編號推文串、轉換花式 Unicode 文字
  • 計算互動率並提供分層基準,以及依曝光量估算 Premium 廣告分潤
適用情境
適合在 X 上進行內容與社群媒體工作:撰寫推文串、檢視互動表現、規劃發文節奏、研究領域與趨勢,或確認變現資格,且不需要 X 帳號或 API 金鑰。
執行需求
以本機 stdio 程序執行,通常用 npx xtapdown-mcp 啟動(需 Node.js);設定 PORT 也可啟動 HTTP/SSE 模式。不需帳號、權杖或 API 金鑰。取得推文資料與趨勢需要網路連線。
安裝前請注意
本身為唯讀,沒有發文或寫入工具,但會從 X 的 syndication 端點抓取公開推文資料,可能被用來大量蒐集公開內容,且本身不額外限流。趨勢與推文查詢依賴該上游端點,可能被限流或失敗。互動率與收益數字僅為估算,不構成財務建議。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 XTapDown,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

XTapDown MCP Server

An MCP (Model Context Protocol) server that gives any LLM client — Claude Desktop, Cursor, Cline, Continue, or your own agent — direct access to the XTapDown X (Twitter) creator toolkit.

Fourteen tools, read-only, zero auth, free.

Tools (14)

Full coverage of every XTapDown web tool — 4 downloaders (video, GIF, image, full archive) consolidated under a single download_tweet since they share one X syndication endpoint.

ToolDescription
download_tweetDownload any X post — video, GIF, image, or article. Returns direct media URLs, author info, engagement stats. Covers /twitter-video-downloader, /twitter-gif-downloader, /twitter-image-downloader and /tweet-downloader.
get_x_hashtagsCurated X hashtags for a niche (tech, finance, marketing, politics, sports, business, ai, gaming, writing, fitness, design, general) + strategy tips.
get_best_time_to_post_xBest posting windows on X by country (12 countries) with the reasoning behind each slot.
generate_tweet_hookBattle-tested tweet hook formulas across 8 categories (Curiosity, Controversy, Authority, List, Story, Question, Numbers, Reframe).
calculate_x_engagement_rateCompute engagement rate using the public follower-based formula, with tier-aware benchmark bands.
calculate_x_ads_revenueEstimate monthly Premium creator ads-revenue-share payout from impressions, with eligibility check.
get_x_trendsLive trending topics on X by country (17 countries) — refreshed roughly hourly.
count_tweet_charactersX-weighted character count (CJK ×2, emoji ×2, URLs ×23 t.co) with thread-split warning.
split_long_text_into_threadSplit long text into ≤280-char numbered tweets respecting sentence/word boundaries + t.co URL math.
build_x_search_urlBuild an X advanced-search URL from structured filters (from:, since:, min_faves:, lang:, filter:media, etc).
generate_fancy_unicode_textConvert ASCII to fancy Unicode (bold, italic, monospace, script, double-struck, small-caps, bold-italic) for bios and tweets.
get_tweet_screenshot_urlDeep-link to the XTapDown screenshot tool with theme + background presets pre-filled (PNG rendering happens client-side in the browser).
find_viral_tweets_for_nicheTop creators in a niche plus 3 viral tweet templates with explanations of why each one works.
get_x_search_operators_cheatsheetFull X advanced-search operator reference, grouped by category, updated for 2026.

Install

Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "xtapdown": {      "command": "npx",      "args": ["-y", "xtapdown-mcp"]    }  }}

Cursor / Cline / Continue

Add a stdio MCP server entry pointing at:

npx -y xtapdown-mcp

From source

bash
git clone https://github.com/farukkolip/xtapdown-mcpcd xtapdown-mcpnpm installnpm run buildnode dist/index.js

Hosted (HTTP)

Set PORT=3000 (or any port) to start the server in HTTP / SSE mode for Smithery-style hosted deployments. Endpoint: POST /mcp and GET /mcp following the MCP Streamable HTTP transport spec.

Example interactions

"Download this tweet for me: https://x.com/.../status/..." → download_tweet returns direct MP4, thumbnail, author handle, like count.

"What's the best time to post on X if my audience is in Türkiye?" → get_best_time_to_post_x returns day-by-day windows in TRT.

"My 50k-follower account got 1,200 likes, 80 reposts, 150 replies. What's my engagement rate?" → calculate_x_engagement_rate returns 2.86% (Good — Mid tier).

"I've been getting 8M impressions a month. Would I qualify for ads revenue share?" → calculate_x_ads_revenue returns: projected 24M / 25M threshold = not yet eligible, ~$60/mo estimated payout if you cross.

Why MCP?

X's API is largely closed to creators. Most third-party tools require paid subscriptions or scrape with hidden rate limits. This server uses X's own public syndication endpoint (the same one embed widgets use) plus inline curated content data, so it works offline-free, no auth, no quota, no surprises.

Once added to your MCP client, the LLM can autonomously fetch tweet data and apply XTapDown's research data to whatever you're working on — content drafts, social audits, strategy threads, monetization math.

Design boundaries

This server is read-only by construction. It has no write tools, no account, no token, no OAuth. Every tool either reads public data through X's syndication endpoint or does local computation. The two tools that produce text (generate_tweet_hook, split_long_text_into_thread) return it to the caller — posting is a separate, human action in a different tool. The approval gate is structural: it is the absence of a post tool, not a flag.

What the model gets back on failure (since 1.3.0):

  • Every failed call sets isError: true, so the model can branch on failure instead of pattern-matching an emoji in text.
  • Network calls time out after 15 s and report it as a timeout, distinct from a connection failure.
  • HTTP 429 from upstream is returned as "rate limited, wait N seconds" (from Retry-After when present), not as a bare status code.
  • A protected account (403) and a deleted post (404) are reported as different situations.

What it does not do: it does not add its own rate limit on top of the upstream. A read tool pointed at someone can still be used to bulk-collect public data. The only defence is that it reads what X already serves to anyone.

Data sources

  • Tweet data: cdn.syndication.twimg.com/tweet-result (public, auth-free)
  • Hashtags / best times / hooks / benchmarks: XTapDown editorial library, 2026 updated
  • Engagement math: public follower-based formula (likes + reposts + replies + bookmarks + quotes) / followers × 100
  • Ads revenue math: X Premium Creator Ads Revenue Sharing documented terms (25M imp/3mo + 500 verified followers + Premium)

Related

License

MIT — © Faruk Kolip

來源:README.md,提交 34c2954

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.2.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分