# Tweetsmash Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Tweetsmash

Search, label, and organize your X bookmarks with semantic search and smart views

- Record: https://musedirectory.ai/connector/tweetsmash
- Category: Productivity
- Developer: Ramy Chinnadurai
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 1582ms, checked 2026-09-28T08:01:21Z
- Endpoint: https://mcp.tweetsmash.com/api/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-09-24T21:06:17Z)
- Source: Found in the official MCP Registry (com.tweetsmash/mcp) https://registry.modelcontextprotocol.io/v0/servers?search=com.tweetsmash%2Fmcp

Connects to your Tweetsmash account to search, filter, label, and manage X bookmarks. Organize by tags, media type, author, or date; export to PDF, CSV, or JSON; create smart views; and receive AI-composed digests of saved posts.

Example request: "Show me all my bookmarks about machine learning from the last month and add a label to them"

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Tweetsmash to help me. It is a free service with an MCP server at https://mcp.tweetsmash.com/api/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- 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 th
- 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_bookma
- 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' 
- 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.
- list_labels: List all user's labels with their usage counts. Useful for discovering existing labels before adding new ones.
- 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.
- remove_labels_from_tweets: Remove a label from a list of tweets using label_name.
- 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 a
- 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.
- 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 t
- 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_
- 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') i
- 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.
- 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 re
- 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.
- 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.
- list_smart_views: List the user's Smart Views (saved filtered views). Each has a slug you pass to the other smart-view tools.
- 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.
- create_smart_view: Create a Smart View from a filter so the user can reuse it. Provide a name and the base_query (filter).
- update_smart_view: Update a Smart View (name, filter, tabs, sort) by slug.
- delete_smart_view: Delete a Smart View by slug.
- 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.
- revoke_share_link: Revoke a previously created share link by its token.
- 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.
- 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.
- 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.
- delete_digest_preference: Remove a digest schedule by id.
- 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.
- 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
- 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.
- 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 carr
- 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
- 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.
- get_bookmark_sync_status: Show whether a specific bookmark has synced to a given integration connection.
- 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.
- 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 `me

Screening checks:
- MCP handshake: pass (Answered in 364ms)
- Domain against threat feeds (Cloudflare security DNS): pass (mcp.tweetsmash.com not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (53 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
