Skip to main content
Glama
TwitterAPIs

twitterapis

twitter_list_remove_member

Destructive

Remove one account from a Twitter/X List you own by list ID and user ID. Check the returned member_count to confirm success; a 422 error flags if the account was not a member.

Instructions

Remove one account from a Twitter/X List that YOUR registered X session owns, by numeric list id and numeric user id. Use it to prune a curated List, for example dropping accounts that have gone quiet. Returns ok, action, list_id, user_id, the List's member_count read back from X after the write, and the full list object. Read member_count to confirm the removal landed: it is null when X returned no list object at all, which is itself the not-applied signal. A write that does not apply (the account was never a member, the List is not yours) comes back with the SAME field layout plus a 422 and a machine-readable reason, and is not billed. Reverse with twitter_list_add_member.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ct0NoOptional. The account's ct0 cookie, paired with auth_token. Sent as the x-ct0 header.
list_idYesNumeric id of the List you own. Found in the list URL: x.com/i/lists/<list_id>.
user_idYesNumeric user id of the account to remove. Resolve a handle to a user_id first with twitter_user_info.
proxy_urlNoOptional. Residential proxy URL to egress this call through. Recommended for writes: X soft-blocks writes from datacenter IPs as automated. Sent as the x-proxy-url header.
auth_tokenNoOptional. The account's auth_token cookie, to act AS that account for this call (must be paired with ct0). Sent as the x-auth-token header; never placed in the URL.
user_agentNoOptional. User-Agent string to send for this session. Sent as the x-user-agent header.
Behavior5/5

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

Annotations include readOnlyHint: false and destructiveHint: true, but the description goes further: it details the exact response fields, the meaning of null member_count (not-applied signal), and that non-applied writes return a 422 with a machine-readable reason and are not billed. This is rich behavioral context beyond annotations.

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?

The description is dense but a bit long (4 sentences) and dives into response details and error semantics. However, it is front-loaded with the core purpose and use case, and every sentence adds value (response interpretation, billing, reversal). Slightly over-specified but still efficient.

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

Completeness5/5

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

For a mutation tool with no output schemalint, the description thoroughly covers purpose, response fields, success/failure signals, and billing behavior. It also notes proxy recommendation for writes (in schema) and provides a clear reversal path. Complete for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter already described (e.g., list_id and user_id include URL and resolution guidance). The description adds little beyond schema, but the description does mention the dependency on resolving handle to user_id via twitter_user_info, which is implied in schema; baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (remove one account from a Twitter/X List), specifies the required identifiers (numeric list id and user id), and scopes the operation to 'YOUR registered X session owns' a list. It explicitly distinguishes from sibling twitter_list_add_member by naming the reverse operation.

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

Usage Guidelines5/5

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

It provides a concrete use case ('prune a curated List, for example dropping accounts that have gone quiet') and explicitly mentions the reverse tool (twitter_list_add_member) for undoing. It also states when the write will not apply (account not a member, list not yours), giving clear guidance on alternative actions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TwitterAPIs/twitterapis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server