Skip to main content
Glama

独行录 / opcmenu

关注产品

follow_product
Idempotent

【需要登录】【何时用】用户说「这个产品我先存着 / 关注一下 / 回头再看」。关注的是产品,不是人(关注人用 follow_creator,那个才影响好友关系和「好友可见」链接)。

【组合链】search_products / list_service_products / get_product 拿到 productId → 本工具关注 → 之后用 get_my_card 看我关注了哪些(关注列表并在名片里,没有单独的列表工具)→ 想找主理人聊就 get_creator → start_conversation。

【口径/坑】幂等,重复关注 no-op。只能关注已发布的产品,找不到或已下架报 404。关注是单方面的、对方看不到通知,不算打招呼——真想让对方知道就去开聊。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
productIdYes产品 id(cuid),从 get_product / search_products 拿

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Even though annotations already include idempotentHint=true and readOnlyHint=false, the description adds valuable behavioral context: repeated following is a no-op, only published products can be followed, missing/unpublished products return 404, the follow is unilateral with no notification to the other party, and it does not count as a greeting. This goes well beyond annotation defaults and discloses important side effects and error behavior.

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?

The description is structured into clear labeled sections: login requirement, when to use, combination chain, and edge cases. Although dense, every sentence carries operational value and there is no filler or repetition of annotation data.

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 single-parameter mutation tool with no output schema, the description covers login requirements, usage triggers, alternative tools, the full workflow, error conditions, idempotency, and side effects. Nothing that an agent needs to correctly invoke this tool is missing.

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?

The input schema already fully documents productId as a cuid obtained from get_product/search_products, so the baseline is 3. The description adds list_service_products as another source and embeds productId in a concrete workflow, which is modest additional value beyond the schema.

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 states exactly what the tool does in the first line: it follows/saves a product. It explicitly distinguishes itself from follow_creator by clarifying this tool is for products, not people, and notes that follow_creator affects friend relationships and 'friend-visible' links. This is a specific verb+resource with strong sibling differentiation.

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 gives concrete trigger phrases ('我先存着 / 关注一下 / 回头再看'), clearly states when NOT to use it (following a person → use follow_creator), and provides a full combination chain: obtain productId from search_products, list_service_products, or get_product → follow → view via get_my_card. This is explicit usage guidance with no ambiguity.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Each tool has a clearly documented purpose, often with explicit 'when to use' guidance and cross-references, making the vast majority easy to tell apart. A few clusters (get_my_brief, get_my_positioning, get_my_work, get_my_dispatch) and data-overlapping get_my_card vs get_my_profile require careful reading, but descriptions are detailed enough to prevent serious misselection.

Naming Consistency4/5

The overwhelming majority follow snake_case verb_noun conventions (create_product, update_need, list_my_signups). Minor deviations include noun-only feed names (personalized_feed, random_feed), inconsistency between 'prefs' and 'preferences' in notification tools, and a mix of update_* and set_* for mutations, but the pattern remains predictable overall.

Tool Count1/5

137 tools is an extreme mismatch for any MCP server, far exceeding the 50+ threshold for a score of 1. Even with a broad multi-domain platform, this volume makes tool selection and navigation impractical and heavily burdens the agent's context window.

Completeness5/5

The surface covers full lifecycles for needs, products, activities/signups, conversations, collaboration goals/tasks, dispatch, profile/onboarding, and supporting resources like companies, parks, policies, and ratings. Deliberate omissions (no user-post creation, no organizer profile editing via agent) are explicitly documented, so core workflows have no obvious dead ends.

Resources