mcpbeat Sign in

Tweetsmash MCP Server

by tweetsmash Your server? Claim it
answering

Tweetsmash is answering right now. Last checked 5 min ago. It exposes 53 tools. Last commit 11 Jul 2026.

Search, label, and manage your X (Twitter) bookmarks from any MCP client via Tweetsmash

Uptime history 47 days of history · worst day 87%
47 days agonow
94.6%
Uptime 24h
87 of 92 checks
53
Tools
read from the server
252 ms
Response time
average over 24h
0
Stars
last commit 11 Jul 2026

What changed 31

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 15 August 2026. No other catalogue keeps this.

25 Aug a tool changed the parameters it asks for delete_label
23 Aug a tool changed version
21 Aug 5 tools changed the parameters they ask for get_bookmark_count, list_bookmarks, list_likes and 2 more
18 Aug a tool appeared list_likes
18 Aug a tool description was rewritten list_bookmarks
15 Aug 13 tools appeared compose_mash_digest, correct_interest, delete_label and 10 more
15 Aug 6 tool descriptions were rewritten forget, get_list_tweets, list_past_digests and 3 more
15 Aug 3 tools changed the parameters they ask for get_list_tweets, recall, remember

Tweetsmash does not always answer

Over the last week it answered 92.2% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add mcp --transport http https://mcp.tweetsmash.com/api/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.tweetsmash.com/api/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://mcp.tweetsmash.com/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.tweetsmash.com/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.tweetsmash.com/api/mcp"
    }
  }
}

Available tools 53

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

smart
create_smart_view
Create a Smart View from a filter so the user can reuse it. Provide a name and the base_query (filter).
delete_smart_view
Delete a Smart View by slug.
get_smart_view
Get a single Smart View by slug (its filter, tabs/buckets, and sort).
get_smart_view_bookmarks
List the bookmarks inside a Smart View, optionally scoped to one tab/bucket. Use the returned ids with archive_bookmarks / tagging tools to act on the view.
list_smart_views
List the user's Smart Views (saved filtered views). Each has a slug you pass to the other smart-view tools.
update_smart_view
Update a Smart View (name, filter, tabs, sort) by slug.
bookmark
get_bookmark
Get a single saved bookmark with FULL content in one call — the full X Article body, the unrolled thread, notes, and (optionally) replies. Use `include` (comma list of article,thread,notes,replies) to narrow it; defaults to article,thread,notes. Use this when the user wants to read or summarize a specific saved tweet/thread/article in depth.
get_bookmark_count
Get the total count of user's bookmarks with optional filtering. Useful for understanding the size of bookmark collections before listing them.
get_bookmark_sync_status
Show whether a specific bookmark has synced to a given integration connection.
digest
delete_digest_preference
Remove a digest schedule by id.
list_digest_preferences
List the user's email-digest schedules (frequency, time, paused state) for bookmark and Smart View digests.
update_digest_preference
Update a digest schedule (enable/pause, frequency, time) by id.
labels
add_labels_to_tweets
Add a label to a list of tweets. Can use an existing label by ID or create a new label by name. Either label_id or label_name must be provided.
list_labels
List all user's labels with their usage counts. Useful for discovering existing labels before adding new ones.
remove_labels_from_tweets
Remove a label from a list of tweets using label_name.
mash
get_mash_digest_issue
One digest issue in full: its title, intro, every section, and per item the summary, why it was picked and why it matters to this user. Use it to answer 'what was in my digest?', 'why was this in there?' or to carry on a conversation about something the user just read. Items carry tweet IDS, not post text — resolve them with get_bookmark if the user asks about a specific post.
list_mash_digest_issues
Past issues of the user's Digest 2.0, newest first — what arrived and when. Deliberately WITHOUT the content: pick one and call get_mash_digest_issue for the whole thing. Pass digest_id to narrow to one digest.
list_mash_digests
The user's Mash Digest 2.0 digests — the AI-composed ones. An account can have SEVERAL (a morning read and an evening skim are two digests, not two sections of one), so START HERE and use the returned `id` for the other digest tools. Returns each digest's name, where its sections read from, and its schedule.
trigger
trigger_csv_export
Start a CSV export (explicit ids, a filter, or the whole library). Returns a job id; the file appears in the Export Center.
trigger_json_export
Start a JSON export (explicit ids, a filter, or the whole library). Returns a job id; the file appears in the Export Center.
trigger_pdf_export
Start a PDF export of the user's bookmarks (explicit ids, everything matching a filter, or the whole library). Returns a job id; tell the user the file will appear in the Export Center.
archive
archive_bookmarks
Archive, unarchive, delete, undelete, or mark read/unread a list of bookmarks by id (max 500). This is a bulk write; for destructive actions (delete) confirm with the user first. Reports how many changed.
archive_bookmarks_by_filter
Apply archive/unarchive/delete/undelete to EVERY bookmark matching a filter, in one call. Destructive by nature — confirm with the user before delete. Reports counts.
author
get_author_preferences
The user's stated author preferences for list digests: `boost` = never-miss authors, `hide` = muted authors.
set_author_preference
Remember how the user feels about an author in their list digests. action=boost → never miss this author's posts (they will always be included, low-signal ones collapsed rather than dropped); action=hide → mute them; action=clear → forget the preference. Use when the user says things like 'don't let me miss marclou's updates' or 'stop showing me X'. Takes effect from the next digest and in preview_list_ranking immediately.
bookmarks
list_bookmarks
List the user's Twitter BOOKMARKS — posts they deliberately saved. Never includes X Likes; use list_likes for those. Supports filtering and pagination. Supports filtering by read status, media type, author, tags, date ranges, and sorting options. IMPORTANT: Use this tool (with the 'author' parameter) when the user asks to show tweets by a specific author.
search_bookmarks
Search through a user's Twitter bookmarks using keyword search (q), semantic search (vector_search_term), or author filtering (author). At least one of q, vector_search_term, or author should be provided. IMPORTANT: Use the 'author' parameter for filtering by author, not the 'q' field.
compose
compose_mash_digest
Compose one of the user's Digest 2.0 digests NOW rather than waiting for its schedule. SPENDS A DIGEST CREDIT and takes about a minute, so only call it when the user asks for a fresh digest — not to inspect the current one (use get_mash_digest_issue for that). Returns an issue_id to read back once composing finishes.
connection
get_connection_status
Check whether the user's tweets can be pulled: the X (Twitter) API connection (connected / disconnected), whether the browser extension has synced recently, and a rolled-up can_pull + how (x_api or extension). Use this before a sync, or when the user asks why bookmarks aren't updating. Note: the extension is browser-only and can't be driven by an agent.
correct
correct_interest
Record the user's correction to an inferred interest, using a key from get_interests. Corrections are sticky — they survive every future recompute. Use `confirm` when they agree, `rename` for their own wording, `hide` to stop using an interest while keeping its history, `boost` when they want it weighted higher. `forget` is different and IRREVERSIBLE: it erases the underlying history so the topic cannot re-form — only use it when the user clearly asks to delete, and say what it means first.
digests
get_list_digests
List past Twitter-list email digests for the user.
docs
search_docs
Answer questions about Tweetsmash itself — features, how-to, pricing, plans, limits, account/subscription. Searches the bundled product guide and returns the most relevant sections for you to answer from. Call with an empty query to list the help topics.
forget
forget
Delete a saved library preference by key (optionally narrowed by kind). Use when the user changes their mind or asks you to drop something.
get
get_me
Get the current user's account: identity, current plan and status, and usage (e.g. AI chat credits). Use this to answer 'who am I' / 'what plan am I on'.
interests
get_interests
Read what this user is actually interested in, inferred from their saved bookmarks, hand labels, questions and digest clicks — not from anything they typed. Returns topics with a 0-1 strength, whether each is active this week, and a `coverage` field saying how much evidence exists (`lite` means a new account: treat it as a first guess and check before relying on it). Use it to prioritise, filter or explain — then confirm with the user rather than asserting it back as fact. Evidence itself is not returned.
label
delete_label
Delete a label from the account entirely — the label itself plus every bookmark's assignment of it. The BOOKMARKS are not deleted; they simply lose this label. IRREVERSIBLE: before calling, tell the user how many bookmarks carry the label (list_labels returns the count) and get an explicit yes. To take a label off SOME bookmarks instead, use remove_labels_from_tweets. If the name matches more than one label the call fails with the candidates — re-run with label_id.
library
get_library_overview
A snapshot of the whole library: total bookmarks, unread, untagged, breakdown by type (threads/media/links/notes), every label with its count, and the years covered. Use this FIRST for anything open-ended (organise, clean up, learn from my saves, 'how many do I have per topic') instead of paging through bookmarks.
likes
list_likes
List the posts the user LIKED on X (not their bookmarks). Likes are a lighter signal than a save — use list_bookmarks for things the user deliberately saved, and this when the user explicitly asks about likes or about what they react to. Same filters and pagination as list_bookmarks.
past
list_past_digests
List past digests sent to the user's email, newest first. This is Digest 1.0 (the cluster pipeline). For the AI-composed Digest 2.0, use list_mash_digests.
preview
preview_list_ranking
Rank a followed X list exactly the way the digest ranker would, WITHOUT sending anything, and show the work: each unit carries its rank_signals (lane_fit = matches what the user builds/studies, affinity = an author they trust, engagement, substance, noise demotions) plus author groups (`group_size` + `related_items` = several posts by one author, best one leading). Use this to answer 'what's worth reading in my list?', 'why was this picked?', or to check how a preference change would land. `meta.inert_dimensions` names signals that had no data for this pool.
recall
recall
Read back the user's saved library preferences (optionally filtered by a substring). Worth calling before an open-ended organise, summarise or cleanup task so you follow how they already like things done.
recent
fetch_recent_bookmarks
Force-pull the user's most recent bookmarks from the X API now (server-side). Requires a connected X account; if the account only syncs via the browser extension, this reports that a browser sync is needed. Use when the user asks to refresh / fetch their latest saves. For Twitter-list freshness, use get_list_tweets instead.
remember
remember
Save a durable PREFERENCE about how this user wants their bookmark library handled — the themes they organise by, topics to exclude, preferred summary length/format, which account is their main one. It carries across sessions AND into the Tweetsmash web app, which your own client memory cannot reach. Use it for lasting preferences the user states or confirms, not for general chat context, task state, or anything secret.
revoke
revoke_share_link
Revoke a previously created share link by its token.
send
send_list_digest
Build and email a digest of a Twitter list's high-signal tweets to the user now.
setup
setup_vector_store
Initialize the vector store for semantic bookmark search. CRITICAL: When vector/semantic search fails with 'Vector Store Not Setup' error, call this tool. This is an async operation that may take a few minutes for large bookmark collections.
share
create_share_link
Create a public, read-only share link for a set of bookmarks (explicit ids or everything matching a filter). Returns a share_url valid for 7 days. Free plans share up to 10 bookmarks.
skill
get_skill
Get the full playbook for a task: when to use it, the exact tool sequence with the arguments that matter, tips, and the pitfalls that cause empty results. `name` takes EITHER an exact skill name (learn_from_bookmarks, organise_into_themes, cleanup_library, list_intelligence, get_my_data_out, find_that_thing, stay_on_top, diagnose_sync, connect_your_tool) OR a plain description of the job — both resolve. You do NOT need list_skills first: if you already know what the user is trying to do, call this directly with their request and skip the round trip. Reach for list_skills only to browse what exists.
skills
list_skills
START HERE for any open-ended request. Lists the task playbooks this server supports — systematic learning from bookmarks, organising into themes, cleaning up, X-list intelligence, exporting data out, finding a half-remembered save, digests, and diagnosing sync. Each names when to use it; call get_skill for the exact tool sequence.
sync
get_sync_status
Show the user's app-sync integrations (Notion, Google Sheets, Zotero): whether each is connected/enabled, synced vs pending counts, and any errors.
tag
tag_bookmarks_by_filter
Add a label to EVERY bookmark matching a filter, in a single call. Prefer this over listing then looping when the user says 'tag all my … as …'. Resolves an author name to its id automatically. Reports matched/tagged/failed counts.
tweets
get_list_tweets
Get recent tweets for a followed X list — the latest, or (sort=POPULARITY) the top/trending tweets in a look-back window. Serves a cached copy when it's fresh and otherwise fetches from X automatically, so it always returns real tweets; `meta.source` says cache or fetched and `meta.cache_age_hours` how old it is. Pass max_age_hours:0 to force a refresh. Get connect_id from list_twitter_lists. hours defaults to 24.
twitter
list_twitter_lists
List the X (Twitter) lists the user follows in Tweetsmash. Returns each list's name plus its `connect_id` — pass that to get_list_tweets / send_list_digest. START HERE for any 'what's in my list' request.

Endpoints

URLTransportStateLatencyChecked
https://mcp.tweetsmash.com/api/mcp streamable-http answering 255 ms 5 min ago

Alternatives to Tweetsmash

same job, measured the same way
X Archive RAG
by mameshivaa

Local-first MCP tools for searching and drafting from your X/Twitter archive.

local only
Opentweet
by opentweet

Manage your Twitter/X presence from any AI assistant — schedule, threads, and more

116 installs/wk local only
X (Twitter)
by role1776

Search, read and publish X posts and manage users, lists and media via the X API v2.

local only
Readdit Later
by sanjhaiprakash18

Search, organize, and chat with your saved Reddit posts from Claude, Cursor, and any MCP client.

327 installs/wk answering
C
Adviserry
by adviserry

Search your newsletter and YouTube archive, drafted actions and working context from any MCP client.

answering
Meetsponsors
by meetsponsors

Search thousands of active YouTube sponsors and 60,000+ channels from any MCP client. Free tier.

17 tools answering
TwitterAPIs
by twitterapis

Official MCP server for twitterapis.com. Read and write Twitter/X: search, users, tweets, DMs.

1 026 installs/wk local only
Cloziq
by cloziq

Create your offers and launch AI Instagram DM sales agents from any MCP client, over OAuth.

answering

Tweetsmash — questions

Answers built from our own checks of this server.

What can Tweetsmash do?
It exposes 53 tools, read directly from the server on our last check. Among them: add_labels_to_tweets, archive_bookmarks, archive_bookmarks_by_filter, compose_mash_digest, correct_interest, create_share_link and 47 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Tweetsmash mostly used for?
Its tools cluster around smart, bookmark and digest. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Tweetsmash working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 87 of 92 checks got a reply (94.6%), average response time 252 ms. The bar chart above shows every period we have measured.
How do I connect Tweetsmash?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Tweetsmash need an API key?
No. Tweetsmash completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 53 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Tweetsmash?
It answers our handshake in 252 ms on average, which is faster than 57% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Tweetsmash open source?
We cannot say either way: 0 stars on GitHub, but we could not determine the licence, and without one the code is not open source by default.