
XTapDown
io.github.farukkolipPublished by GitHub account farukkolipv1.2.1Updated Oct 27, 2026
14 X (Twitter) creator tools — tweet download, hashtags, hooks, engagement & ads-revenue calc.
Overview
Local MCP server giving assistants 14 read-only X (Twitter) creator tools: tweet media download, hashtags, hooks, posting times, trends and engagement or…
- What you can do
- Download a post's media and metadata: direct video, GIF, image or article URLs plus author and engagement stats
- Look up creator content guidance: curated hashtags per niche, best posting windows by country, hook formulas, viral tweet templates and an advanced-search operator cheatsheet
- Check live trending topics by country and build X advanced-search URLs from structured filters
- Do local text math: X-weighted character counting, thread splitting into numbered tweets, and fancy Unicode text conversion
- Compute engagement rate with tier benchmarks and estimate Premium ads-revenue payout from impressions
- When to use it
- Useful for social media and content work on X: drafting threads, auditing engagement, planning posting schedules, researching niches and trends, or checking monetization eligibility, without needing an X account or API key.
- Requirements
- Runs as a local stdio process, typically launched with npx xtapdown-mcp (Node.js required); can also be started in HTTP/SSE mode by setting a PORT. No account, token or API key. Network access is needed for tweet data and trends.
Installation
In SourceWeft
- Open XTapDown in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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.
Install
Claude Desktop
Add to your claude_desktop_config.json:
Cursor / Cline / Continue
Add a stdio MCP server entry pointing at:
From source
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_tweetreturns 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_xreturns 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_ratereturns 2.86% (Good — Mid tier).
"I've been getting 8M impressions a month. Would I qualify for ads revenue share?" →
calculate_x_ads_revenuereturns: 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-Afterwhen 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
- tiktapdown-mcp — TikTok equivalent
- xtapdown.com — full web toolkit with 17 tools
License
MIT — © Faruk Kolip
Source: README.md at commit 34c2954
Tools
0Version history
1- v1.2.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts