SocialData

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,183Tokens (definiciones de herramientas)
~784 BTamaño de respuesta típico
Impacto moderado en la atención (1.71% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "socialdata": {
      "url": "https://api.socialdata.tools/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.socialdata.tools/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_user_by_username(username)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "description": "The Twitter/X username (handle), with or without the leading @.",
      "type": "string"
    }
  },
  "required": [
    "username"
  ]
}
🟢get_user_by_id(user_id)

Look up a Twitter/X user profile by numeric user ID. Bills one user request against the caller's balance.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "The numeric Twitter/X user ID, as a string (IDs exceed safe integer precision).",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ]
}
🟢search_users(query)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Name or handle to search for.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_tweet(tweet_id)

Fetch a single Twitter/X post by its numeric ID, including engagement counts. Bills one post request against the caller's balance.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tweet_id": {
      "description": "The numeric post ID, as a string.",
      "type": "string"
    }
  },
  "required": [
    "tweet_id"
  ]
}
🟢get_tweet_thread(tweet_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tweet_id": {
      "description": "The numeric post ID, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "tweet_id"
  ]
}
🟢get_tweet_comments(tweet_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tweet_id": {
      "description": "The numeric ID of the post whose replies you want, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "tweet_id"
  ]
}
🟢get_user_tweets(user_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "The numeric Twitter/X user ID, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ]
}
🟢get_user_tweets_and_replies(user_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "The numeric Twitter/X user ID, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ]
}
🟢get_user_mentions(username, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "description": "The Twitter/X username (handle) being mentioned, with or without the leading @.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "username"
  ]
}
🟢get_user_followers(user_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "The numeric Twitter/X user ID whose followers you want, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ]
}
🟢get_user_following(user_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "The numeric Twitter/X user ID whose following list you want, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ]
}
🟢check_is_following(source_user_id, target_user_id)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "source_user_id": {
      "description": "The numeric ID of the user who might be following, as a string.",
      "type": "string"
    },
    "target_user_id": {
      "description": "The numeric ID of the user who might be followed, as a string.",
      "type": "string"
    }
  },
  "required": [
    "source_user_id",
    "target_user_id"
  ]
}
🟢search_tweets(query, type, cursor)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The search query. Supports Twitter advanced search operators such as from:, to:, since:, until:, min_faves: and filter:.",
      "type": "string"
    },
    "type": {
      "description": "Latest returns the newest matching posts; Top returns the most engaged-with. Defaults to Latest.",
      "default": "Latest",
      "enum": [
        "Latest",
        "Top"
      ],
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_list_tweets(list_id, cursor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "list_id": {
      "description": "The numeric Twitter/X list ID, as a string.",
      "type": "string"
    },
    "cursor": {
      "description": "Pagination cursor from a previous call's next_cursor. Omit for the first page.",
      "type": "string"
    }
  },
  "required": [
    "list_id"
  ]
}

Prompts recomendados

search_research
Search for information about [topic] using SocialData
Herramientas esperadas: search_users
find_specific
Find [specific item] using SocialData
Herramientas esperadas: search_users
retrieve_data
Get details about [item] from SocialData
Herramientas esperadas: get_user_by_username
fetch_info
Fetch [information type] using SocialData
Herramientas esperadas: get_user_by_username
list_items
List all [items] available in SocialData
Herramientas esperadas: get_list_tweets

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas
verificadoversión no registrada14 herramientas