Skip to content

SocialData

by socialdata.tools · remote · no sign-in to list tools · v1.0.0 · published by tools.socialdata

Twitter (X) API alternative for AI agents: tweet search, profiles, followers. $0.0002 per result.

Changes · 1

14 tools: 1 change things and 13 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http socialdata https://api.socialdata.tools/mcp --header 'Authorization: <your-authorization>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Changes things 1Claude Code: ask
  • check_is_followingCheck whether one Twitter/X user follows another.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check whether one Twitter/X user follows another. Far cheaper than fetching a follower list — use this whenever the question is about a specific pair of accounts. Both IDs must be numeric.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
Only reads 13Claude Code: allow
  • get_list_tweetsFetch one page of posts from a Twitter/X list, newest first.No findings

    Why it is in this group

    • The name "get_list_tweets" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of posts from a Twitter/X list, newest first. A page is large — around 100 posts — plus a next_cursor. Billing is per result, so one call here costs several times a single-user timeline call; do not page through a busy list unless the user asked for that.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_tweetFetch a single Twitter/X post by its numeric ID, including engagement counts.No findings

    Why it is in this group

    • The name "get_tweet" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single Twitter/X post by its numeric ID, including engagement counts. Bills one post request against the caller's balance.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_tweet_commentsFetch one page of replies to a Twitter/X post.No findings

    Why it is in this group

    • The name "get_tweet_comments" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of replies to a Twitter/X post. Returns about 20 replies plus a next_cursor. The first item of a page can repeat the last item of the previous page, so de-duplicate by post id when paging. Each call bills against the caller's balance — do not page through the whole conversation unless the user asked for that.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_tweet_threadFetch one page of a Twitter/X thread — the chain of follow-up posts the author wrote under their own post ("1/", "2/", ...).No findings

    Why it is in this group

    • The name "get_tweet_thread" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of a Twitter/X thread — the chain of follow-up posts the author wrote under their own post ("1/", "2/", ...). Give it the ID of any post in the chain and it returns that chain in order. It does NOT return what other people replied; use get_tweet_comments for those. A post the author never followed up on is a one-post thread and correctly returns just that post. Roughly 30 posts per page plus a next_cursor, so a long thread takes several calls. Each call bills against the caller's balance — do not page through a long thread unless the user asked for that.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_by_idLook up a Twitter/X user profile by numeric user ID.No findings

    Why it is in this group

    • The name "get_user_by_id" says "get": a word for reading.
    Description, as the server wrote it
    Look up a Twitter/X user profile by numeric user ID. Bills one user request against the caller's balance.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_by_usernameLook up a Twitter/X user profile by username (handle).No findings

    Why it is in this group

    • The name "get_user_by_username" says "get": a word for reading.
    Description, as the server wrote it
    Look up a Twitter/X user profile by username (handle). Returns the profile including follower and following counts. Bills one user request against the caller's balance.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_followersFetch one page of a user's followers.No findings

    Why it is in this group

    • The name "get_user_followers" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of a user's followers. This is one of the most expensive tools: a page is set upstream and can run to ~100 user records, every one of which is billed. Never page through a large account's followers without the user explicitly asking. Requires a numeric user ID.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_followingFetch one page of the accounts a user follows.No findings

    Why it is in this group

    • The name "get_user_following" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of the accounts a user follows. Expensive: a page is set upstream and can run to ~100 user records, every one of which is billed. Never page through a large account's following list without the user explicitly asking. Requires a numeric user ID.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_mentionsFetch one page of posts mentioning a given user, newest first.No findings

    Why it is in this group

    • The name "get_user_mentions" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of posts mentioning a given user, newest first. Returns about 20 posts plus a next_cursor. The first item of a page can repeat the last item of the previous page, so de-duplicate by post id when paging. Each call bills against the caller's balance.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_tweetsFetch one page of a user's own posts (excluding replies), newest first.No findings

    Why it is in this group

    • The name "get_user_tweets" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of a user's own posts (excluding replies), newest first. Returns about 20 posts plus a next_cursor. If the account has a pinned post it is prepended to every page, so de-duplicate by post id when paging. Each call bills against the caller's balance — do not page through a whole timeline unless the user asked for that. Requires a numeric user ID: call get_user_by_username first if you only have a handle.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • get_user_tweets_and_repliesFetch one page of a user's posts including their replies, newest first.No findings

    Why it is in this group

    • The name "get_user_tweets_and_replies" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one page of a user's posts including their replies, newest first. Returns about 20 items plus a next_cursor. If the account has a pinned post it is prepended to every page, so de-duplicate by post id when paging. Each call bills against the caller's balance. Requires a numeric user ID: call get_user_by_username first if you only have a handle.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • search_tweetsSearch Twitter/X posts.No findings

    Why it is in this group

    • The name "search_tweets" says "search": a word for reading.
    Description, as the server wrote it
    Search Twitter/X posts. Returns one page of about 20 results plus a next_cursor, and bills one search request against the caller's balance. The query supports Twitter's advanced search operators, and using them is almost always better than a bare keyword search: from:handle posts by an account to:handle replies to an account @handle posts mentioning an account #tag hashtag "exact phrase" phrase match since:2026-01-01 posts on or after a date until:2026-02-01 posts before a date min_faves:100 at least N likes min_retweets:10 at least N retweets filter:links posts containing links -filter:replies exclude replies Combine them freely: from:jack min_faves:500 since:2026-01-01

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • search_usersSearch Twitter/X user profiles by name or handle.No findings

    Why it is in this group

    • The name "search_users" says "search": a word for reading.
    Description, as the server wrote it
    Search Twitter/X user profiles by name or handle. Returns one page of matching profiles and bills against the caller's balance. Use this when you know roughly who someone is but not their exact handle.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http socialdata https://api.socialdata.tools/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__socialdata__get_user_by_username",
      "mcp__socialdata__get_user_by_id",
      "mcp__socialdata__search_users",
      "mcp__socialdata__get_tweet",
      "mcp__socialdata__get_tweet_thread",
      "mcp__socialdata__get_tweet_comments",
      "mcp__socialdata__get_user_tweets",
      "mcp__socialdata__get_user_tweets_and_replies",
      "mcp__socialdata__get_user_mentions",
      "mcp__socialdata__get_user_followers",
      "mcp__socialdata__get_user_following",
      "mcp__socialdata__search_tweets",
      "mcp__socialdata__get_list_tweets"
    ],
    "ask": [
      "mcp__socialdata__check_is_following"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as socialdata. Review it before you use it.