ToolTrust
C42/100
Smithery

twitter

mcpsmithery

@Smithery

Post, search, and interact with X (formerly Twitter) — tweets, users, lists, bookmarks, likes, follows, DMs, spaces, communities, and Community Notes.

By Smithery | 204 findings | Scanned 4/19/2026 | tooltrust-scanner/v0.3.8

45 High44 Medium17 Low98 Info

Risk Summary

Needs Approval

Dep Visibility plus Excessive Permissions raises enough risk that this tool should not be auto-trusted.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: Keep this tool behind manual approval and avoid unattended runs until the risky capabilities are narrowed or removed.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (204)

  • HighAS-012

    🔄Tool Drift

    Tool set changed silently at vsmithery: 98 tool(s) added, 75 tool(s) removed without a version bump.

    + 98 added

    chat.conversations.getchat.conversations.listchat.conversations.messages.createchat.conversations.read.createchat.conversations.typing.createchat.media.getcommunities.getcommunities.search.listdm_conversations.createdm_conversations.dm_events.listdm_conversations.messages.createdm_conversations.with.dm_events.listdm_conversations.with.messages.createdm_events.deletedm_events.getdm_events.listevaluate_note.createinsights.28hr.listinsights.historical.listlists.createlists.deletelists.getlists.members.createlists.members.deletelists.members.listlists.tweets.listlists.updatemedia.analytics.listmedia.getmedia.listmedia.metadata.createmedia.subtitles.createmedia.subtitles.deletenews.getnews.search.listnotes.createnotes.deletenotes.search.notes_written.listnotes.search.posts_eligible_for_notes.listspaces.buyers.listspaces.by.creator_ids.listspaces.getspaces.listspaces.search.listspaces.tweets.listtweets.analytics.listtweets.createtweets.deletetweets.gettweets.hidden.updatetweets.liking_users.listtweets.listtweets.quote_tweets.listtweets.retweeted_by.gettweets.retweets.listtweets.search.recent.listusers.affiliates.listusers.blocking.listusers.bookmarks.createusers.bookmarks.deleteusers.bookmarks.folders.getusers.bookmarks.folders.listusers.bookmarks.listusers.by.listusers.by.username.getusers.dm.block.createusers.dm.unblock.createusers.followed_lists.createusers.followed_lists.deleteusers.followed_lists.listusers.followers.listusers.following.createusers.following.deleteusers.following.listusers.getusers.liked_tweets.listusers.likes.createusers.likes.deleteusers.listusers.list_memberships.listusers.me.listusers.mentions.listusers.muting.createusers.muting.deleteusers.muting.listusers.owned_lists.listusers.personalized_trends.listusers.pinned_lists.createusers.pinned_lists.deleteusers.pinned_lists.listusers.public_keys.createusers.public_keys.listusers.reposts_of_me.listusers.retweets.createusers.retweets.deleteusers.search.listusers.timelines.reverse_chronological.listusers.tweets.list

    75 removed

    TWITTER_ADD_A_LIST_MEMBERTWITTER_ADD_POST_TO_BOOKMARKSTWITTER_BOOKMARKS_BY_USERTWITTER_CREATE_A_NEW_DM_CONVERSATIONTWITTER_CREATE_COMPLIANCE_JOB_REQUESTTWITTER_CREATE_LISTTWITTER_CREATION_OF_A_POSTTWITTER_DELETE_DMTWITTER_DELETE_LISTTWITTER_FETCH_LIST_MEMBERS_BY_IDTWITTER_FETCH_SPACE_TICKET_BUYERS_LISTTWITTER_FOLLOWERS_BY_USER_IDTWITTER_FOLLOWING_BY_USER_IDTWITTER_FOLLOW_A_LISTTWITTER_FOLLOW_USERTWITTER_FULL_ARCHIVE_SEARCHTWITTER_FULL_ARCHIVE_SEARCH_COUNTSTWITTER_GET_A_USER_S_LIST_MEMBERSHIPSTWITTER_GET_A_USER_S_OWNED_LISTSTWITTER_GET_A_USER_S_PINNED_LISTSTWITTER_GET_BLOCKED_USERSTWITTER_GET_DM_EVENTS_BY_IDTWITTER_GET_DM_EVENTS_FOR_A_DM_CONVERSATIONTWITTER_GET_LIST_FOLLOWERSTWITTER_GET_MEDIA_UPLOAD_STATUSTWITTER_GET_MUTED_USERSTWITTER_GET_POST_RETWEETERS_ACTIONTWITTER_GET_RECENT_DM_EVENTSTWITTER_GET_USER_S_FOLLOWED_LISTSTWITTER_HIDE_REPLIESTWITTER_LIST_LOOKUP_BY_LIST_IDTWITTER_LIST_POSTS_TIMELINE_BY_LIST_IDTWITTER_LIST_POST_LIKERSTWITTER_MUTE_USER_BY_USER_IDTWITTER_PIN_A_LISTTWITTER_POSTS_LABEL_STREAMTWITTER_POST_DELETE_BY_POST_IDTWITTER_POST_LOOKUP_BY_POST_IDTWITTER_POST_LOOKUP_BY_POST_IDSTWITTER_POST_USAGETWITTER_RECENT_SEARCHTWITTER_RECENT_SEARCH_COUNTSTWITTER_REMOVE_A_BOOKMARKED_POSTTWITTER_REMOVE_A_LIST_MEMBERTWITTER_RETRIEVE_COMPLIANCE_JOBSTWITTER_RETRIEVE_COMPLIANCE_JOB_BY_IDTWITTER_RETRIEVE_DM_CONVERSATION_EVENTSTWITTER_RETRIEVE_POSTS_FROM_A_SPACETWITTER_RETRIEVE_POSTS_THAT_QUOTE_A_POSTTWITTER_RETRIEVE_POSTS_THAT_REPOST_A_POSTTWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_IDTWITTER_RETURNS_THE_OPEN_API_SPECIFICATION_DOCUMENTTWITTER_RETWEET_POSTTWITTER_SEARCH_FOR_SPACESTWITTER_SEND_A_NEW_MESSAGE_TO_A_DM_CONVERSATIONTWITTER_SEND_A_NEW_MESSAGE_TO_A_USERTWITTER_SPACE_LOOKUP_BY_SPACE_IDTWITTER_SPACE_LOOKUP_BY_THEIR_CREATORSTWITTER_SPACE_LOOKUP_UP_SPACE_IDSTWITTER_UNFOLLOW_A_LISTTWITTER_UNFOLLOW_USERTWITTER_UNLIKE_POSTTWITTER_UNMUTE_USER_BY_USER_IDTWITTER_UNPIN_A_LISTTWITTER_UNRETWEET_POSTTWITTER_UPDATE_LISTTWITTER_UPLOAD_LARGE_MEDIATWITTER_UPLOAD_MEDIATWITTER_USER_HOME_TIMELINE_BY_USER_IDTWITTER_USER_LIKE_POSTTWITTER_USER_LOOKUP_BY_IDTWITTER_USER_LOOKUP_BY_IDSTWITTER_USER_LOOKUP_BY_USERNAMETWITTER_USER_LOOKUP_BY_USERNAMESTWITTER_USER_LOOKUP_ME

    Fix: The set of tools exposed by this server changed between scans of the same version — a sign the package was silently updated without a version bump. Audit the changelog and all tool definitions before trusting this server. Pin to a specific commit hash rather than a floating version tag.

  • HighAS-010

    🔑Insecure Secret Handling ×32

    input parameter "pagination_token" appears to accept a secret or credential

    chat.conversations.listchat.conversations.getcommunities.search.listdm_conversations.with.dm_events.listdm_conversations.dm_events.listdm_events.listlists.members.listlists.tweets.listnotes.search.notes_written.listnotes.search.posts_eligible_for_notes.listspaces.buyers.listtweets.search.recent.listtweets.liking_users.listtweets.quote_tweets.listtweets.retweeted_by.gettweets.retweets.listusers.reposts_of_me.listusers.affiliates.listusers.blocking.listusers.bookmarks.listusers.bookmarks.folders.listusers.followed_lists.listusers.followers.listusers.following.listusers.liked_tweets.listusers.list_memberships.listusers.mentions.listusers.muting.listusers.owned_lists.listusers.timelines.reverse_chronological.listusers.tweets.list

    input parameter "conversation_token" appears to accept a secret or credential

    chat.conversations.messages.create

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

  • HighAS-002

    ⚠️Excessive Permissions ×12

    tool declares network permission

    chat.media.getcommunities.search.listnews.search.listnotes.search.notes_written.listnotes.search.posts_eligible_for_notes.listspaces.search.listtweets.createtweets.search.recent.listusers.search.list

    tool declares exec permission

    evaluate_note.createlists.createlists.update

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • MediumAS-002

    ⚠️Excessive Permissions ×44

    tool declares fs permission

    chat.conversations.messages.createchat.conversations.read.createchat.conversations.typing.createdm_conversations.createdm_conversations.with.messages.createdm_conversations.messages.createdm_events.deleteevaluate_note.createlists.createlists.updatelists.deletelists.members.createlists.members.deletemedia.metadata.createmedia.subtitles.createmedia.subtitles.deletenotes.createnotes.deletetweets.createtweets.deletetweets.hidden.updateusers.by.username.getusers.me.listusers.getusers.bookmarks.createusers.bookmarks.folders.listusers.bookmarks.folders.getusers.bookmarks.deleteusers.dm.block.createusers.dm.unblock.createusers.followed_lists.createusers.followed_lists.deleteusers.following.createusers.likes.createusers.likes.deleteusers.muting.createusers.pinned_lists.createusers.pinned_lists.deleteusers.public_keys.createusers.retweets.createusers.retweets.deleteusers.following.deleteusers.muting.delete

    tool declares db permission

    tweets.search.recent.list

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×12

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    chat.media.getcommunities.search.listevaluate_note.createlists.createlists.updatenews.search.listnotes.search.notes_written.listnotes.search.posts_eligible_for_notes.listspaces.search.listtweets.createtweets.search.recent.listusers.search.list

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    ⚠️Excessive Permissions ×5

    input schema exposes 14 properties (threshold: 10)

    tweets.createusers.timelines.reverse_chronological.listusers.tweets.list

    input schema exposes 15 properties (threshold: 10)

    tweets.search.recent.list

    input schema exposes 13 properties (threshold: 10)

    users.mentions.list

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×98

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    chat.conversations.listchat.conversations.getchat.conversations.messages.createchat.conversations.read.createchat.conversations.typing.createchat.media.getcommunities.search.listcommunities.getdm_conversations.createdm_conversations.with.dm_events.listdm_conversations.with.messages.createdm_conversations.messages.createdm_conversations.dm_events.listdm_events.listdm_events.getdm_events.deleteevaluate_note.createinsights.28hr.listinsights.historical.listlists.createlists.getlists.updatelists.deletelists.members.listlists.members.createlists.members.deletelists.tweets.listmedia.listmedia.analytics.listmedia.metadata.createmedia.subtitles.createmedia.subtitles.deletemedia.getnews.search.listnews.getnotes.createnotes.search.notes_written.listnotes.search.posts_eligible_for_notes.listnotes.deletespaces.listspaces.by.creator_ids.listspaces.search.listspaces.getspaces.buyers.listspaces.tweets.listtweets.listtweets.createtweets.analytics.listtweets.search.recent.listtweets.gettweets.deletetweets.liking_users.listtweets.quote_tweets.listtweets.retweeted_by.gettweets.retweets.listtweets.hidden.updateusers.listusers.by.listusers.by.username.getusers.me.listusers.personalized_trends.listusers.reposts_of_me.listusers.search.listusers.getusers.affiliates.listusers.blocking.listusers.bookmarks.listusers.bookmarks.createusers.bookmarks.folders.listusers.bookmarks.folders.getusers.bookmarks.deleteusers.dm.block.createusers.dm.unblock.createusers.followed_lists.listusers.followed_lists.createusers.followed_lists.deleteusers.followers.listusers.following.listusers.following.createusers.liked_tweets.listusers.likes.createusers.likes.deleteusers.list_memberships.listusers.mentions.listusers.muting.listusers.muting.createusers.owned_lists.listusers.pinned_lists.listusers.pinned_lists.createusers.pinned_lists.deleteusers.public_keys.listusers.public_keys.createusers.retweets.createusers.retweets.deleteusers.timelines.reverse_chronological.listusers.tweets.listusers.following.deleteusers.muting.delete

    Fix: Review and remediate the identified issue.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y twitter"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade C](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-c.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)