Skip to main content
Glama

X users

x_users
DestructiveIdempotent

Look up X profiles, search accounts, and manage followers, following, mutes, and blocks. Retrieve one or many users and perform follow, unfollow, mute, unmute, block, or unblock actions.

Instructions

Profiles and relationships: look up me/one/many, search users, followers, following, follow/unfollow, mute/unmute, block/unblock, muted and blocked lists.

Actions (pass "action" plus that action's parameters):

  • me: Profile of the authenticated account: id, handle, bio, follower counts and pinned post.

  • get: Look up one account by handle or numeric id.

  • get_many: Batch lookup of up to 100 accounts by handle or id in a single request.

  • search: Search accounts by keyword (name, handle, bio) with 1-100 results per page. [requires: query]

  • followers: Accounts following a user, 1-1000 per page (X caps at 1000).

  • following: Accounts a user follows, 1-1000 per page.

  • follow: Follow an account as the authenticated user.

  • unfollow: Unfollow an account as the authenticated user.

  • mute: Mute an account for the authenticated user.

  • unmute: Unmute an account for the authenticated user.

  • block: Block an account on behalf of the authenticated user.

  • unblock: Unblock an account.

  • muted: Accounts muted by the authenticated user (1-100 per page).

  • blocked: Accounts blocked by the authenticated user (1-1000 per page).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "x_users"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryNoKeyword or phrase, e.g. "rust developer" or "climate tech".
actionYesAction to perform. One of: me, get, get_many, search, followers, following, follow, unfollow, mute, unmute, block, unblock, muted, blocked.
user_idNoNumeric X user id.
user_idsNoNumeric ids to look up.
usernameNoX handle without the @ prefix.
usernamesNoHandles to look up (no @).
next_tokenNoCursor from a previous response (meta.next_token).
max_resultsNo
target_user_idNoNumeric id of the target account.
target_usernameNoHandle of the target account (without @).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, and openWorldHint=true. The description does add useful behavioral context by repeatedly noting that follow/mute/block act 'as/on behalf of the authenticated user,' which clarifies account scope. However, it never states consequences — for example whether block removes existing followers, whether unfollow is reversible, or what rate limits apply to batch calls. For a tool mixing reads with destructive mutations, more impact disclosure is warranted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Structure is excellent: a one-line scope summary followed by a scannable bulleted action list, each with its key constraint. The repeated page-cap notation is slightly redundant given the schema, but every line still carries decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-action multiplexed tool with no output schema, the description covers actions but not per-action parameter contracts (which of user_id/username/target_user_id each action needs) nor the shape of responses beyond the profile fields for 'me'. Pagination is only covered indirectly via the schema's next_token description. Adequate to start, but an agent would still have to infer parameter combinations to invoke most relationship actions correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema documents 90% of parameters, but it flattens 10 parameters into one object with no mapping from parameter to action, and max_results has five conflicting anyOf variants. The description compensates by tying requirements to actions (search requires query, page sizes of 1-100 vs 1-1000) and implying handle-or-id targeting for lookups. It still does not say which identifier parameter the relationship actions (followers/following) require, so the mapping is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource domain precisely (profiles and relationships) and enumerates all 14 actions, including lookup, search, social graph traversal, and follow/mute/block mutations. An agent can determine that this tool covers accounts rather than posts or timelines. It does not explicitly differentiate itself from siblings like x_posts or x_lists, which is the only reason it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The action-by-action breakdown provides clear when-to-use context: get for one account, get_many for batch up to 100, search for keyword discovery, followers vs following for edge direction. Per-action requirements such as [requires: query] and page caps are stated inline. It lacks explicit exclusions or routing advice to sibling tools, but the internal action selection guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.