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 分