accueil / serveurs / Recherche & Web / com.tweetsmash/mcp
com.tweetsmash/mcp
serveur MCP (Model Context Protocol) · tweetsmash-mcp 2.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.tweetsmash/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.tweetsmash/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 53 outils
- add_labels_to_tweets≈ 216 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslabel_id· string · optionnel
ID of existing label (use either label_id or label_name)tweet_ids· array · requis
Array of tweet IDs to add the label tolabel_name· string · optionnel
Name of the label to create/add (use either label_id or label_name)
Exemple d'appel{"name": "add_labels_to_tweets", "arguments": {"tweet_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - archive_bookmarks≈ 210 tokens
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.
Paramètres, retour & exemple (2)
Paramètresaction· string · requis · archive | unarchive | delete | undelete | read | unread
The action to apply.tweet_ids· array · requis
Bookmark ids to act on (max 500).
Exemple d'appel{"name": "archive_bookmarks", "arguments": {"action": "archive", "tweet_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - archive_bookmarks_by_filter≈ 207 tokens
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.
Paramètres, retour & exemple (5)
Paramètrestags· array · optionnelvalue· string · optionnelaction· string · requis · archive | unarchive | delete | undelete
The action to apply to every match.filter· string · optionnelsearch_query· string · optionnel
Exemple d'appel{"name": "archive_bookmarks_by_filter", "arguments": {"action": "archive"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - compose_mash_digest≈ 198 tokens
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.
Paramètres, retour & exemple (1)
Paramètresdigest_id· string · requis
Which digest to compose, from list_mash_digests.
Exemple d'appel{"name": "compose_mash_digest", "arguments": {"digest_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - correct_interest≈ 365 tokens
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.
Paramètres, retour & exemple (3)
Paramètresvalue· string · optionnel
Required for rename: the user's own name for this interest.action· string · requis · confirm | boost | rename | hide | forget
confirm = the user says this is right (keeps it alive as it ages); boost = they want it weighted higher; rename = give it their own name; hide = stop showing or using it, evidence kept; forget = ERASE the underlying history, irreversible.interest_key· string · requis
The interest's key, exactly as returned by get_interests.
Exemple d'appel{"name": "correct_interest", "arguments": {"action": "confirm", "interest_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_share_link≈ 208 tokens
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.
Paramètres, retour & exemple (5)
Paramètrestags· array · optionnelvalue· string · optionnelfilter· string · optionneltweet_ids· array · optionnel
Explicit ids to export. Omit to export everything matching the filter, or the whole library.search_query· string · optionnel
Exemple d'appel{"name": "create_share_link", "arguments": {"tags": [], "value": "texte", "filter": "texte", "tweet_ids": [], "search_query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_smart_view≈ 190 tokens
Create a Smart View from a filter so the user can reuse it. Provide a name and the base_query (filter).
Paramètres, retour & exemple (5)
Paramètresname· string · requis
View name.base_query· string · optionnel
The filter query that defines the view.description· string · optionneldefault_sort· string · optionneltriage_buckets· ? · optionnel
Optional tab/bucket definitions.
Exemple d'appel{"name": "create_smart_view", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_digest_preference≈ 120 tokens
Remove a digest schedule by id.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The digest preference id.
Exemple d'appel{"name": "delete_digest_preference", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_label≈ 262 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslabel_id· string|number · optionnel
The label's id. Use this when a name matched more than one label.label_name· string · optionnel
Name of the label to delete, exactly as it appears in list_labels.
Exemple d'appel{"name": "delete_label", "arguments": {"label_id": 1, "label_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_smart_view≈ 115 tokens
Delete a Smart View by slug.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
The smart view slug.
Exemple d'appel{"name": "delete_smart_view", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fetch_recent_bookmarks≈ 218 tokens
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.
Paramètres, retour & exemple (2)
Paramètresmax· number · optionnel
How many recent bookmarks to pull (max 800).force· boolean · optionnel
Force the pull even if a recent sync exists.
Exemple d'appel{"name": "fetch_recent_bookmarks", "arguments": {"max": 1, "force": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - forget≈ 136 tokens
Delete a saved library preference by key (optionally narrowed by kind). Use when the user changes their mind or asks you to drop something.
Paramètres, retour & exemple (2)
Paramètreskey· string · optionnel
The memory key to forget.kind· string · optionnel
Exemple d'appel{"name": "forget", "arguments": {"key": "texte", "kind": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_author_preferences≈ 104 tokens
The user's stated author preferences for list digests: `boost` = never-miss authors, `hide` = muted authors.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_author_preferences", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bookmark≈ 231 tokens
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.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The tweet/bookmark id to fetch.include· string · optionnel
Comma list of extra content to include: article,thread,notes,replies. Defaults to article,thread,notes.
Exemple d'appel{"name": "get_bookmark", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bookmark_count≈ 414 tokens
Get the total count of user's bookmarks with optional filtering. Useful for understanding the size of bookmark collections before listing them.
Paramètres, retour & exemple (9)
Paramètrestag· string · optionnel
Filter by tagauthor· string · optionnel
Filter by author username. Use this parameter when the user wants to find tweets by a specific author (e.g., 'Show tweets by @user'). Do NOT use 'q' for author names.posted_to· string · optionnel
Filter tweets posted before this date (ISO 8601 string)media_type· string · optionnel · thread | media | replies | notes | links | article
Filter by kind: thread · media (images/video) · replies · notes · links (posts linking out) · article (a native X Article — use this when someone says "article", not `links`)posted_from· string · optionnel
Filter tweets posted after this date (ISO 8601 string)bookmarked_to· string · optionnel
Filter bookmarks added before this date (ISO 8601 string)hide_archived· boolean · optionnel
Hide archived bookmarksis_unread_only· boolean · optionnel
Filter to only unread bookmarksbookmarked_from· string · optionnel
Filter bookmarks added after this date (ISO 8601 string)
Exemple d'appel{"name": "get_bookmark_count", "arguments": {"tag": "texte", "author": "texte", "posted_to": "texte", "media_type": "thread", "posted_from": "texte", "bookmarked_to": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bookmark_sync_status≈ 152 tokens
Show whether a specific bookmark has synced to a given integration connection.
Paramètres, retour & exemple (2)
Paramètrestweet_id· string · requisconnect_id· string · requis
The integration connection id.
Exemple d'appel{"name": "get_bookmark_sync_status", "arguments": {"tweet_id": "texte", "connect_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_connection_status≈ 165 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_connection_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_interests≈ 200 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_interests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_library_overview≈ 155 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_library_overview", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_list_digests≈ 86 tokens
List past Twitter-list email digests for the user.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_list_digests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_list_tweets≈ 334 tokens
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.
Paramètres, retour & exemple (5)
Paramètressort· string · optionnel · LATEST | POPULARITY
LATEST or POPULARITY (trending/top).hours· number · optionnel
Look-back window in hours (default 24).limit· number · optionnelconnect_id· string · requis
The list connection id (the `connect_id` from list_twitter_lists).max_age_hours· number · optionnel
How stale cached tweets may be before refetching from X (default 4). Pass 0 to force a fresh fetch.
Exemple d'appel{"name": "get_list_tweets", "arguments": {"connect_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_mash_digest_issue≈ 212 tokens
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.
Paramètres, retour & exemple (1)
Paramètresissue_id· string · requis
The issue id, from list_mash_digest_issues.
Exemple d'appel{"name": "get_mash_digest_issue", "arguments": {"issue_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_me≈ 107 tokens
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'.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_me", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_skill≈ 313 tokens
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.
Paramètres, retour & exemple (1)
Paramètresname· string · optionnel
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) or a plain description of the job — the closest match is returned either way, so passing the user's own words is fine.
Exemple d'appel{"name": "get_skill", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_smart_view≈ 124 tokens
Get a single Smart View by slug (its filter, tabs/buckets, and sort).
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
The smart view slug.
Exemple d'appel{"name": "get_smart_view", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_smart_view_bookmarks≈ 220 tokens
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.
Paramètres, retour & exemple (4)
Paramètresslug· string · requis
The smart view slug.limit· number · optionnel
Page size (1-100).bucket· string · optionnel
Which tab/bucket of the view to read (default: all).cursor· number · optionnel
Numeric offset for the next page.
Exemple d'appel{"name": "get_smart_view_bookmarks", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_sync_status≈ 110 tokens
Show the user's app-sync integrations (Notion, Google Sheets, Zotero): whether each is connected/enabled, synced vs pending counts, and any errors.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_sync_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_bookmarks≈ 600 tokens
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.
Paramètres, retour & exemple (13)
Paramètrestag· string · optionnel
Filter by taglimit· number · optionnel
Number of bookmarks to retrieve (1-100)author· string · optionnel
Filter by author username. Use this parameter when the user wants to find tweets by a specific author (e.g., 'Show tweets by @user'). Do NOT use 'q' for author names.cursor· string · optionnel
Pagination cursor for next pagesort_by· string · optionnel · POSTED_DATE_ASC | POSTED_DATE_DESC | OLDEST_FIRST | NEWEST_FIRST
Sort order for resultsposted_to· string · optionnel
Filter tweets posted before this date (ISO 8601 string)media_type· string · optionnel · thread | media | replies | notes | links | article
Filter by kind: thread · media (images/video) · replies · notes · links (posts linking out) · article (a native X Article — use this when someone says "article", not `links`)posted_from· string · optionnel
Filter tweets posted after this date (ISO 8601 string)sort_cursor· string · optionnel
Cursor for pagination when using sort_by (use value from meta.sort_cursor of previous response)bookmarked_to· string · optionnel
Filter bookmarks added before this date (ISO 8601 string)hide_archived· boolean · optionnel
Hide archived bookmarksis_unread_only· boolean · optionnel
Filter to only unread bookmarksbookmarked_from· string · optionnel
Filter bookmarks added after this date (ISO 8601 string)
Exemple d'appel{"name": "list_bookmarks", "arguments": {"tag": "texte", "limit": 1, "author": "texte", "cursor": "texte", "sort_by": "POSTED_DATE_ASC", "posted_to": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_digest_preferences≈ 104 tokens
List the user's email-digest schedules (frequency, time, paused state) for bookmark and Smart View digests.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_digest_preferences", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_labels≈ 99 tokens
List all user's labels with their usage counts. Useful for discovering existing labels before adding new ones.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_labels", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_likes≈ 580 tokens
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.
Paramètres, retour & exemple (13)
Paramètrestag· string · optionnel
Filter by taglimit· number · optionnel
Number of bookmarks to retrieve (1-100)author· string · optionnel
Filter by author username. Use this parameter when the user wants to find tweets by a specific author (e.g., 'Show tweets by @user'). Do NOT use 'q' for author names.cursor· string · optionnel
Pagination cursor for next pagesort_by· string · optionnel · POSTED_DATE_ASC | POSTED_DATE_DESC | OLDEST_FIRST | NEWEST_FIRST
Sort order for resultsposted_to· string · optionnel
Filter tweets posted before this date (ISO 8601 string)media_type· string · optionnel · thread | media | replies | notes | links | article
Filter by kind: thread · media (images/video) · replies · notes · links (posts linking out) · article (a native X Article — use this when someone says "article", not `links`)posted_from· string · optionnel
Filter tweets posted after this date (ISO 8601 string)sort_cursor· string · optionnel
Cursor for pagination when using sort_by (use value from meta.sort_cursor of previous response)bookmarked_to· string · optionnel
Filter bookmarks added before this date (ISO 8601 string)hide_archived· boolean · optionnel
Hide archived bookmarksis_unread_only· boolean · optionnel
Filter to only unread bookmarksbookmarked_from· string · optionnel
Filter bookmarks added after this date (ISO 8601 string)
Exemple d'appel{"name": "list_likes", "arguments": {"tag": "texte", "limit": 1, "author": "texte", "cursor": "texte", "sort_by": "POSTED_DATE_ASC", "posted_to": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_mash_digest_issues≈ 198 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
How many issues, newest first. Default 20.digest_id· string · optionnel
Narrow to one digest (from list_mash_digests). Omit for every digest.
Exemple d'appel{"name": "list_mash_digest_issues", "arguments": {"limit": 1, "digest_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_mash_digests≈ 152 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_mash_digests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_past_digests≈ 113 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_past_digests", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_skills≈ 155 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_skills", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_smart_views≈ 101 tokens
List the user's Smart Views (saved filtered views). Each has a slug you pass to the other smart-view tools.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_smart_views", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_twitter_lists≈ 126 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_twitter_lists", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_list_ranking≈ 376 tokens
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.
Paramètres, retour & exemple (5)
Paramètressort· string · optionnel · auto | popular
auto (the digest's blend) or popular (engagement-led).limit· number · optionnel
How many ranked units to return (default 20).list_id· string · optionnel
The X list id, if known.connect_id· string · requis
The list connection id (the `connect_id` from list_twitter_lists).window_days· number · optionnel
Look-back window in days (default 1).
Exemple d'appel{"name": "preview_list_ranking", "arguments": {"connect_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - recall≈ 153 tokens
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.
Paramètres, retour & exemple (1)
Paramètresquery· string · optionnel
Optional substring to filter the preferences returned.
Exemple d'appel{"name": "recall", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remember≈ 366 tokens
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.
Paramètres, retour & exemple (4)
Paramètreskey· string · requis
A short stable key, e.g. organising_themes or summary_format. Reusing a key updates that preference instead of duplicating it.kind· string · requis · preference | style | fact | instruction
preference = how they want the library handled (themes, exclusions); style = how output should read (length, tone, format); fact = a stable fact about their setup (main account, workflow); instruction = a standing rule.mode· string · optionnelvalue· string · requis
The preference itself, in plain words. Never a secret, token or password.
Exemple d'appel{"name": "remember", "arguments": {"key": "texte", "kind": "preference", "value": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_labels_from_tweets≈ 167 tokens
Remove a label from a list of tweets using label_name.
Paramètres, retour & exemple (2)
Paramètrestweet_ids· array · requis
Array of tweet IDs to remove label fromlabel_name· string · requis
Name of the label to remove
Exemple d'appel{"name": "remove_labels_from_tweets", "arguments": {"tweet_ids": [], "label_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_share_link≈ 124 tokens
Revoke a previously created share link by its token.
Paramètres, retour & exemple (1)
Paramètrestoken· string · requis
The share link token to revoke.
Exemple d'appel{"name": "revoke_share_link", "arguments": {"token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_bookmarks≈ 698 tokens
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.
Paramètres, retour & exemple (15)
Paramètresq· string · optionnel
Keyword or text search query for finding bookmarks by exact words or phrases in tweet content. Do NOT use this for author names - use the 'author' parameter instead.tag· string · optionnel
Filter by taglimit· number · optionnel
Number of bookmarks to retrieve (1-100)author· string · optionnel
Filter by author username. Use this parameter when the user wants to find tweets by a specific author (e.g., 'Show tweets by @user'). Do NOT use 'q' for author names.cursor· string · optionnel
Pagination cursor for next pagesort_by· string · optionnel · POSTED_DATE_ASC | POSTED_DATE_DESC | OLDEST_FIRST | NEWEST_FIRST
Sort order for resultsposted_to· string · optionnel
Filter tweets posted before this date (ISO 8601 string)media_type· string · optionnel · thread | media | replies | notes | links | article
Filter by kind: thread · media (images/video) · replies · notes · links (posts linking out) · article (a native X Article — use this when someone says "article", not `links`)posted_from· string · optionnel
Filter tweets posted after this date (ISO 8601 string)sort_cursor· string · optionnel
Cursor for pagination when using sort_by (use value from meta.sort_cursor of previous response)bookmarked_to· string · optionnel
Filter bookmarks added before this date (ISO 8601 string)hide_archived· boolean · optionnel
Hide archived bookmarksis_unread_only· boolean · optionnel
Filter to only unread bookmarksbookmarked_from· string · optionnel
Filter bookmarks added after this date (ISO 8601 string)vector_search_term· string · optionnel
Semantic search query for retrieving bookmarks based on meaning and context, not just keywords. Use for natural language questions or topic-based searches.
Exemple d'appel{"name": "search_bookmarks", "arguments": {"q": "texte", "tag": "texte", "limit": 1, "author": "texte", "cursor": "texte", "sort_by": "POSTED_DATE_ASC"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_docs≈ 182 tokens
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.
Paramètres, retour & exemple (1)
Paramètresquery· string · optionnel
What the user is asking about the product (pricing, a feature, how-to). Empty returns the list of help topics.
Exemple d'appel{"name": "search_docs", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_list_digest≈ 151 tokens
Build and email a digest of a Twitter list's high-signal tweets to the user now.
Paramètres, retour & exemple (2)
Paramètreslist_id· string · optionnel
The X list id, if required.connect_id· string · requis
The list connection id.
Exemple d'appel{"name": "send_list_digest", "arguments": {"connect_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_author_preference≈ 272 tokens
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.
Paramètres, retour & exemple (2)
Paramètresaction· string · requis · boost | hide | clear
boost = never miss this author in list digests; hide = mute them; clear = remove any preference.handle· string · requis
The author's X handle, with or without the @.
Exemple d'appel{"name": "set_author_preference", "arguments": {"action": "boost", "handle": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - setup_vector_store≈ 136 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "setup_vector_store", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tag_bookmarks_by_filter≈ 513 tokens
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.
Paramètres, retour & exemple (12)
Paramètresq· string · optionnel
Keyword search to scope which bookmarks get tagged.tag· string · optionnel
Filter by tagauthor· string · optionnel
Filter by author username. Use this parameter when the user wants to find tweets by a specific author (e.g., 'Show tweets by @user'). Do NOT use 'q' for author names.label_id· string · optionnel
Existing label id (use label_id or label_name).posted_to· string · optionnel
Filter tweets posted before this date (ISO 8601 string)label_name· string · optionnel
Label to create/apply (use label_id or label_name).media_type· string · optionnel · thread | media | replies | notes | links | article
Filter by kind: thread · media (images/video) · replies · notes · links (posts linking out) · article (a native X Article — use this when someone says "article", not `links`)posted_from· string · optionnel
Filter tweets posted after this date (ISO 8601 string)bookmarked_to· string · optionnel
Filter bookmarks added before this date (ISO 8601 string)hide_archived· boolean · optionnel
Hide archived bookmarksis_unread_only· boolean · optionnel
Filter to only unread bookmarksbookmarked_from· string · optionnel
Filter bookmarks added after this date (ISO 8601 string)
Exemple d'appel{"name": "tag_bookmarks_by_filter", "arguments": {"q": "texte", "tag": "texte", "author": "texte", "label_id": "texte", "posted_to": "texte", "label_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - trigger_csv_export≈ 194 tokens
Start a CSV export (explicit ids, a filter, or the whole library). Returns a job id; the file appears in the Export Center.
Paramètres, retour & exemple (5)
Paramètrestags· array · optionnelvalue· string · optionnelfilter· string · optionneltweet_ids· array · optionnel
Explicit ids to export. Omit to export everything matching the filter, or the whole library.search_query· string · optionnel
Exemple d'appel{"name": "trigger_csv_export", "arguments": {"tags": [], "value": "texte", "filter": "texte", "tweet_ids": [], "search_query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - trigger_json_export≈ 195 tokens
Start a JSON export (explicit ids, a filter, or the whole library). Returns a job id; the file appears in the Export Center.
Paramètres, retour & exemple (5)
Paramètrestags· array · optionnelvalue· string · optionnelfilter· string · optionneltweet_ids· array · optionnel
Explicit ids to export. Omit to export everything matching the filter, or the whole library.search_query· string · optionnel
Exemple d'appel{"name": "trigger_json_export", "arguments": {"tags": [], "value": "texte", "filter": "texte", "tweet_ids": [], "search_query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - trigger_pdf_export≈ 210 tokens
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.
Paramètres, retour & exemple (5)
Paramètrestags· array · optionnelvalue· string · optionnelfilter· string · optionneltweet_ids· array · optionnel
Explicit ids to export. Omit to export everything matching the filter, or the whole library.search_query· string · optionnel
Exemple d'appel{"name": "trigger_pdf_export", "arguments": {"tags": [], "value": "texte", "filter": "texte", "tweet_ids": [], "search_query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_digest_preference≈ 185 tokens
Update a digest schedule (enable/pause, frequency, time) by id.
Paramètres, retour & exemple (7)
Paramètresid· string · requis
The digest preference id to update.is_paused· boolean · optionnelweek_info· ? · optionnelis_enabled· boolean · optionneltime_to_read· ? · optionnelschedule_time· string · optionnelsend_frequency· string · optionnel
e.g. DAILY, WEEKLY.
Exemple d'appel{"name": "update_digest_preference", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_smart_view≈ 164 tokens
Update a Smart View (name, filter, tabs, sort) by slug.
Paramètres, retour & exemple (6)
Paramètresname· string · optionnelslug· string · requis
The smart view slug to update.base_query· string · optionneldescription· string · optionneldefault_sort· string · optionneltriage_buckets· ? · optionnel
Exemple d'appel{"name": "update_smart_view", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».