# XTapDown (npm · xtapdown-mcp)

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

- Trust score: 70/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `xtapdown-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp.md), [page](https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp)

## Channel facts

- Registry: `npm`
- Package: `xtapdown-mcp`
- Version: `1.2.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 96), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 96), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 38 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1451 tokens (~103/item across 14 items; 14 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add farukkolip-xtapdown-mcp -- npx -y xtapdown-mcp
```

### Codex

```bash
codex mcp add farukkolip-xtapdown-mcp -- npx -y xtapdown-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "farukkolip-xtapdown-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "xtapdown-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add farukkolip-xtapdown-mcp --command npx --arg -y --arg xtapdown-mcp
```

### Hermes

```yaml
mcp_servers:
  farukkolip-xtapdown-mcp:
    command: "npx"
    args: ["-y", "xtapdown-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 66, +61)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 5, −46)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 51, +26)

- [security regression] Provenance: unverified → fail
- [security regression] Malware scan: pass → unverified
- [security improvement] Install scripts: unverified → pass
- [functional regression] Dependency health: partial → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-07-29 (score 25, −21)

- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (14)

### `download_tweet` (~79 tokens)

Download an X (Twitter) post — video, GIF, images, or article. Returns direct media URLs, author info, and engagement stats. Uses the public X syndication endpoint, no auth required.

Input parameters:

- `url` (string, required): X / Twitter post URL (e.g. https://x.com/user/status/12345 or twitter.com equivalent)

### `get_x_hashtags` (~64 tokens)

Get curated X (Twitter) hashtags for a niche, plus 3 strategy tips on how to use them. Hashtag rules on X differ sharply from TikTok or Instagram — max 1-3 tags per post.

Input parameters:

- `niche` (string, required): Niche label

### `get_best_time_to_post_x` (~68 tokens)

Get the best times to post on X (Twitter) for a country, with day-by-day windows and the reasoning behind each slot. X engagement curves differ from TikTok — weighted toward morning commute, lunch, and evening news windows.

Input parameters:

- `country` (string, required): Country code

### `generate_tweet_hook` (~82 tokens)

Generate proven tweet hook formulas for a category. Returns 3 ready-to-use templates with examples and execution tips. Hooks must land in line one because the rest of the post is hidden until tap.

Input parameters:

- `category` (string, required): Hook category
- `topic` (string): Optional topic (e.g. 'AI agents', 'crypto') to customize the examples

### `calculate_x_engagement_rate` (~161 tokens)

Calculate X (Twitter) engagement rate using the public follower-based formula: (likes + reposts + replies + bookmarks + quotes) / followers × 100. Returns the percentage and the tier-aware benchmark band (Excellent / Good / Average / Low / Inactive).

Input parameters:

- `bookmarks` (integer): Bookmarks (optional, default 0)
- `followers` (integer, required): Account follower count
- `likes` (integer, required): Likes on the post (or sum across posts)
- `posts` (integer): Number of posts the engagement is summed over (default 1)
- `quotes` (integer): Quote tweets (optional, default 0)
- `replies` (integer, required): Reply count
- `reposts` (integer, required): Reposts / retweets

### `calculate_x_ads_revenue` (~148 tokens)

Estimate monthly X Premium Creator Ads Revenue Share payout from impressions. X pays creators based on ads shown in REPLIES to their posts, not the posts themselves — so reply density is the lever. Requires X Premium + 500 verified followers + 25M impressions over the trailing 3 months for eligibility.

Input parameters:

- `avgRepliesPerPost` (number): Average replies per post (drives ad inventory in replies — default 20)
- `cpmEstimate` (number): Estimated CPM in USD for reply ads (industry estimate $1.50-$4 — default $2.50)
- `monthlyImpressions` (integer, required): Total impressions on your posts in the past 30 days

### `get_x_trends` (~76 tokens)

Get the current top trending topics on X (Twitter) for a country. Live data refreshed roughly hourly by the XTapDown trends collector.

Input parameters:

- `country` (string, required): Country code (ISO 3166-1 alpha-2)
- `limit` (integer): Max trends to return (1-50, default 20)

### `count_tweet_characters` (~83 tokens)

Count tweet characters using X's official weighted-length formula. CJK ideographs, fullwidth chars, and most emoji count as 2; URLs always count as 23 (t.co shortening). Returns char count, remaining budget for free + Premium limits, and a warning if a thread split is needed.

Input parameters:

- `text` (string, required): Tweet text to measure

### `split_long_text_into_thread` (~87 tokens)

Split a long text into a numbered tweet thread (each tweet ≤ 280 chars). Uses X's weighted-length formula and t.co URL shortening (URLs always count as 23). Prefers sentence boundaries, then paragraph, then word.

Input parameters:

- `numbered` (boolean): Append ' i/N' numbering to each tweet
- `text` (string, required): Long text to thread-split

### `build_x_search_url` (~303 tokens)

Build an X (Twitter) advanced search URL from structured filters. Returns a clickable URL using X's official advanced search operators (from:, since:, until:, min_faves:, lang:, filter:media etc).

Input parameters:

- `excludeReplies` (boolean): -filter:replies — exclude replies
- `excludeRetweets` (boolean): -filter:retweets — exclude reposts
- `from` (string): Posts from a specific username (no @)
- `lang` (string): ISO 639-1 language code (e.g. 'en', 'es', 'tr')
- `mediaFilter` (string): Media type filter
- `mentions` (string): Posts mentioning a username (no @)
- `minBookmarks` (integer): Minimum bookmarks (the strongest save signal in 2026)
- `minFaves` (integer): Minimum likes
- `minReplies` (integer): Minimum replies
- `minRetweets` (integer): Minimum reposts
- `query` (string): Free-text keywords (e.g. 'AI agents')
- `sinceDate` (string): YYYY-MM-DD lower bound (inclusive)
- `sortMode` (string): 'top' (relevance) or 'live' (recent)
- `to` (string): Posts replying to a specific username (no @)
- `untilDate` (string): YYYY-MM-DD upper bound (inclusive)
- `verifiedOnly` (boolean): filter:verified — verified accounts only

### `generate_fancy_unicode_text` (~71 tokens)

Convert plain ASCII text into a fancy Unicode style suitable for X bios and tweets. 7 styles supported: bold, italic, boldItalic, monospace, script, doubleStruck, smallCaps.

Input parameters:

- `style` (string, required): Style preset
- `text` (string, required): ASCII text to transform

### `get_tweet_screenshot_url` (~99 tokens)

Generate a deep-link to XTapDown's tweet screenshot tool with the tweet URL and styling pre-filled. The PNG/JPG rendering happens client-side in the browser — this tool returns a ready-to-open URL plus a checklist of available styles.

Input parameters:

- `background` (string): Decorative background preset
- `theme` (string): Native X theme to render against
- `tweetUrl` (string, required): X (Twitter) post URL to screenshot

### `find_viral_tweets_for_niche` (~65 tokens)

Get the top X (Twitter) creators in a niche plus 3 viral tweet templates with explanations of why each one works. Pulls from XTapDown's curated viral pattern library.

Input parameters:

- `niche` (string, required): Niche to surface viral patterns for

### `get_x_search_operators_cheatsheet` (~65 tokens)

Return the complete X (Twitter) advanced search operators reference, grouped by category, with syntax / example / description for each operator. Updated for 2026.

Input parameters:

- `category` (string): Filter by category — or 'all' for the full sheet

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 66
- 2026-08-01: 5
- 2026-07-31: 51
- 2026-07-29: 25
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/xtapdown-mcp
- Socket report: https://socket.dev/npm/package/xtapdown-mcp
- Repository: https://github.com/farukkolip/xtapdown-mcp
- Website: https://xtapdown.com/
- Changelog RSS feed: https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/farukkolip-xtapdown-mcp/xtapdown-mcp
