Skip to main content
Glama
TweetAPI MCP

TweetAPI MCP

Official

Check Follow Relationship

tweetapi_user_check_follow
Read-onlyIdempotent

Check follow relationships between two Twitter accounts by numeric user ID, returning whether the first follows the second and whether the second follows back. Resolve usernames to IDs first if needed.

Instructions

Check the follow relationship between two accounts by numeric user ID: following says whether the first follows the second, and followedBy whether the second follows back. Use tweetapi_user_by_username first if you only have usernames. Read-only. Needs a TweetAPI API key and makes one TweetAPI request per call, usually costing 1 unit; each result includes a cost estimate.

Input Schema

NameRequiredDescriptionDefault
targetIdYesNumeric user ID of the account that may be followed.
subjectIdYesNumeric user ID of the account that may be the follower.

Output Schema

NameRequiredDescriptionDefault
costYes
modeYes
toolYes
noticeYes
outputYes
resultYes
endpointYes
usageDocsNo
paginationNoPagination exactly as TweetAPI returned it.
statusCodeYes
retrievedAtYesWhen the MCP server received this response (ISO 8601). Not the post or profile date, and not a promise that X's data was fresh at that moment.
completenessYes
resolvedInputNoIdentifiers the MCP server parsed from links or @handles before calling TweetAPI.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.3
    • changedInput schema / properties / subjectId / description
      Previous value: -"Numeric user ID. This tool does not look up usernames; call tweetapi_user_by_username first if you only have a username or profile link."New value: +"Numeric user ID of the account that may be the follower."
    • changedInput schema / properties / targetId / description
      Previous value: -"Numeric user ID. This tool does not look up usernames; call tweetapi_user_by_username first if you only have a username or profile link."New value: +"Numeric user ID of the account that may be followed."
  2. Addedv0.2.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, and the description corroborates rather than repeats them by adding operational facts the annotations cannot carry: an API key is required, it makes one request per call at roughly 1 unit cost, and the response includes a cost estimate. Only the exact failure behavior (e.g. what happens for a nonexistent or protected account) is left unstated.

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

Conciseness5/5

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

Three compact sentences, front-loaded with the core action and output semantics, then the username fallback, then the cost/auth note. Every sentence adds distinct information with no restatement of the name or title.

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?

An output schema exists so return values need not be detailed, yet the description still describes both result fields and their direction. Combined with the auth, cost, and prerequisite guidance, an agent has everything needed to invoke this two-parameter tool 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?

Schema coverage is 100% and the schema already describes subjectId as the potential follower and targetId as the potentially followed account. The description reinforces the ordering semantics ('the first follows the second', 'the second follows back'), which removes any lingering ambiguity about which returned field maps to which argument.

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?

States a specific verb and resource ('Check the follow relationship between two accounts by numeric user ID') and additionally defines both output fields, following and followedBy, so the direction of the relationship is unambiguous. This clearly distinguishes it from siblings like tweetapi_user_followers_ids or tweetapi_user_following_list, which enumerate relationships rather than test a single pair.

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?

Gives an explicit routing rule: 'Use tweetapi_user_by_username first if you only have usernames,' which covers the most likely precondition failure. It stops short of excluding alternatives such as the followers/following list tools for bulk checks, so it falls short of a full when/when-not statement.

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