查我与某人的关系
get_relationship【需要登录】读following(我关注TA)、followedBy(TA关注我)、isFriend(互关)、isSelf;好友可见对方好友链接。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | 目标用户 id |
get_relationship【需要登录】读following(我关注TA)、followedBy(TA关注我)、isFriend(互关)、isSelf;好友可见对方好友链接。
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | 目标用户 id |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds meaningful context beyond them: the login requirement and a privacy behavior rule (friends can see each other's friend links). This is real behavioral disclosure the structured fields do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the login prerequisite and then the returned fields. Every clause carries information with no filler, appropriate for a low-complexity read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining the return shape, and it does so by naming the flags returned and the friend-link visibility rule. For a simple single-user read this is essentially sufficient, with only minor gaps (e.g., what happens when the target does not exist or a flag is false).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single userId parameter, so the schema already documents the input. The description's content describes return flags, not the parameter, so it adds no semantic detail about how to supply userId. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear verb (读/reads) and resource (my relationship to a target user) and enumerates exactly which relationship flags are returned (following, followedBy, isFriend, isSelf). It is more specific than the bare name, though it does not explicitly contrast itself with similar siblings like list_my_network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite (【需要登录】/login required) and implies when it is useful (checking one's relationship to a specific user), but gives no explicit when-to-use/when-not guidance and names no alternative tool. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.