改我某条链接的可见范围
set_link_visibility登录;把当前用户某条链接(按 url 匹配,可加 type 限定)的可见范围改成 public/friends/private。 【例】「把我的手机号改成仅自己可见」。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标链接 url | |
| type | No | 可选,进一步限定类型 | |
| visibility | Yes | public/friends/private |
set_link_visibility登录;把当前用户某条链接(按 url 匹配,可加 type 限定)的可见范围改成 public/friends/private。 【例】「把我的手机号改成仅自己可见」。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 目标链接 url | |
| type | No | 可选,进一步限定类型 | |
| visibility | Yes | public/friends/private |
Changes observed during successful MCP inspections.
Input schema / properties / type / descriptionPrevious value: -"可选,进一步限定类型"New value: +"可选,进一步限定类型"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered; the description adds the useful login/public-auth requirement and the fact that matching is scoped to the current user's own links. It does not say what happens when the url matches nothing (error vs. silent no-op) or whether the prior visibility value is returned or recoverable, which are the remaining behaviors an agent would want.
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?
Two compact sentences, front-loaded with the auth gate and the mutation, followed by an illustrative example that maps a colloquial request ("手机号") onto a link target. Nothing is padded, though the example sentence earns its place only marginally.
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?
For a simple 3-parameter mutation with an enum, no output schema, and full schema coverage, the description covers auth, matching semantics, target values, and an example. Only the no-match/failure behavior is missing, which is a minor gap given the annotations already establish idempotency and non-destructiveness.
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 description coverage is 100%, so the baseline is 3, but the description adds real meaning: url is a *matching key* for an existing link and type is an optional narrowing qualifier rather than a required discriminator. That clarifies how the two parameters interact in a way the terse schema labels ("目标链接 url", "可选,进一步限定类型") do not fully convey.
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 states a precise verb+resource+scope: change the visibility of one of the *current user's* links, matched by url with an optional type qualifier, to one of three named values. This inherently separates it from sibling tools like add_profile_link, remove_profile_link, and update_my_profile without needing to name them.
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 gives an auth precondition ("登录") and a concrete example ("把我的手机号改成仅自己可见") that shows the intended usage pattern, but it never states when to prefer this over adjacent tools or what to do if the caller instead wants to change overall profile visibility. Usage is implied by the example rather than spelled out.
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.