Skip to main content
Glama

x_api_unfollow_list

Unfollow a list on X by providing the user ID and list ID. Use this tool to remove a followed list via the X API.

Instructions

Unfollow List. Use when: Unfollow List. Do not use when: a more specific auth/configuration tool is required before the API call or you are only exploring; prefer x_schema_discovery or x_query_suggestion first. Risk: mutating, high-risk. Required permissions and prerequisites: OAuth 2 user token with scopes list.write, tweet.read, users.read; OAuth 1a user token Environment-selection behavior: scopeTenantId plus exactly one of scopeUserId or scopeAccountId choose the Vault/Postgres tenant principal used for auth resolution. credentialKey selects a non-default stored credential profile when present. Parameter formats and constraints: id (path, unknown, required); list_id (path, unknown, required). Expected response shape: { ok, status, data: { method, path, url, status, contentType, authType, data } } Common failure conditions: missing scoped credentials in Vault, missing required API parameters, X API auth failures, rate limits, or unsupported multipart/body shape. Recommended prerequisite and follow-up tools: x_connection_info, x_schema_discovery, x_auth_upsert_principal_credentials, x_api_request. Safety warnings: This mutates X state. Validate scope, payload, and authorizationKey before use. Example: {"name":"x_api_unfollow_list","arguments":{"scopeTenantId":"default","scopeUserId":"default","id":""}}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
list_idYes
scopeUserIdNo
credentialKeyNo
scopeTenantIdNo
scopeAccountIdNo
authorizationKeyNo
preferredAuthTypeNo
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It explicitly states 'Risk: mutating, high-risk' and includes a 'Safety warnings' section saying 'This mutates X state.' It also discloses required OAuth scopes, environment-selection behavior, expected response shape, and common failure conditions (auth failures, rate limits, missing credentials), which provides substantial behavioral context beyond the bare schema.

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 well-structured with labeled sections (Risk, Required permissions, Environment-selection behavior, etc.), making it scannable. It is somewhat verbose but most sections earn their place. There is minor redundancy: 'Unfollow List.' appears as the first line and again under 'Use when: Unfollow List.' which is a tautology, but overall it remains appropriately sized for the tool's complexity.

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

Completeness4/5

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

For a mutating 8-parameter tool with no annotations and no output schema, the description covers a lot: purpose, exclusions, risk, permissions, environment behavior, response shape, failure modes, and a safety warning. However, it falls short on explaining the critical id/list_id parameters and provides an incomplete example that omits the required list_id. These gaps prevent it from being fully complete.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It lists 'id (path, unknown, required); list_id (path, unknown, required)' but adds no meaning for these fields—'unknown' is unhelpful and the description never explains that id is the user ID and list_id is the list ID. It does explain scope-related parameters in the environment-selection section, but the core id/list_id semantics remain ambiguous. The example omits the required list_id parameter.

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 states 'Unfollow List.' which identifies the action (unfollow) and resource (list) with a specific verb. It is clear enough, though terse, and the name itself is self-explanatory against sibling tools like x_api_follow_list. However, it doesn't elaborate on what 'unfollow' entails (e.g., removing the authenticated user from the list's followers).

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

Usage Guidelines3/5

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

The 'Use when: Unfollow List.' is a tautology that adds no guidance. However, the description provides a 'Do not use when' clause directing agents to x_schema_discovery or x_query_suggestion for exploration and to auth/configuration tools when needed. It also lists recommended prerequisite/follow-up tools, giving some workflow context, but it doesn't explicitly compare against alternative list tools like x_api_follow_list.

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/LesterAJohn/X-mcp'

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