Skip to main content
Glama
EthanQC

feishu-user-plugin

by EthanQC

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.3.11

  • Disambiguation3/5

    While most tools target distinct resource-action pairs, there is notable overlap among send tools (e.g., send_as_user, send_message_as_bot, send_to_group) and some wrapper tools that combine search+send, creating ambiguity for an agent.

    Naming Consistency4/5

    Tool names mostly follow a consistent verb_noun snake_case pattern, with minor exceptions like 'send_card_as_user' and 'send_message_as_bot' that deviate slightly from the pattern but remain readable.

    Tool Count2/5

    84 tools is far beyond the typical well-scoped range of 3-15. While the server covers a broad domain, the sheer number makes it heavy and harder for an agent to navigate efficiently.

    Completeness5/5

    The server offers comprehensive coverage of Feishu's API surface, including messaging, calendar, tasks, wiki, bitable, drive, docs, OKRs, and profiles with full CRUD operations and no obvious gaps for common workflows.

  • Average 3.7/5 across 84 of 84 tools scored. Lowest: 2.8/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 1 of 2 community issues answered or closed in the last 6 months
    • 21 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Adds scope but no details on permanence, notification, or side effects.

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

    Conciseness3/5

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

    Very short but includes non-essential metadata ('[Official API + UAT, v1.3.7]'). Could be cleaner.

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

    Completeness2/5

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

    No output schema. Does not explain return values or important behavioral context like notification defaults or irreversibility.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. Description adds no parameter information beyond what is in the schema.

    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?

    Clearly states the tool deletes a calendar event and specifies required scope. However, does not differentiate from siblings like 'create_calendar_event' or 'update_calendar_event'.

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

    Usage Guidelines2/5

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

    Provides no guidance on when to use this tool vs alternatives. Only states the action and scope requirement.

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

  • Behavior2/5

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

    No annotations provided, so the description carries the full burden. It mentions 'create or get' implying idempotency, but does not disclose permissions, side effects, or whether the operation is read-only or destructive. For a chat creation tool, more behavioral context is expected.

    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 extremely concise, with one sentence that is front-loaded. However, it may be overly terse; a bit more detail on usage or behavior would improve it without hurting conciseness.

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

    Completeness2/5

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

    Given the simplicity (1 param, no output schema, no annotations), the description is minimal but lacks sufficient context for an AI agent. It does not explain the 'create or get' logic, how to handle duplicates, or when to use this over sibling tools. More information is needed for effective selection and invocation.

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

    Parameters3/5

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

    The only parameter 'user_id' is already well-documented in the input schema ('Target user ID from search_contacts'). The description adds no additional meaning or context about the parameter beyond the schema.

    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 clearly states it creates or gets a P2P direct message chat and returns a numeric chat_id. This is specific and distinguishes from general chat tools, though it does not explicitly differentiate from siblings like 'list_chats' or 'send_to_user'.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., 'send_to_user' for sending messages, 'list_chats' for viewing chats). No prerequisites or exclusions mentioned. The description merely states the function.

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

  • Behavior2/5

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

    No annotations provided, and the description does not disclose side effects, permissions, or behavioral traits. For a creation tool, this is insufficient.

    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?

    Single sentence with no unnecessary information. Front-loaded with the version tag and core action. Efficient.

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

    Completeness2/5

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

    Moderate complexity (6 params, nested objects, no output schema) but description lacks return value info, constraints, or behavioral details. Incomplete for an agent to fully understand the tool's effects.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description repeats the required/optional nature of parameters but adds no extra meaning beyond what the schema already provides.

    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?

    Description states 'Create a new task', which is a clear verb+resource. It distinguishes from sibling tools like update_task and delete_task, but lacks specifics on scope (e.g., current user context).

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like complete_task or update_task. The description only notes required/optional parameters without usage context.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It adds minimal context beyond the schema, mentioning 'UAT-first' (meaning unclear) and ownership. It fails to disclose side effects, required permissions, or error conditions.

    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 concise with two sentences, front-loading the main action. However, the second sentence introduces jargon ('UAT-first') which may confuse. Overall, it is efficiently written.

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

    Completeness3/5

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

    Given no output schema and no annotations, the description is somewhat complete for a creation tool but lacks details on return values, required space existence, or error scenarios. It covers the core action and key parameters but leaves behavioral gaps.

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

    Parameters3/5

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

    Schema coverage is 100%, so all parameters are described in the schema. The description adds no extra meaning beyond stating that obj_type picks the resource, which is already in the schema. Baseline 3 is appropriate.

    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 clearly states 'Create a new Wiki node inside a space' with a specific verb and resource. It mentions the key parameter 'obj_type' that determines the underlying resource. However, it does not explicitly differentiate from sibling tools like create_doc or create_folder, which have overlapping functionality.

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

    Usage Guidelines2/5

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

    The description provides no explicit guidance on when to use this tool versus alternatives. It mentions 'UAT-first' which is unclear, and does not state when not to use it or suggest alternative tools for similar tasks.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions that @-mentions trigger notifications, but omits behavioral traits like idempotency, authentication requirements, or potential side effects beyond creating a message.

    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?

    Extremely concise, with one sentence that front-loads the user identity and purpose. Every word adds value.

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

    Completeness2/5

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

    Given no output schema and moderate complexity (nested paragraphs), the description lacks information about return values, error handling, or success indicators. It also fails to contextualize when this tool is appropriate among many send-related siblings.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description briefly mentions 'title and formatted paragraphs' but does not add meaningful context beyond what the schema already provides, such as parameter format or constraints.

    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 clearly states the tool sends a rich text POST message with title and paragraphs, and supports @-mentions. However, it does not distinguish from sibling tools like 'send_as_user' or 'send_card_as_user', which may lead to confusion about when to use this specific tool.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. With many sibling messaging tools, the lack of usage context or exclusions makes it hard for an AI agent to decide which tool to invoke.

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

  • Behavior1/5

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

    No annotations provided, and the description fails to disclose side effects (e.g., destructive action), idempotency, or error behavior when reaction does not exist.

    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?

    Very concise (one sentence, 9 words), appropriate for a simple tool, though no structural formatting is used.

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

    Completeness3/5

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

    Minimal description covers basic purpose and required parameters, but omits details like user ownership, permissions, and reversibility, which are relevant given no output schema.

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

    Parameters3/5

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

    Input schema has 100% coverage with clear field descriptions; the description adds no extra meaning 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 clearly states the action ('Remove') and the target resource ('emoji reaction from a message'), distinguishing it from its sibling 'add_reaction'.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., add_reaction) or any prerequisites (e.g., user must own the reaction).

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behaviors. It only says 'permanently delete', which implies irreversibility, but lacks details on required permissions or side effects.

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

    Conciseness3/5

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

    The description has two sentences, but the first sentence ('Official API + UAT, v1.3.7') is version metadata that does not aid tool selection. It could be more concise.

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

    Completeness2/5

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

    Given only one parameter with full schema coverage and no output schema, the description is minimal. For a delete operation, more context (irreversibility, auth) would improve completeness.

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

    Parameters3/5

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

    Schema coverage is 100% with parameter 'task_guid' described as 'Task GUID'. The description does not add further meaning, so baseline 3 is appropriate.

    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 clearly states 'Permanently delete a task', which is a specific verb+resource. It distinguishes from sibling tools like create_task, update_task, and complete_task.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs alternatives (e.g., complete_task). The description does not mention prerequisites or conditions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only states 'list nodes,' implying a read operation but does not explicitly confirm read-only, rate limits, pagination, or any side effects. The lack of detail forces the agent to assume behavior.

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

    Conciseness3/5

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

    The description is very short and front-loaded, but the '[Official API]' prefix is unnecessary noise. It conveys the core purpose concisely but sacrifices detail. Overall, it is efficiently short but not optimally informative.

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

    Completeness2/5

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

    For a list operation with two parameters and no output schema, the description is incomplete. It omits details about pagination, sorting, response structure, or whether the parent_node_token filters results. The agent lacks sufficient context to use the tool reliably.

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

    Parameters3/5

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

    Schema description coverage is 100%, with each parameter having a basic description in the input schema. The tool description adds no extra meaning beyond what the schema provides, so the baseline of 3 is appropriate.

    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 clearly states the tool's action: 'List nodes in a Wiki space.' The verb 'list' and resource 'nodes' are specific, and the scope 'in a Wiki space' differentiates it from sibling tools like 'get_wiki_node' (single node) or 'list_wiki_spaces' (spaces).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for retrieving all nodes in a space versus other operations like creating, updating, or getting a single node. No context about prerequisites or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It only explains ID format and types, but omits important traits like whether the original message is copied or moved, permission requirements, or any limitations.

    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?

    Two sentences with 60 words, front-loaded with the core purpose. No extraneous information. Efficient structure.

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

    Completeness3/5

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

    The description adequately explains ID type handling and defaults, but lacks information about return values or error handling. Since no output schema is provided, the agent is left guessing what the tool returns upon success or failure.

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

    Parameters3/5

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

    All three parameters are described in the input schema (100% coverage). The description adds minimal value beyond the schema, reiterating ID types and default behavior. The schema already covers the same information.

    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 clearly states the verb 'Forward' and the resource 'a message to another chat or user'. It distinguishes the tool as an official API for forwarding messages, but does not explicitly differentiate it from sibling tools like send_message_as_bot or reply_message.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives. It explains ID types and defaults but does not provide context for choosing this over other messaging tools like send_to_group or send_to_user.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits. It only states 'get full details' but does not mention permissions, rate limits, side effects, or what 'full details' includes. The read-only nature is implicit but insufficient.

    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 one sentence and front-loaded with purpose. However, the environment tag '[Official API + UAT, v1.3.7]' adds unnecessary length for an agent, though it may be useful context for developers. Still, it is efficient overall.

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

    Completeness2/5

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

    For a simple get-by-GUID tool with no output schema, the description lacks details on return format, error cases, or any limitations. An agent cannot fully predict the response without additional information.

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

    Parameters3/5

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

    Schema coverage is 100% and the parameter description already explains the GUID source. The tool description adds minimal extra meaning ('by GUID'), so it meets baseline but does not improve understanding.

    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 clearly states the verb 'Get' and the resource 'full details of a single task by GUID', distinguishing it from siblings like list_tasks (multiple tasks) and create_task/delete_task/update_task (mutations). It specifies the identifier type (GUID), making the purpose unambiguous.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives (e.g., list_tasks to find GUIDs, update_task after reading). The parameter description hints at sources of GUID but does not explain when to prefer this tool over others.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention important traits such as recursion depth, pagination, file types included, or permission requirements, leaving significant ambiguity.

    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 very concise with a single sentence that front-loads the core purpose. No superfluous text, though it could benefit from slightly more detail without becoming verbose.

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

    Completeness2/5

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

    With no output schema, the description should explain return values (e.g., list of file objects with properties). It does not, leaving the agent without crucial context for handling results.

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

    Parameters3/5

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

    The input schema coverage is 100% and includes a clear description for folder_token. The description adds no additional meaning beyond the schema, so baseline score applies.

    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 clearly states the verb 'List' and resource 'files' within a specific context 'Drive folder', distinguishing it from other list tools like list_calendar_events or list_tasks.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. With many sibling list tools, it fails to specify context like filtering or prerequisites (e.g., whether folder_token is required or how to obtain it).

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

  • Behavior2/5

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

    With no annotations, the description must bear the full behavioral disclosure burden. It states the tool acts as the logged-in user, but does not disclose side effects, permissions, or reversibility. Minimal behavioral context.

    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?

    Two short, front-loaded sentences with no redundancy. Every word earns its place, providing essential information efficiently.

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

    Completeness3/5

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

    Given the tool's simplicity and full schema documentation, the description covers the core action and prerequisite. However, it lacks details about expected behavior (e.g., message visibility, confirmation) that could aid a model, especially with no output schema.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional semantic meaning beyond restating the file_key prerequisite. Baseline score of 3 is appropriate.

    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 clearly states the action ('Send a file as the logged-in user'), distinguishing it from siblings like 'send_image_as_user' or 'send_card_as_user'. However, it omits that the file is sent to a chat (implied by 'chat_id' parameter), which slightly reduces clarity.

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

    Usage Guidelines2/5

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

    The description mentions a prerequisite ('Requires file_key (upload via Official API first)') but provides no guidance on when to use this tool versus alternatives like 'send_image_as_user' or 'forward_message'. No explicit context for selection.

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

  • Behavior2/5

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

    No annotations are present, so the description must disclose behavioral traits. It fails to mention any side effects, permissions required, or behavior for invalid parent_token. The single sentence provides no behavioral context.

    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 concise with a single sentence. The '[Official API]' prefix is slightly extraneous but does not detract significantly. It is front-loaded with key information.

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

    Completeness3/5

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

    For a simple creation tool with full schema coverage, the description is adequate but minimal. It lacks details on return values, error handling, or idempotency. Could be improved with more context.

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

    Parameters3/5

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

    Schema description coverage is 100%, so parameters are already documented. The description adds no additional meaning beyond 'Folder name' and 'Parent folder token (optional)'. Baseline score of 3 applies.

    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 clearly states the action ('Create') and the resource ('a new folder in Drive'). This distinguishes it from sibling tools like create_doc or create_calendar_event, which target different resources.

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

    Usage Guidelines2/5

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

    No usage guidance is provided. The description does not indicate when to use this tool over alternatives like manage_drive_file or upload_drive_file, nor does it mention prerequisites or limitations.

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

  • Behavior2/5

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

    No annotations are provided so the description carries full burden. It discloses the mutation action and member format but lacks details on side effects, permissions, error conditions, or what happens if the task doesn't exist. The version notation adds little behavioral insight.

    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 short and front-loaded with purpose. However, the version string '[Official API + UAT, v1.3.7]' may be unnecessary for an AI agent. Still, it is efficient overall.

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

    Completeness3/5

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

    For a mutation tool with 3 parameters and no output schema, the description covers the basic operation and member structure but omits expected return values or confirmation. It is adequate but not fully complete.

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

    Parameters3/5

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

    Schema coverage is 100% so baseline is 3. The description reinforces the member object format already in the schema. It does not add significant new meaning beyond what the schema's descriptions provide.

    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 clearly states the purpose: 'Add or remove members on a task.' It specifies the verb (add/remove) and resource (task), and distinguishes from sibling 'manage_members' by explicitly mentioning 'on a task'. The member object structure is also provided.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. For example, sibling 'manage_members' likely handles different resources but no differentiation is given.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden. It discloses some behavioral traits (identity requirement, scope), but omits details like success/failure responses, irreversibility, or multiple response handling.

    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 very concise, with one sentence providing version info and two sentences giving constraints. No unnecessary words.

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

    Completeness2/5

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

    The description lacks mention of return values or side effects, which is important for a write tool. With no output schema, more context about the response is needed.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the description adds no extra meaning beyond what the schema provides. The baseline of 3 is appropriate.

    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 clearly states the tool's purpose as 'Respond to an event invitation' with a specific verb and resource. It adds identity and scope requirements, but does not differentiate from siblings like update_calendar_event.

    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?

    It mentions that the current identity must be in the attendee list and requires a specific scope, implying context. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the basic action. It does not disclose idempotency, required permissions, or side effects like overwriting existing reactions.

    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 a single sentence that directly states the purpose with no unnecessary words or fluff, making it optimally concise.

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

    Completeness3/5

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

    The description is adequate for a simple tool but lacks behavioral context (e.g., idempotency, error handling) that would help an agent use it correctly, especially given the presence of a sibling delete_reaction.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond the schema, which already defines message_id and emoji_type with examples.

    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 'Add an emoji reaction to a message' clearly states the verb (add), resource (emoji reaction), and target (message), distinguishing it from siblings like delete_reaction.

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

    Usage Guidelines2/5

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

    No usage guidelines provided; the description does not indicate when to use this tool vs alternatives, such as whether it should be used only for specific emoji types or contexts.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavior. It states the tool lists chats and returns specific fields, but omits details about pagination, rate limits, or authentication requirements.

    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 a single concise sentence that effectively communicates the tool's purpose and return fields. It could be slightly more structured, but it is efficient.

    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 simple list tool with no output schema, the description adequately states the return fields and scope. It covers the essential context needed for an agent to use it correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, with clear descriptions for page_size and page_token. The tool description adds no additional parameter context beyond what the schema already provides.

    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 clearly states 'List all chats the bot has joined,' specifying the verb, resource, and scope. It distinguishes from siblings like 'list_user_chats' by focusing on bot-joined chats.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., 'list_user_chats'). The description does not mention when not to use it or provide context for selection.

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

  • Behavior2/5

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

    No annotations provided. The description only states the basic action (pin/unpin) without disclosing behavioral traits like what happens if the message is already pinned, or whether permission checks are performed. A mutation tool should provide more context.

    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?

    Single sentence, no fluff. Efficiently communicates the tool's purpose.

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

    Completeness3/5

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

    Given no output schema and a simple 2-parameter tool, the description is adequate but could mention return value or error handling. Lacks completeness for a mutation tool with no annotations.

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

    Parameters3/5

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

    Input schema covers both parameters with clear descriptions (message_id and pinned with default). The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

    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 clearly states the action (pin or unpin) and the resource (message in a chat). It distinguishes from sibling tools like delete_message or forward_message.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives, or any prerequisites. For example, it doesn't mention if the user must be a member of the chat or if there are limits on pinned messages.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility. It only states it searches and returns IDs, lacking details on pagination, rate limits, authorization, or result format beyond IDs. This is insufficient for safe agent invocation.

    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 one concise sentence with no redundant information. It is front-loaded with the core action and resource, making it easy to parse quickly.

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

    Completeness3/5

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

    For a simple one-parameter tool with no output schema, the description is adequate but incomplete. It mentions searching multiple entity types and outputting IDs, but fails to specify the format or structure of the returned IDs. Additional information on search behavior or result handling would improve completeness.

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

    Parameters3/5

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

    The single parameter 'query' has a schema description 'Search keyword', and the description adds little extra meaning. With 100% schema coverage, a baseline of 3 is appropriate as it meets the minimum but does not enrich the parameter understanding.

    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 clearly states the verb 'Search', the resources 'Feishu users, bots, or group chats', and the output 'Returns IDs'. It effectively distinguishes from sibling tools that list or retrieve specific entities.

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

    Usage Guidelines2/5

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

    No guidelines on when to use this tool versus alternatives like list_chats, get_user_info, or other search tools. The description does not mention preferred contexts, prerequisites, or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, and the description only states the operation without disclosing behavioral traits such as authentication needs, rate limits, or what happens with no results.

    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 a single concise sentence that is front-loaded with the core action. The '[Official API]' prefix adds minor overhead but does not detract.

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

    Completeness2/5

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

    The tool has no output schema and no annotations; the description does not cover return format, pagination, or error behavior, leaving the agent with insufficient context for reliable invocation.

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

    Parameters3/5

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

    Schema coverage is 100%, so the schema already documents the single parameter. The description adds no additional meaning beyond 'Search keyword', meeting the baseline but not exceeding it.

    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 'Search Wiki nodes by keyword' uses a specific verb (Search) and resource (Wiki nodes), clearly distinguishing it from sibling tools like list_wiki_nodes or get_wiki_node.

    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 description does not provide when to use or when not to use this tool, nor does it mention alternatives. The name implies searching, but no explicit guidance is given.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the core action but omits critical details: authentication needs, side effects (message creation), failure modes (group not found), and whether the operation is reversible. This lack of disclosure makes it hard for an agent to anticipate consequences.

    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 a single concise sentence that clearly communicates the tool's purpose. It is front-loaded and contains no extraneous information. However, a slightly more structured format (e.g., listing prerequisites) could improve readability without adding much length.

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

    Completeness2/5

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

    Given the tool has three parameters, no output schema, and no annotations, the description is insufficient. It fails to explain prerequisites (e.g., user must have access to the group), what happens on success or error, or how the @-mention feature works. The context signals indicate moderate complexity, so more detail is needed.

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

    Parameters3/5

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

    Schema coverage is 100% with clear descriptions for all three parameters. The description adds no extra meaning beyond the schema; it merely restates the send action. The ats parameter is not mentioned in the description, but the schema already provides adequate documentation.

    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 clearly states the action: search group by name and send text message, all in one step. It distinguishes itself from siblings like send_to_user (individual) and send_message_as_bot (bot) by focusing on group search and immediate send.

    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 description implies usage for sending text to a group when the group name is known, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., searching separately or using other send methods). No exclusions or when-not-to-use are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits like authentication requirements, error handling, or rate limits. It only hints at fallback but does not explain implications or side effects.

    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 a single concise sentence with key details front-loaded. It could benefit from structuring (e.g., listing returned fields) but is efficient.

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

    Completeness3/5

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

    Given one parameter, no output schema, and no annotations, the description covers the basic purpose and returned fields. However, it omits error handling, permissions, and ID format specifics.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single 'chat_id' parameter, and the description only repeats the supported formats. No additional semantic 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 clearly states it retrieves chat details (name, description, member count, owner) and explicitly supports two ID formats, distinguishing it from sibling tools like get_user_info.

    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?

    No explicit guidance on when to use this tool versus alternatives like list_chats or get_user_info. The context of 'Official API + User Identity fallback' is implied but not actionable.

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

  • Behavior3/5

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

    The description reveals cross-process deduplication via a global cursor and mentions default profile filtering. However, it does not clarify if the tool is destructive (draining may consume/delete events), nor does it discuss rate limits or auth requirements. Annotations are absent, so description carries full burden but leaves gaps.

    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 two sentences, front-loading key info. Version history could be omitted or shortened, but overall efficient.

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

    Completeness2/5

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

    With 7 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what events are, how since_seconds works, what peek does, or return format. Agent lacks sufficient info to use the tool correctly.

    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 14% (only profile described). The description adds context only for profile, not for other 6 parameters (event_type, event_types, chat_id, since_seconds, max_events, peek). With low schema coverage, description should compensate but fails.

    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 clearly states it drains real-time events from a machine-level shared event log, distinguishes from version v1.3.8, and mentions default profile behavior. It differentiates itself from sibling tools by focusing on real-time event draining rather than CRUD operations.

    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 description implies usage for real-time events and hints at profile filtering ('pass profile="*" to see all'), but does not explicitly state when to use this tool vs alternatives like read_messages or list_*. No exclusion criteria or context of non-use.

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

  • Behavior3/5

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

    No annotations provided, so the description carries full burden. It includes version info but lacks details on side effects, permissions, or rate limits. However, as a read operation, behavioral risks are low.

    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?

    Single sentence with version info is efficient, though the version label '[Official API + UAT, v1.3.7]' may be unnecessary noise for an AI agent.

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

    Completeness3/5

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

    No output schema exists, and the description does not explain return values or pagination behavior. While it covers parameter usage, it lacks completeness for a list operation with multiple parameters.

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

    Parameters3/5

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

    Schema coverage is 100%, providing clear parameter descriptions. The description adds a brief summary ('Filter by completion or type') but does not substantially enhance understanding 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 clearly states 'List the current user's tasks' which is a specific verb+resource. It distinguishes from sibling tools like get_task (single task) and complete_task (action on a task).

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. Siblings like get_task, complete_task, manage_task_members exist, but the description does not mention them or provide exclusions.

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

  • Behavior2/5

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

    With no annotations, the description must convey behavioral traits. It only states 'Official API' and 'list all accessible', implying read-only but fails to disclose rate limits, authentication needs, or other constraints.

    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 a single concise sentence. The '[Official API]' prefix is slightly redundant but not detrimental. It could be more structured but is efficient.

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

    Completeness3/5

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

    Given no output schema, the description should hint at return structure (e.g., list of spaces with IDs). It does not, leaving the agent uninformed about the output format. However, the tool is simple enough that this may be acceptable.

    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 has no parameters, so schema coverage is 100%. The description adds no parameter info, which is acceptable since none exist. Baseline for zero parameters is 4.

    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 clearly states the tool lists all accessible Wiki spaces, specifying the resource (Wiki spaces) and scope (accessible). It effectively distinguishes from sibling tools like list_wiki_nodes, which list nodes within a space.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. It lacks explicit context for selection among similar list functions.

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

  • Behavior2/5

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

    No annotations provided; description lacks details on file size limits, supported formats, permissions required, or side effects beyond returning an image_key.

    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?

    Single sentence is concise, front-loaded with purpose and output, and contains no wasted words.

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

    Completeness2/5

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

    With 2 parameters and no output schema, description fails to explain image_type behavior, format requirements, error handling, or constraints; incomplete for robust agent invocation.

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

    Parameters3/5

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

    Schema covers 100% of parameters with descriptions; description does not add significant meaning beyond schema for parameters.

    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?

    Description clearly states the action 'Upload an image file to Feishu' and the output 'image_key for use with send_image_as_user', distinguishing it from other upload tools.

    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?

    Description implies usage for sending images via send_image_as_user but provides no explicit when/why to choose this over alternative upload tools like upload_file or upload_drive_file.

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

  • Behavior2/5

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

    Without annotations, the description carries full burden. It only states 'Create a new group chat' and 'as bot', but omits details on permissions, side effects, or error conditions. The bot-specific behavior is unclear.

    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 extremely concise, one sentence plus a clause, with no redundant information. It front-loads the main action.

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

    Completeness3/5

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

    For a creation tool with 3 parameters and no output schema, the description adequately covers the core purpose and optional initial members. However, it lacks details on return value, errors, or group limits, making it minimally adequate.

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

    Parameters3/5

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

    Schema description coverage is 100%, so parameters are already documented. The description adds 'Can add initial members' which aligns with user_ids but doesn't add new meaning 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 clearly states the verb 'Create' and the resource 'group chat (as bot)', distinguishing it from siblings like create_p2p_chat. It also mentions adding initial members, adding specificity.

    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?

    No explicit when-to-use or when-not-to-use guidance. The phrase 'as bot' implies a specific context but doesn't compare with alternatives like create_p2p_chat or send_to_group.

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

  • Behavior2/5

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

    No annotations provided, so description bears full burden. Discloses it queries windows and requires a scope, but does not specify response format (e.g., list of time ranges per user), default behavior (free+busy vs only busy), or error handling. Minimal transparency.

    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?

    Short 2-sentence description is mostly concise. The leading bracketed version info '[Official API + UAT, v1.3.7]' adds some noise but does not severely impact readability.

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

    Completeness2/5

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

    Tool has 6 parameters (3 required) and no output schema. Description does not explain the response structure (e.g., array of time ranges, per user/room), nor how to interpret results for scheduling. Incomplete for an AI agent to reliably use.

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

    Parameters3/5

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

    Schema already covers all 6 parameters with descriptions (100% coverage). Tool description adds no extra parameter information beyond what is in schema. Baseline score of 3 applies.

    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?

    Clear verb 'Query' and resource 'freebusy windows for one or more users in a time range'. Distinct from siblings like list_calendar_events which return events, not free/busy blocks. Use case 'find a meeting slot' further clarifies purpose.

    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?

    Explicitly states 'Use to find a meeting slot', providing a clear usage context. Mentions required permission but does not give explicit when-not-to-use or alternative tools.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It's straightforward but lacks disclosure on rate limits, authorization, or error cases. Acceptable for a simple read operation.

    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?

    Single sentence, front-loaded with purpose, no wasted words. Efficient and clear.

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

    Completeness3/5

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

    Lacks output schema but operation is simple. Does not address pagination behavior or potential issues like large groups. Adequate but not thorough.

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

    Parameters3/5

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

    Schema covers all parameters (100% coverage), so description need not add much. No param info in description, but baseline of 3 is appropriate as schema provides meaning.

    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?

    Description clearly states verb 'List' and resource 'members' with context 'in a group chat'. Distinguishes from siblings like 'manage_members' (modification) and 'list_chats'.

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

    Usage Guidelines2/5

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

    No guidance on when to use or not use this tool. Does not mention alternatives or prerequisites, leaving the agent to infer from context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions actions and that update is for rename, but lacks details on side effects (e.g., irreversibility of delete), required permissions, or rate limits. For a CRUD tool, more behavioral context would be beneficial.

    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 a single sentence that concisely states the purpose and actions. It is front-loaded with '[Official API]' and avoids unnecessary details.

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

    Completeness3/5

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

    The description covers the main actions but lacks details on prerequisites, error handling, and return values (no output schema). For a tool with 5 parameters and multiple actions, additional context would improve completeness.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are fully described in the schema. The description adds minimal context (e.g., 'with optional initial fields' for create, 'rename' for update). Given high schema coverage, baseline 3 is appropriate.

    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 explicitly states the tool manages tables in a Bitable app with clear actions (list, create, update, delete). It distinguishes from sibling tools like manage_bitable_field and manage_bitable_record by focusing on table-level operations.

    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 description implies usage for table management but does not provide explicit guidance on when to use this tool versus other bitable management tools (e.g., manage_bitable_field). No 'when not to use' or alternative recommendations are given.

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

  • Behavior2/5

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

    With no annotations, description only says 'Read raw text'. Lacks details on output format, limits, authentication needs, or side effects. Minimal disclosure.

    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?

    Single sentence, no unnecessary words. Front-loaded with the verb and resource.

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

    Completeness3/5

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

    For a simple read tool with one parameter and no output schema, description is adequate but could include more context (e.g., returns plain text, limits). Lacks completeness for a novice agent.

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

    Parameters3/5

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

    Schema already describes the sole parameter (document_id). Description adds no extra meaning beyond the schema. Coverage is 100%, so baseline 3 is appropriate.

    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?

    Description clearly states the action (Read), resource (raw text content), and source (Feishu document). It distinguishes from siblings like read_doc_markdown, which implies different output format.

    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?

    No explicit guidance on when to use vs alternatives (e.g., read_doc_markdown, get_doc_blocks). Use case is implied but not stated.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility. It only mentions '[Official API]' and the basic search action, but fails to disclose whether it is read-only, requires authentication, or returns specific fields.

    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 a single concise sentence that front-loads the core purpose without any unnecessary words or information.

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

    Completeness3/5

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

    For a simple search tool with one parameter and no output schema, the description is adequate but lacks context about what content is searched (e.g., titles, body), result format, or any limitations.

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

    Parameters3/5

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

    The schema already covers the parameter with a description ('Search keyword'), and the tool description adds no additional meaning or context beyond what the schema provides.

    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 clearly states that the tool searches Feishu documents by keyword, which is a specific verb+resource combination. It distinguishes from sibling tools like search_contacts and search_wiki.

    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 description provides no guidance on when to use this tool versus alternatives like search_wiki or search_contacts. It only implies usage context via the name and brief description.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It states the patch nature and required scope but omits details about side effects like notifications, validation, or error handling. More transparency is needed for a mutation tool.

    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 concise at two sentences, with no superfluous information. The first sentence states purpose and scope, the second gives usage guidance, making it front-loaded and efficient.

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

    Completeness3/5

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

    Given the tool's complexity (13 parameters, nested objects, no output schema), the description lacks details on return values, error conditions, and what happens to fields not passed. It provides minimal but adequate context for a simple update operation.

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

    Parameters3/5

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

    The description adds the usage pattern 'Pass only the fields you want to change' but does not provide additional meaning beyond what is already in the input schema. With schema description coverage at 69%, the description does not compensate significantly, so a score of 3 is appropriate.

    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 clearly states 'Patch fields on an existing calendar event' with a specific verb and resource. It distinguishes this tool from sibling tools like 'create_calendar_event' and 'delete_calendar_event' by focusing on updating an existing event.

    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 description implies usage through 'Pass only the fields you want to change' and mentions the required scope. However, it does not explicitly state when to use this tool versus alternatives (e.g., when to use create vs update) or provide context about limitations.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It omits crucial details: whether the tool reuses existing chats, behavior on user not found, error handling, and permission requirements. The lack of such information makes it less transparent.

    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 extremely concise—one sentence with a clear step-by-step flow. No unnecessary words, and the most important information is front-loaded.

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

    Completeness2/5

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

    Given the tool's complexity (multi-step operation combining search, chat creation, and messaging) and the absence of an output schema, the description is too sparse. It does not cover potential failure modes, chat reuse behavior, or guidance on when to use this tool versus alternatives like 'send_message' when a chat ID is known.

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

    Parameters3/5

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

    The input schema already describes all parameters with 100% coverage. The description adds no extra meaning beyond what the schema provides, so it meets the baseline but does not elevate it.

    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 clearly states the tool's function: it searches a user by name, creates a P2P chat, and sends a text message in one step. This distinctly differentiates it from siblings like 'send_as_user' or 'send_to_group'.

    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?

    The description implies the usage scenario: when you want to send a message to a user identified by name rather than ID. It does not explicitly state when not to use it or recommend alternatives, but the purpose is clear enough for selection.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose any behavioral traits such as required permissions, reversibility, or side effects. The agent is left without crucial context about the operation's implications.

    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?

    Single sentence with no extraneous information. The purpose is front-loaded and clear. Every word earns its place.

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

    Completeness2/5

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

    For a simple update tool with no output schema and no annotations, the description is minimal. It lacks guidance on return values, error conditions, or usage prerequisites, leaving the agent with insufficient context.

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

    Parameters3/5

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

    Input schema has 100% coverage on parameter descriptions. The description reiterates 'name or description' but adds no new meaning beyond confirming the schema. Baseline score of 3 applies.

    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?

    Description clearly states the verb (Update), the resource (group chat), and the specific fields (name or description). It distinguishes itself from sibling tools like create_group and delete_message by specifying the update action on group properties.

    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?

    The description implies usage for changing group chat name or description. It does not explicitly state when not to use it or list alternatives, but the context is clear enough given the sibling ecosystem.

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

  • Behavior3/5

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

    Description reveals important behavioral detail: 'update_fields is required by Feishu' and explains the effect. No annotations provided, so burden is on description. Missing disclosure of permissions, side effects, or output, making it moderately transparent.

    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?

    Two sentences with no wasted words. Front-loaded with purpose, then critical context on the required parameter. Excellent efficiency.

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

    Completeness3/5

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

    Given no output schema and no annotations, description covers core purpose and a key parameter quirk. Lacks details on return values, error conditions, or prerequisites. Adequate but not comprehensive.

    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%, baseline 3. Description adds value by explaining that 'update_fields' lists fields to update and that Feishu ignores other keys in 'task'. This clarifies usage beyond schema alone.

    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?

    Description clearly states 'Patch a task' with specific verb and resource. However, it does not differentiate from sibling tools like 'complete_task' or 'delete_task', which limits clarity for selection.

    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?

    Implied usage: use when updating a task. No explicit guidance on when not to use or alternatives. The description mentions the Feishu requirement, which aids correct invocation but not context of use.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses scope requirements, permission level, identity constraint, and time field formats. However, it omits other behavioral traits like whether notifications are sent (the need_notification parameter suggests it but doesn't state explicitly), idempotency, error scenarios, or rate limits. Moderate transparency.

    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 relatively concise and front-loaded with purpose, then prerequisites, then time details. It could be slightly more terse (e.g., 'Official API + UAT' might be redundant), but overall it's well-structured and each section adds value.

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

    Completeness2/5

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

    Despite having 12 parameters and no output schema, the description does not explain the return value (e.g., the created event's ID or details) or cover error handling. For a creation tool, this is a significant gap. The description misses completeness by not addressing what the agent should expect after invocation.

    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%, so baseline is 3. The description adds value by explaining the two time object formats (timestamp vs. date) and the scope/permission context. This goes beyond the schema's parameter descriptions, which already cover most but not all nuances.

    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 clearly states 'Create a new calendar event.' It uses a specific verb ('Create') and resource ('calendar event'), effectively distinguishing it from sibling tools like update_calendar_event or respond_calendar_event.

    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 description provides prerequisites (scope, permissions, UAT-first identity) and time field formatting, but it does not offer guidance on when to use this tool compared to alternatives, such as when to use respond_calendar_event for responding to events. The prerequisites are helpful but lack comparative usage context.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It mentions sending as the user and push notifications for mentions, but omits important details like permissions required, rate limits, message length limits, and side effects such as message visibility, leaving significant gaps for a mutation tool.

    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 a single, efficient sentence with two clauses, front-loaded with '[User Identity]', and contains no unnecessary words.

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

    Completeness3/5

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

    The tool is relatively straightforward, but the description lacks coverage of error conditions, prerequisites (e.g., login status), and how replies work. Given no output schema or annotations, it is adequate but not complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema (e.g., mentions reply threading and @-mentions, which are already detailed in parameter descriptions), so a score of 3 is appropriate.

    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 clearly states the verb 'Send a text message as the logged-in Feishu user' and specifies capabilities (reply threading, @-mentions with notifications), distinguishing it from sibling tools like send_card_as_user, send_file_as_user, and send_message_as_bot.

    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?

    The description implies use for text messages as the current user and mentions reply threading and @-mentions, but does not explicitly state when to use this tool vs. alternatives (e.g., send_post_as_user, send_to_user) or when not to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It correctly identifies a destructive action but lacks details on permanence, cascading effects, or authorization requirements.

    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 a single sentence with version info, conveying the essential information without superfluous content.

    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 simple delete operation with one parameter and no output schema, the description is adequate, though it could mention error handling or idempotency.

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

    Parameters3/5

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

    Schema coverage is 100% and the description adds minimal value beyond the schema, only mentioning the source list tool without expanding on parameter meaning or format.

    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 clearly states the action (delete) and the resource (OKR progress record), and specifies the identifier (progress_id) with a source hint (from list_okr_progress_records), distinguishing it from other delete tools.

    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 description hints that the progress_id comes from list_okr_progress_records, but does not explicitly state when to use this tool or provide alternatives or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states what the tool does. It does not disclose behavioral traits like read-only nature, permissions, or error handling.

    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?

    Two concise sentences that are front-loaded, no unnecessary words. Perfectly structured for quick understanding.

    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?

    Given a simple tool with one parameter and no output schema, the description adequately explains the purpose and return types. Missing behavioral details, but largely complete for its simplicity.

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

    Parameters3/5

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

    Schema coverage is 100% with a clear parameter description. The description does not add significant meaning beyond the schema, though it contextualizes the output.

    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 clearly states the tool retrieves a structured block tree of a document, specifying it returns block types, content, and hierarchy. It distinguishes itself from sibling tools like read_doc by focusing on structural analysis.

    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?

    The description implies use for precise document analysis, but does not explicitly contrast with siblings like read_doc or read_doc_markdown. Somewhat clear but lacks explicit when-to-use guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description must cover behavioral traits. It indicates a read operation but does not mention permissions, error behavior (e.g., if user not found), or any side effects. For a simple lookup, the transparency is adequate but not fully detailed.

    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 extremely concise: two short sentences with a front-loaded tag [User Identity]. Every word serves a purpose, and there is no unnecessary content.

    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 simple lookup tool without an output schema, the description sufficiently conveys the input and outcome. It does not detail the return format, but given the tool's simplicity and common pattern, it is mostly complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, with both parameters described. The description adds minimal value beyond the schema: it reinforces the user_id parameter by saying 'by user ID' but does not clarify the optional chat_id parameter further. Baseline 3 is appropriate.

    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 clearly states the tool's purpose: looking up a user's display name by user ID. The verb 'look up' and resource 'user's display name' are specific, and the tool is distinct from sibling tools like get_chat_info or get_login_status.

    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 description implies usage for simple user lookups but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context is clear but the guidelines are missing.

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

  • Behavior2/5

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

    No annotations provided; description lacks behavioral details like read-only nature, auth requirements, or side effects. Only mentions '[Official API + UAT]' which is environment info.

    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?

    Two sentences, each serving a distinct purpose: purpose and usage guidance. No wasted words.

    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 simple list tool with pagination params and no output schema, the description adequately covers purpose and integration point. Slightly lacking output format details but acceptable.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for page_size and page_token. Description adds no extra parameter context beyond schema, so baseline 3.

    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 clearly states 'List OKR periods (quarters / years)' and explicitly connects to filtering list_user_okrs, distinguishing it from sibling tools.

    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?

    Provides explicit guidance to 'Use period_ids from this to filter list_user_okrs', indicating when to use this tool. No exclusions but clear enough.

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

  • Behavior2/5

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

    No annotations provided, and the description does not disclose authorization needs, rate limits, or side effects of operations like deletion. The only behavioral insight is that update is not exposed, which is useful but limited.

    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?

    Two sentences provide the essential purpose and a key limitation. No unnecessary words; every part earns its place.

    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?

    Sufficient for a tool with clear actions and parameters. Missing details about return format or behavior for list action, but overall complete enough for an agent to use correctly.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for all 6 parameters. The description adds no extra detail beyond listing actions, so it does not improve parameter understanding 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?

    Clearly states 'Manage views inside a Bitable table' and enumerates three actions (list, create, delete). Differentiates from sibling tools like manage_bitable_field or manage_bitable_record by specifying the resource (views).

    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?

    Provides explicit actions and notes that update is not exposed in the Feishu API, advising to recreate with a new name to change. Offers clear context for when to use actions, though does not mention alternatives explicitly.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It discloses key constraints (only text, as bot, error for other types) but does not mention permissions, rate limits, irreversibility, or response format. It is adequate but could provide more context.

    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 a single, front-loaded sentence with no fluff. It efficiently conveys purpose, constraints, and error condition. Every word serves a purpose.

    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 simple 2-parameter tool with no output schema, the description covers core purpose and constraints. It lacks response details or comparison with siblings, but overall is fairly complete.

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

    Parameters3/5

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

    Schema coverage is 100%, with clear descriptions for both parameters. The description adds minimal extra meaning (bot context, text-only limit). Baseline 3 is appropriate as schema does the heavy lifting.

    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 clearly states the tool replies to a specific message by message_id, as a bot, and only works for text messages. This distinguishes it from siblings like send_message_as_bot (sends new message) or forward_message, and includes a specific constraint (only text).

    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 description implies usage for text messages only, with error 230054 for other types. However, it does not specify when not to use this tool or suggest alternatives (e.g., for non-text replies). The guidance is implied but not explicit.

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

  • Behavior3/5

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

    With no annotations, description indicates a write operation but lacks details on side effects (e.g., overwrite behavior), permissions, or size limits. Basic but not insufficient.

    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?

    Two concise sentences with front-loaded purpose; no wasted words.

    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?

    Given no output schema or annotations, description covers key output (file_key) and links to downstream usage. Missing details like file size limits or authentication, but acceptable for a straightforward upload.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline 3. Description adds no extra parameter meaning beyond what's already in 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?

    Description clearly states 'Upload a file to Feishu' with verb and resource, and distinguishes from sibling upload tools by specifying the return of file_key for use with send_file_as_user.

    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?

    No explicit guidance on when to use this tool versus alternatives like upload_drive_file or upload_image; the link to send_file_as_user provides implicit context but not enough.

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

  • Behavior3/5

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

    No annotations provided; the description adds context about Unix seconds for time range and typical usage, but does not disclose pagination behavior, rate limits, or limits on time range scope.

    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?

    Two succinct sentences that first state the core function and then provide a practical usage example. No wasted words, information is front-loaded.

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

    Completeness3/5

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

    With no output schema, the description lacks details on return value structure, pagination behavior, and sync token usage. It covers the workflow but misses completeness for a list tool with multiple optional parameters.

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

    Parameters3/5

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

    Schema description coverage is 100% (all parameters described in schema), baseline 3. The description adds slight extra meaning (e.g., Unix seconds, typical usage pattern) but does not significantly improve parameter understanding.

    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 clearly states 'List events in a calendar within an optional time range' and provides typical usage linking to list_calendars, differentiating it from sibling tools like get_calendar_event or create_calendar_event.

    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?

    The description gives a typical workflow (first list_calendars, then list events) and an example time range [now, now+7d], but does not explicitly state when not to use this tool (e.g., for a single event, use get_calendar_event).

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only states the tool lists OKRs and gives usage hints, but does not mention side effects, rate limits, authorization requirements (beyond needing an open_id), or if it is idempotent. This is insufficient for a read tool.

    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 two sentences, front-loading the purpose and then adding key requirements. Every sentence is necessary and concise, with no wasted words.

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

    Completeness3/5

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

    The description covers the core purpose and filtering but does not describe the response format or pagination behavior. Since there is no output schema, the agent is left guessing what fields are returned. Still, for a listing tool with 6 params, it is minimally adequate.

    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 description coverage is 100%, and the description adds value by explaining that user_id is the open_id and that period_ids can be obtained via list_okr_periods. This goes beyond the schema descriptions, providing actionable guidance.

    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 clearly states the tool lists a user's OKRs, specifies the required user identifier (open_id), and mentions filtering by period IDs. This distinguishes it from siblings like 'get_okrs' (likely for self) and 'list_okr_periods'.

    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?

    The description provides context on where to obtain the user's open_id (get_login_status or search_contacts) and how to filter by period_ids using list_okr_periods. It does not explicitly contrast with alternatives like get_okrs, but the context is clear.

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

  • Behavior3/5

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

    No annotations provided; description covers the three actions but lacks details on side effects, permissions, or limits of creating/copying apps. For a mutation tool, more behavioral context would be beneficial.

    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?

    Single sentence effectively summarizes the tool's actions and key parameter dependencies. Could be slightly more structured (e.g., bullet points) but remains concise and front-loaded.

    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?

    Given the 6 parameters and no output schema, the description provides sufficient context for the three distinct operations. It could mention return types or error scenarios, but is adequate for actionable use.

    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?

    Description adds value beyond schema by noting that folder_id is optional and ignored when wiki_space_id is set, and that app_token can be a native token, wiki node, or Feishu URL. With 100% schema coverage, this is a good addition.

    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?

    Description clearly states the tool manages a Bitable app and lists three specific actions (create, copy, get_meta), making its purpose distinct from sibling tools like manage_bitable_record or manage_bitable_table.

    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?

    Description lists actions and some parameter conditions (e.g., app_token required for copy/get_meta) but does not explicitly state when to use this tool versus alternatives, such as when to use manage_bitable_record for record-level operations.

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

  • Behavior3/5

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

    The description states that create/update/delete accept arrays up to 500 records, which is useful. However, with no annotations, it fails to disclose behavioral traits like idempotency, error handling, or required permissions. The description provides some transparency but is not thorough.

    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 short and front-loaded with the tool's purpose. Every sentence is informative and there is no redundant or unnecessary text.

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

    Completeness3/5

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

    Given the tool's complexity (9 parameters, nested objects, no output schema), the description covers the core actions and array limits but lacks details on return values, error handling, or prerequisites beyond what is in the schema. It is adequate but not fully complete.

    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 has 100% description coverage, so baseline is 3. The description adds value by specifying that create/update/delete accept arrays and the batch limit (up to 500). This provides context beyond the schema's individual parameter descriptions.

    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 clearly identifies the tool as managing records in a Bitable table and lists all possible actions (search, get, create, update, delete). This distinguishes it from sibling tools like manage_bitable_field or manage_bitable_table.

    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 description mentions the actions available but does not provide guidance on when to use each action or when to avoid this tool in favor of others. There is no explicit when-not or alternative tools mentioned, leaving the agent to infer usage context.

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

  • Behavior3/5

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

    With no annotations, the description must carry the full transparency burden. It discloses the API error behavior and the default parameter logic, adding value. However, it does not disclose idempotency, rate limits, or effects of duplicate requests, which are important for an agent to understand.

    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 two sentences with no wasted words. The purpose is front-loaded, and the critical usage note about parameter matching follows immediately. Every sentence adds value.

    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?

    The description covers the core functionality and a key error case. Given the schema is complete and no output schema exists, it provides sufficient context for an agent to use the tool. However, it could explicitly state that the tool supports adding or removing multiple members at once (implied by array parameter).

    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 has 100% description coverage, but the description adds essential context about the member_id_type mismatch error and explains why the default (open_id) may need override. This goes beyond the schema descriptions, providing practical guidance for correct usage.

    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 clearly states the tool adds or removes members from a group chat. It specifies the resource (group chat members) and the actions (add, remove). However, it does not explicitly mention that the operation can be performed in bulk via the member_ids array, which is a minor clarity gap.

    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?

    The description provides explicit guidance on a common error (code 9499) and recommends passing member_id_type explicitly when using union_id or user_id. This helps agents use the tool correctly. However, it does not mention when to use this tool versus alternative tools like list_members or manage_task_members.

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

  • Behavior3/5

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

    With no annotations, the description discloses the API origin, return values (file_token+url), and optional Wiki integration. However, it omits rate limits, authentication requirements, and file size constraints.

    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?

    Two concise sentences cover main upload and optional Wiki behavior. Includes technical details (API version, parent_type) that slightly reduce conciseness but remain efficient.

    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?

    Describes return values and optional Wiki behavior, compensating for missing output schema. Lacks error handling and file limits but is sufficiently complete for a straightforward upload tool.

    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%, but the description adds valuable context: 'folder_token' can be the personal space root token, and 'wiki_space_id' enables Wiki attachment. It also notes 'UAT-first with app fallback' for authentication order.

    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 clearly states the tool uploads a file to a Feishu Drive folder, including the API endpoint and optional Wiki attachment. It distinguishes from siblings like 'upload_file' and 'upload_image' by specifying the target and additional functionality.

    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 description implies usage for Drive folder uploads with optional Wiki attachment but does not explicitly contrast with similar tools like 'upload_file' or 'upload_bitable_attachment', nor provide when-not scenarios.

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

  • Behavior3/5

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

    States 'deep-copy' and 'duplicated' indicating non-destructive copy. No annotations, so description carries burden. Could disclose permissions or limits but adequate.

    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?

    Single concise sentence with 'Official API' prefix. No unnecessary text; every word adds value.

    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?

    No output schema, but operation is simple. Covers source, destination, and optional title. Could mention that parent tokens refer to wiki nodes, but context is sufficient.

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

    Parameters3/5

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

    Schema covers all 5 parameters with descriptions (100% coverage). Description adds no extra param info beyond 'deep-copy' context. Baseline 3 is appropriate.

    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?

    Clear verb 'deep-copy' and resource 'Wiki node', with destination scope. Distinguishes from move_wiki_node (move vs copy) and create_wiki_node (copy vs create) among siblings.

    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?

    Implies use when a duplicate is needed. Contrasts with move implicitly. Lacks explicit 'when not to use' but sufficient for typical scenarios.

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

  • Behavior3/5

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

    Without annotations, the description carries the burden of behavioral disclosure. It reveals a size constraint (payloads > 2 MiB require save_path) and implies the image is returned for the model to see, but does not specify the output format, authentication requirements, or side effects.

    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 concise, with three sentences that front-load the core purpose and then add key usage details. It avoids unnecessary fluff, though the 'UAT-first' part is unclear and could be removed.

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

    Completeness3/5

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

    The tool has 3 parameters, no output schema, and no annotations. The description does not specify the return value (e.g., binary data, file path) or error conditions. While it explains the size cap, it could be more complete regarding what the agent can expect after invocation.

    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 has 100% coverage, meaning each parameter has a description. The description adds value by explaining the origin of image_token (from get_doc_blocks), the purpose of doc_token (permission scoping), and the condition for save_path (payload > 2 MiB). This goes beyond the schema's own descriptions.

    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 clearly states the tool downloads an image embedded in a docx document, with a specific verb ('download') and resource ('image from docx'). It distinguishes itself from siblings like 'download_message_resource' by specifying the source (docx) and the context (get_doc_blocks).

    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?

    The description provides explicit instructions on how to use the tool: pass the image_token from get_doc_blocks and optionally the doc/wiki/URL token for permission scoping. It also mentions a size cap and required save_path. However, it does not explicitly state when not to use this tool or compare with alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the data returned but does not mention any side effects, auth needs, rate limits, or error handling, which is acceptable for a read-only tool but could be more thorough.

    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 a single, front-loaded sentence with no redundancy. The bracketed prefix adds context without clutter.

    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 batch-fetch tool with 3 self-documenting parameters and no output schema, the description covers the essentials (what is fetched, by what). It could mention pagination or error handling, but overall complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the input schema already documents all parameters. The description adds context like max 10 IDs and the source (list_user_okrs), but this is incremental; baseline 3 is appropriate.

    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 uses a specific verb ('batch-fetch') and resource ('full OKR details') and lists the included components (objectives, key results, progress, alignments), clearly distinguishing from sibling tools like list_user_okrs.

    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?

    The description implies usage when OKR IDs are available (e.g., from list_user_okrs) and specifies a batch operation, providing clear context for when to use this tool, but lacks explicit when-not or alternatives.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of disclosing behavioral traits. It explains the destructive delete action and the various create modes, but does not mention permissions, reversibility, rate limits, or return values. This leaves gaps in transparency for a complex tool.

    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 a numbered list for create modes, front-loading the main purpose. Each sentence adds value, though it could be slightly more concise. It avoids redundancy with the schema.

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

    Completeness3/5

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

    Given the tool's complexity (3 actions, 5 modes, 13 parameters) and no output schema, the description covers input usage well but lacks details on expected output, error handling, or prerequisites (e.g., authentication). This leaves the user guessing about the return format.

    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%, so baseline is 3. The description adds value by grouping parameters per action/mode (e.g., image_path only for create mode B) and explaining the relationship between parameters, which goes beyond the schema's individual descriptions.

    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 clearly states the tool manages content blocks in a document, listing three actions (create, update, delete) with five create modes, and notes it replaces three older tools. This provides a specific verb and resource, distinguishing it from siblings like get_doc_blocks or create_doc.

    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?

    The description gives explicit guidance on each action and mode, including required parameters (e.g., parent_block_id for create/delete, block_id for update). It does not explicitly state when not to use the tool, but the detailed action-mode breakdown makes usage clear. Could be improved by contrasting with get_doc_blocks for read-only operations.

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

  • Behavior5/5

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

    Despite no annotations, the description thoroughly discloses behavioral traits: returns newest first, auto-expands merge_forward messages, extracts URLs and Feishu doc links, and auto-falls back to UAT. It also notes defaults and optional disabling, providing full transparency for a read-only operation.

    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 a single coherent paragraph that front-loads the purpose and adds details. It is fairly concise with no fluff, though slightly dense. A more structured format could improve readability, but it remains effective.

    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?

    Without an output schema, the description covers key return details (ordering, sender names, merge expansion, URL extraction). It misses error handling or rate limits but is otherwise comprehensive for a read tool with well-documented parameters.

    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?

    All parameters are described in the schema, but the description adds value by explaining auto-searching for chat_id, default behavior for expand_merge_forward, and the parentMessageId context. This goes beyond the schema's field descriptions.

    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 clearly states it reads message history from any group, specifying accepted ID formats and auto-fallback behavior. It distinguishes from sibling tools like read_p2p_messages by focusing on group chats, but does not explicitly differentiate from other read tools.

    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 description implies this tool is for reading message history, with auto-fallback for external groups. However, it does not provide explicit when-not-to-use guidance or mention alternatives like read_p2p_messages for peer-to-peer chats.

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

  • Behavior3/5

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

    Without annotations, the description reveals key behaviors: returns newest first by default, auto-expands merge_forward messages, and notes how to use child message IDs. However, it omits details on rate limits, pagination, or error states, leaving gaps in full behavioral understanding.

    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 compact, covering purpose, usage context, ordering, default behavior, and requirements in a few sentences. It avoids redundancy but could be slightly more structured for easier scanning.

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

    Completeness3/5

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

    The description explains core functionality and parameter nuances, but lacks details on response format, pagination handling, or how to retrieve all messages beyond a single page. Given no output schema, more completeness would benefit the agent.

    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?

    Though schema coverage is 100%, the description adds value beyond field names and types. It explains that chat_id can be numeric or oc_xxx from different sources, and clarifies the expand_merge_forward parameter's purpose and follow-up usage with download_message_resource.

    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 clearly states 'Read P2P (direct message) chat history using user_access_token', specifying the action, resource, and auth method. It distinguishes itself from bot-accessible chats, implying a different use case from sibling tools like read_messages.

    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?

    The description explicitly notes that the tool works for chats the bot cannot access and requires OAuth setup. It provides clear context for when to use this tool, but does not explicitly state when to avoid it or mention alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses that only text and interactive messages are editable and that the bot can only edit its own messages. However, it omits details on error handling, rate limits, or authentication requirements, which are important for a mutation tool.

    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 a single sentence with a parenthetical clarification, efficiently conveying all necessary information with no wasted words.

    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?

    Given the lack of annotations and output schema, the description covers the essential purpose, constraints, and type limitations. It is mostly complete for a straightforward update tool, though it could mention potential error scenarios.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the parameters are already well-documented in the schema. The description reiterates the content format examples but does not add significant new meaning beyond what the schema provides.

    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?

    Description clearly states 'Edit a sent message' with the verb 'edit' and resource 'sent message'. It also specifies that the bot can only edit its own messages, setting clear boundaries. This distinguishes it from sibling tools like delete_message or reply_message.

    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?

    Description provides explicit context on when to use (editing sent messages) and when not (message types other than text or interactive will be rejected). It implies the bot's own message limitation but does not explicitly name alternatives like delete_message for non-editable types.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the API call and return value but omits details such as permission requirements, rate limits, or file size constraints. Some behavioral context is present but not comprehensive.

    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 two concise sentences with no filler. It front-loads the official API designation and then clearly states functionality and usage context.

    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?

    The description explains the return value and how to use it in Bitable record operations. Without an output schema, this is valuable. However, it lacks details on file limitations or asynchronous behavior, but overall is fairly complete for a simple upload tool.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema (e.g., mapping the 'kind' parameter to parent_type values). It does not significantly enhance parameter understanding.

    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 clearly states the tool uploads a file as a Bitable attachment, specifying the API and the returned file_token. It distinguishes from sibling upload tools by its Bitable-specific context and the intended use for attachment fields.

    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?

    It explicitly states the result (file_token) and when it's suitable (for writing into Bitable Attachment fields). While it doesn't list alternatives, the purpose is clear enough to guide usage.

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

  • Behavior4/5

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

    Describes sequential dispatch with anti-rate-limit delay and per-target success/error reporting. Also clarifies identity source. No annotations exist, so the description carries the full burden and meets it well, though it could mention partial failure behavior more explicitly.

    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?

    Three sentences, efficient and front-loaded with purpose. Could be more structured but no unnecessary content.

    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?

    Covers behavioral aspects like sequential sending, delay, and per-target reporting. No output schema exists, but description hints at return structure. Lacks explicit limits or total time, but adequate for a batch tool of moderate complexity.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline 3. The description reiterates the via='bot' routing already in the schema description but adds no significant new semantic meaning beyond what the schema provides.

    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 clearly states the tool sends content to multiple targets in one call, distinguishing it from single-target siblings like send_to_user and send_to_group. The verb 'send' and resource 'multiple targets' are explicit.

    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?

    Explicitly says 'Use for broadcast / fan-out scenarios' and mentions identity handling (cookie user vs bot). It implies when to use but does not explicitly state when not to use or provide alternatives, though the sibling set makes this clear.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears the full burden. It discloses the dual behavior (drive creation + wiki attachment), but lacks details on return values, error conditions, authorization requirements, or side effects.

    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 two sentences, concise and front-loaded with the authoritative 'Official API' marker. Every sentence provides essential information without redundancy.

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

    Completeness3/5

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

    Given 4 parameters, no output schema, and no annotations, the description covers the main workflow and parameter usage but omits details about the return value (e.g., doc token) and prerequisites. It is adequate but leaves gaps in the overall picture.

    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 description adds meaning beyond the schema by clarifying the relationship between folder_id and wiki_space_id (folder_id ignored when wiki_space_id is set) and explaining wiki_parent_node_token for nested placement. Schema coverage is 100%, but the description enriches the context.

    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 clearly states the verb 'Create' and the resource 'Feishu document', and distinguishes from siblings by explaining the optional wiki placement. It specifies that the doc is created in drive and attached as a Wiki node, differentiating from tools like create_wiki_node.

    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?

    The description explains when to use wiki parameters for placement in a Wiki space, providing clear context. However, it does not explicitly state when not to use this tool or mention alternative tools for other doc-related operations.

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

  • Behavior4/5

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

    The description clearly states this is a retrieval operation ('Get details') and lists the output fields, indicating no destructive side effects. However, it does not explicitly declare the tool as read-only or mention any prerequisites (e.g., access permissions), which would be helpful given the lack of annotations.

    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 a single, front-loaded sentence that immediately conveys the purpose and scope. It efficiently includes environment notes and a list of returned details without redundancy.

    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 simple retrieval tool with no output schema, the description sufficiently explains what will be returned by listing the major fields. No critical information is missing given the tool's straightforward nature.

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

    Parameters3/5

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

    The input schema already describes both parameters (calendar_id and event_id) with 100% coverage. The description adds context by noting that event_id comes from list_calendar_events, but does not elaborate further on parameter semantics. This meets the baseline for high schema coverage.

    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 clearly specifies the tool's action: 'Get full details of a single calendar event'. It enumerates the included fields (summary, description, start/end, attendees, location, attachments, meeting link), distinguishing it from sibling tools like list_calendar_events (which returns multiple events with less detail) and create/update/delete variants.

    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 description implies usage for retrieving full event details but lacks explicit guidance on when to prefer this over siblings like list_calendar_events or update_calendar_event. No exclusion criteria or alternatives are mentioned, leaving the agent to infer usage context.

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

  • Behavior3/5

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

    Discloses session refresh side effect, but lacks details on return value or implications of the check. No annotations to supplement, so description only partially fulfills transparency.

    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?

    Two concise sentences, front-loaded with main purpose, no extraneous information. Every word earns its place.

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

    Completeness3/5

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

    Adequate for a parameterless tool, but lacks response format or behavioral implications. Additional context on typical use or safety would improve completeness.

    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?

    No parameters defined; schema coverage is 100%. Baseline score of 4 applies as description adds no parameter semantics but none are needed.

    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?

    Clearly states it checks cookie session validity and app credentials status, with an additional refresh action. Unambiguous verb-resource pairing, distinct from sibling tools.

    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?

    Explicitly describes the tool's purpose and mentions session refresh, providing clear context for use. No alternative tools or when-not-to-use guidance, but purpose is sufficiently clear.

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

  • Behavior3/5

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

    Without annotations, the description carries the full burden. It discloses the API quirk about update requiring type, but does not mention authentication needs, rate limits, or side effects. Behavioral transparency is adequate but not rich.

    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 a single sentence with a parenthetical note, which is very concise. However, the structure could be improved (e.g., bullet points for actions) to enhance scanability.

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

    Completeness3/5

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

    The description covers the main purpose and a behavioral note, but does not explain return values for each action. Given the tool has 7 parameters and 4 actions, more context (e.g., what each action returns) would improve completeness.

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

    Parameters5/5

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

    Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining that app_token accepts various formats, enumerating field type numbers, and giving an example for SingleSelect property. This goes well beyond the schema descriptions.

    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 clearly states it manages fields (columns) inside a Bitable table with four specific actions (list, create, update, delete). This directly distinguishes it from sibling tools like manage_bitable_record or manage_bitable_table.

    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?

    The description provides a critical usage note: Feishu requires 'type' even when only renaming during update. This is explicit guidance for a specific scenario. However, it lacks general guidance on when to use this tool vs alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions scope (same space vs different) and parameter requirements, but does not disclose potential side effects on children, permissions, or revision history.

    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 two sentences, front-loaded with the purpose, and contains no wasted words. Every sentence is necessary.

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

    Completeness3/5

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

    With 4 parameters, no output schema, and no annotations, the description is adequate but not rich. It covers the core intent but omits return value, error scenarios, and behavioral details beyond what is absolutely necessary.

    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 has 100% description coverage, so the schema already documents each parameter. The description adds valuable semantic constraint: 'Pass at least one of target_parent_token / target_space_id'.

    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 clearly states the action (move) and the resource (Wiki node), specifying the two possible destinations (different parent within same space or different space). It distinguishes from siblings like copy_wiki_node or delete_wiki_node.

    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?

    The description provides guidance on which parameters to include ('Pass at least one of target_parent_token / target_space_id'), helping agents use the tool correctly. However, it does not explicitly contrast with alternatives when to move vs copy.

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

  • Behavior4/5

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

    Discloses internal wire format and auto-deriving of display sizing; no annotations present, so description carries burden. Doesn't cover permissions or error cases, but adds technical detail beyond schema.

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

    Conciseness3/5

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

    Three sentences with version header; front-loaded with identity but includes internal details. Could be trimmed slightly without losing meaning.

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

    Completeness3/5

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

    No output schema, and description does not mention return values or success/error indicators. Adequate for usage but missing post-call behavior.

    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?

    Adds context: chat_id numeric preferred, thumbnail defaults to image_key, width/height/mime/size optional metadata. All parameters have schema descriptions, but description enriches them.

    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 clearly states 'Send an image as the logged-in user (NOT bot)' with specific verb and resource, and distinguishes from sending messages as bot or other file types.

    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?

    Explicitly requires image_key from a prior upload_image call, and explains thumbnail key defaulting. Does not explicitly list when not to use, but context implies user vs bot distinction via sibling tool names.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavior. It mentions auto-wrapping of content_text and defaults for source_title and source_url. However, it does not cover side effects, authentication needs, or error handling, leaving some gaps for a parameter-heavy tool.

    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 two sentences, the first stating the purpose and the second explaining requirements and options. It is concise and front-loaded with essential information, with no unnecessary words.

    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?

    Given the tool has 11 parameters and no output schema, the description covers the key points: purpose, required params, Feishu requirements, and the simple vs rich content distinction. It could mention return values or error handling, but overall it is fairly complete for the complexity.

    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 description coverage is 100%, so the baseline is 3. The description adds value by explaining Feishu requirements (source_title, source_url, block-structured content) and the auto-wrapping behavior for content_text, which goes beyond the schema descriptions.

    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 clearly states the tool adds a progress note to an OKR objective or key result. It distinguishes itself from sibling tools like delete_okr_progress_record and list_okr_progress_records by explicitly saying 'Add a progress note'.

    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?

    The description provides when to use the tool and gives instructions for required fields and auto-wrapping. It also advises using the `content` parameter for richer formatting. However, it does not explicitly state when not to use this tool versus alternatives, though the context is clear.

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

  • Behavior4/5

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

    No annotations provided, so description must disclose behavior. It does so by stating the deletion action and the ownership restriction. Could add more detail on reversibility or effects, but the key behavioral trait is covered.

    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?

    Single sentence with no extraneous information. Every word serves a purpose, explicit about identity (official API) and the constraint.

    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 simple one-parameter tool with no output schema, the description is adequate. It explains the action and the key limitation. Could mention return value or consequences, but not necessary for basic usage.

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

    Parameters3/5

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

    Schema has 100% coverage with description 'Message ID (om_xxx)', so baseline is 3. The tool description adds no additional parameter meaning beyond what the schema provides.

    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?

    Description clearly states verb 'delete' and resource 'message', with additional constraint 'bot can only delete its own messages', distinguishing it from sibling delete tools like delete_task or delete_reaction.

    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?

    Explicitly states when to use (delete a message) and includes the limitation that bot can only delete its own messages, implying when not to use. However, no explicit alternatives or when-not scenarios are mentioned beyond the constraint.

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

  • Behavior4/5

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

    With no annotations, the description discloses behavioral traits: actions return task_id for move/delete, type field is required with specific error codes. This provides useful transparency, though it could mention if operations are synchronous or destructive.

    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 concise, front-loaded with purpose, then breaks down actions in one sentence each. Every word adds value—no fluff.

    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?

    Given no output schema, the description describes return values for move/delete (task_id) but omits copy's return. It covers required fields and error conditions, satisfying most contextual needs for a 5-param tool.

    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%, but the description adds context beyond enum labels: explains why type is always required (Feishu API table), and clarifies parameter conditions (name required for copy, folder_token for move).

    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 clearly states the tool manages Drive files with three specific actions (copy, move, delete), each with a brief explanation. This distinguishes it from sibling tools like upload_drive_file or delete_calendar_event.

    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 description provides important requirements (type is always required) and error codes, but lacks explicit guidance on when to use this tool versus alternatives like move_wiki_node or create_doc. Usage is implied but not contrasted.

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behaviors. It explains the tool manages a cache for auto-switch middleware and gives an example of staleness. However, it does not detail side effects (e.g., impact on routing) or permissions needed. It provides moderate transparency.

    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?

    Two sentences: first explains what it does and the underlying data structure, second gives usage guidance. No wasted words, front-loaded with the most important information.

    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?

    Given no output schema and moderate complexity (3 params, no nested objects), the description covers purpose, when to use, and basic parameter roles. It could mention error cases or what happens after clearing, but it is sufficiently complete for a cache management tool.

    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?

    Input schema covers all three parameters with descriptions (100% coverage). The description adds value by explaining the 'resourceKey → profileName' mapping and the concept of hints, which goes 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 clearly states the tool inspects, sets, or clears profileHints, which is a specific cache. It explicitly names the resource (resourceKey → profileName cache) and the verb (inspect/set/clear). No sibling tool has a similar purpose, so it is well-differentiated.

    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?

    The description gives a clear use case: 'Useful when a hint goes stale (e.g., a profile lost access to a doc).' It does not explicitly state when not to use or list alternatives, but the context is clear enough for agents to decide.

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

  • Behavior3/5

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

    With no annotations, the description bears full behavioral transparency burden. It accurately describes the sending action and the @-mention resolution behavior, but omits details on permissions, rate limits, or whether the bot must be in the chat. Adequate but not exhaustive.

    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?

    Two sentences with zero wasted words. The critical @-mention guidance is front-loaded after the general purpose, making it scanable. Every sentence earns its place.

    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?

    Given no output schema and a relatively simple send action, the description covers the essential information: what it does, where it sends, and the key nuance of @-mentions. It is complete enough for an agent to invoke 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%, so baseline is 3. The description adds value by explaining the content parameter's auto-serialization and providing a clear example of @-mention syntax with inline <at> tags, going beyond the schema's basic description.

    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 clearly states the tool sends a message as the bot to any chat, supporting various message types (text, post, interactive, etc.) and highlights the key @-mention behavior. This verb+resource+specialty distinguishes it from sibling tools like send_as_user or send_card_as_bot.

    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?

    The description explicitly positions this as the reliable path for @-mentions, implying it should be used over alternatives when @-mentions are needed. However, it does not provide explicit when-not-to-use instructions or compare directly with other send tools.

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

  • Behavior4/5

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

    With no annotations, the description provides key behavioral details: uses Date.now() for completion, sets completed_at to '0' for uncompletion. This goes beyond the schema. However, it omits potential side effects (e.g., notifications) or error conditions, but for a simple wrapper it's adequate.

    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?

    Two concise sentences, front-loaded with API context, no redundancy. Every sentence serves a purpose: identifying the tool and clarifying the boolean parameter behavior.

    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?

    Given the simplicity of the tool (no output schema, two simple params, no annotations), the description is complete. It covers the essential behavior, default, and relationship to update_task. No significant gaps remain.

    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 descriptions already cover parameters, but the description adds value by explaining the behavior of true ('uses Date.now()') and false ('sets completed_at to "0"'), and defaults. This enhances understanding beyond the schema's basic descriptions.

    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?

    Clearly states the verb ('mark a task complete or uncomplete') and resource ('task'), and distinguishes itself as a convenience wrapper around update_task. The purpose is unambiguous.

    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 description implies usage for toggling completion status but does not explicitly state when to use versus alternatives like update_task. No exclusions or when-not-to-use guidance is provided.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses the data source (file and env var) and that it marks the active profile, providing good transparency. Could mention that it is read-only and non-destructive.

    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 concise sentences, front-loaded with purpose, technical details, and a note about active profile. No unnecessary words.

    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 no-parameter, read-only list tool, the description is complete. It explains what it does, where data comes from, and that it identifies the active profile. Return format is implicitly a list of profiles with the mentioned fields.

    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?

    No parameters, so baseline is 4. Description adds context about data sources and marking active profile, which is helpful beyond the empty 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?

    Clearly states it lists all available identity profiles, specifying the credentials each profile has. Distinguishes from siblings like switch_profile and manage_profile_hints.

    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?

    Does not explicitly state when to use this tool versus alternatives. The description implies listing profiles for selection, but lacks explicit guidance on when not to use or comparisons with siblings.

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

  • Behavior4/5

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

    Describes key behaviors: reads as Markdown, accepts multiple ID formats, and handles embedded images/files as placeholders with a note to call another tool. Without annotations, this adds sufficient transparency for safe usage.

    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 concise sentences with front-loaded main purpose. No redundant information; each sentence adds value.

    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 read operation with one parameter and no output schema, the description covers output format, input variations, and side effects (image placeholders). No gaps identified.

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

    Parameters3/5

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

    The description of document_id adds no new meaning beyond the input schema, which already describes it thoroughly. Baseline score of 3 applies given 100% schema coverage.

    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?

    Clearly states the tool reads a Feishu doc as Markdown, contrasting with get_doc_blocks JSON. It specifies the use case (RAG/digest/summarisation) and token savings, making the purpose distinct and actionable.

    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?

    Provides context for when to use (Markdown vs JSON) and token savings, and lists accepted input types. However, it doesn't explicitly state when not to use or exclude alternatives like get_doc_blocks, though the contrast implies it.

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

  • Behavior4/5

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

    No annotations provided, so the description carries full burden. It discloses the bot-only nature, the disabled user-identity path, and version requirement. It does not mention side effects or return behavior, but the mutation intent is clear and non-destructive.

    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 relatively concise with two sentences, though it includes some technical detail (e.g., script reference). It front-loads the key purpose and version requirement, making it efficient.

    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 simple send action, the description covers input format, identity constraints, and version info. It does not describe output or error handling, but with no output schema, this is acceptable. It is sufficient for an agent to use the 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 description adds value by specifying that 'card' must be a JSON object following Feishu card schema with a link, and that 'chat_id' can be oc_xxx or open_id. This goes beyond the schema description.

    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 explicitly states the tool sends an interactive Feishu card via bot identity, with clear verb and resource. It differentiates from siblings by noting the 'as_user' suffix is historical and the tool always routes through bot.

    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?

    The description clearly indicates bot-only usage and explains the historical naming, implying when to use this tool (for card sending with bot identity) and when not to (if user identity needed). It lacks explicit alternatives but provides sufficient context.

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

  • Behavior4/5

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

    With no annotations, the description takes full burden. It discloses atomic writes, cache invalidation, and cross-process sync. It does not mention potential failures or permissions, but the behavioral traits are well covered.

    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 concise with three sentences, but includes setup instructions that are tangential to the tool's immediate action. The key point is front-loaded, making it mostly efficient.

    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?

    Given the tool's simplicity and the lack of output schema, the description covers input semantics, behavioral details, and prerequisites. It does not specify return values or error states, but overall it is complete enough for a profile switch tool.

    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 describes the 'name' parameter with 100% coverage. The description adds value by explaining that 'default' is for the primary profile and that other names come from credentials.json or LARK_PROFILES_JSON, enriching the meaning.

    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 clearly states 'Switch the active identity profile,' using a specific verb and resource. It distinguishes itself from sibling tools like list_profiles by detailing the atomic write and caching behavior.

    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?

    The description explains when to use this tool, including the prerequisites ('To add a new profile, run...') and the context of auto-sync. It does not explicitly list alternatives or when not to use, but the context is sufficiently clear.

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

  • Behavior4/5

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

    As no annotations are provided, the description carries the full burden. It discloses important behavioral traits such as authentication requirements, authorization scope, and the fact that app identity only sees calendars it was invited to.

    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 consists of two concise sentences that front-load the tool's purpose and essential usage constraints. Every sentence adds value, with no redundancy or unnecessary words.

    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?

    Given no output schema, the description adequately explains what the tool returns ('calendars list') and covers pagination. It could be slightly improved by mentioning the response structure, but is sufficiently complete for a list tool.

    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 has 100% description coverage for all three parameters. The description adds extra context by noting that 'page_size' must be at least 50 due to Feishu's endpoint rejection, which goes 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 clearly states 'List the current user's calendars (primary + shared + subscribed)' with a specific verb and resource scope, distinguishing it from sibling tools like 'list_calendar_events'.

    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?

    The description provides explicit context about required authentication (UAT, app identity limitations) and OAuth scope, giving clear guidance on when the tool can be used. However, it does not explicitly state when to avoid using it or mention alternatives.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It discloses the internal mechanism (calls get_okrs and walks lists) and the limitation that full content is not available. However, it does not discuss error handling (e.g., invalid OKR) or return format details, which would improve transparency.

    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 two sentences long, front-loading the purpose, followed by technical details. No unnecessary words or repetition, making it efficient and easy to parse.

    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?

    Given the simple parameters and lack of output schema, the description provides a clear purpose and internal logic. It mentions the output (IDs with target_id and target_type) but does not fully specify the return structure (e.g., list, pagination). Sufficient for a tool of this complexity.

    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 has 100% coverage with basic descriptions. The tool description adds value by explaining the okr_id source (from list_user_okrs) and that user_id_type is a pass-through to get_okrs, providing context 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 clearly states the tool lists progress records for an OKR, with a specific verb and resource. It distinguishes itself from siblings like get_okrs and create_okr_progress_record by explaining it is a workaround due to the lack of a native endpoint, and it extracts only IDs, not full content.

    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?

    The description implies when to use this tool by noting it extracts IDs and that full content requires progressRecord.get, which is not yet wrapped. This provides useful context but lacks explicit when-to-use or when-not-to-use statements compared to alternatives like get_okrs.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses behavioral traits: actions that require ownership, potential side effects (restart WS, rotate events.jsonl, re-read credentials), and the ability to steal an active lock via force=true. This covers important behaviors beyond the schema, though it omits error handling or auth details beyond owner-only status.

    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 a single sentence with a list, front-loaded with version and purpose. Every word is functional; no fluff. The structured list of actions makes scanning easy. This is an excellent example of concise, informative documentation.

    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?

    Given the lack of annotations and output schema, the description provides sufficient context for using the tool: it explains each action, flags ownership requirements, and notes side effects. However, it does not describe return values or error conditions, which would be helpful for a tool with multiple permission-sensitive actions. Still, it covers the most critical aspects.

    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 schema has 50% coverage (force parameter described). The description compensates by explaining each action enum value: info = status dump, reconnect = restart WS, claim = try become owner, rotate = force rotation, reconfig = re-read credentials. For the force parameter, the description matches the schema. Overall, the description adds meaningful context beyond the enum listing.

    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 clearly states the tool's purpose: 'Inspect or control the machine-level WS owner.' It then lists five specific actions (info, reconnect, claim, rotate, reconfig) with brief explanations. This provides a distinct and precise purpose that differentiates it from sibling tools, which are mostly CRUD for entities like messages, documents, and tasks.

    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?

    The description indicates when to use each action and notes ownership restrictions ('owner-only' for reconnect, rotate, reconfig; force flag for claim). However, it does not explicitly state when to prefer this tool over alternatives. Given no obviously similar sibling tools, the guidance is adequate but could be more explicit about prerequisites and contexts.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses that the call uses raw REST, the UAT-first and bot fallback behavior, and the critical fact that the drive resource is unaffected.

    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?

    Multiple sentences but each adds value; front-loaded with main purpose. Slightly longer than necessary but still well-structured.

    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 delete operation with no output schema, the description covers the key behavioral aspects and follow-up steps. Could mention expected response, but sufficient for agent decision-making.

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

    Parameters3/5

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

    Input schema has 100% coverage, so baseline 3. The description does not add further meaning to the parameters beyond what the schema provides.

    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?

    Clearly states the tool deletes a Wiki node, specifies the HTTP endpoint, and importantly distinguishes that the underlying drive resource is NOT deleted, differentiating from sibling tools like manage_drive_file.

    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?

    Explicitly tells the agent that the underlying resource is not deleted and provides explicit follow-up instructions using manage_drive_file, offering a clear when-to-use and alternative.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses input flexibility, fallback mechanism, and return values. It implies a read-only operation but does not detail auth or rate limits, nor explicitly state side-effect-free behavior. Still, it provides substantial behavioral context.

    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 two sentences, front-loaded with the primary purpose, and every phrase adds value. No redundancy or irrelevant details.

    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 one-parameter tool with no output schema, the description explains return values and input flexibility. It lacks error handling or prerequisites, but is largely complete for typical usage.

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

    Parameters5/5

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

    Schema coverage is 100% but the description adds rich semantics: accepted token formats, fallback to synthesized node-shape, and the ability to accept URLs. This significantly enhances understanding beyond the schema's minimal description.

    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 clearly states the tool resolves a wiki node token to its underlying object (docx, bitable, etc.), specific verb and resource, and includes return fields (obj_type, obj_token, space_id). This distinguishes it from sibling tools like list_wiki_nodes or search_wiki.

    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?

    The description explains the various input formats accepted (bare token, obj_token, URL) and the fallback behavior, giving clear context on when to use it. However, it does not explicitly state when not to use it or mention alternatives like search_wiki.

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

  • Behavior4/5

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

    Discloses key behavioral traits: only returns groups, requires OAuth. With no annotations, this adds value, though could mention pagination behavior or error cases. Still good for a list tool.

    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 concise sentences, front-loaded with purpose, then scope clarification, then usage guidance. Every sentence adds value without redundancy.

    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 simple list tool with no output schema, description sufficiently covers purpose, scope, prerequisites, and alternatives. No gaps identified.

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

    Parameters3/5

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

    Schema covers 100% of parameters with descriptions, so description adds no extra meaning beyond the input schema. Baseline 3 is appropriate.

    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?

    Description clearly states the tool lists group chats the user is in, and specifies it only returns groups, not P2P. This differentiates it from sibling tools like list_chats or P2P-related tools.

    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?

    Provides explicit alternative workflow for P2P chats and mentions OAuth setup requirement, guiding the agent on when to use this tool vs. alternatives.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses that only title is updatable via this API and points to other tools for content editing, adding significant behavioral context beyond a simple 'update'.

    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?

    Single sentence, efficient and front-loaded with '[Official API]', zero wasted words.

    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?

    Given simple parameters and no output schema, description is nearly complete. Could mention response behavior, but the essential information is provided.

    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?

    Input schema covers all 3 parameters with descriptions. Description adds meaning by stating that only title is updatable, reinforcing the role of space_id and node_token as identifiers.

    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?

    Description clearly states the verb 'Rename' and resource 'Wiki node', specifies that only title is updatable, and distinguishes it from sibling tools like create, delete, move, copy wiki nodes.

    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?

    Explicitly says when to use (rename a wiki node) and when not to (for content editing, use docx/bitable/sheet tools), providing clear alternatives.

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

  • Behavior5/5

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

    Discloses behavioral traits: images get inline content block, files get base64 truncated + optional save_path write, size cap rationale, and merge_forward quirk. No annotations provided, so description fully covers transparency.

    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?

    Well-structured with purpose first, then details, then warnings. Slightly long but every sentence earned its place; no redundancy.

    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?

    Complete for a complex tool: covers image vs file handling, size cap, merge_forward edge case. No output schema but return behavior is described (inline image block, base64, save_path).

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

    Parameters5/5

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

    Adds meaning beyond schema: explains message_id for merge_forward, key format (img_xxx vs file_key), save_path requirement when >2 MiB. Schema coverage is 100%, but description enriches context.

    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?

    Clearly states it downloads an image or file attached to a message, with specific references to 'see / store it'. Distinguishes from sibling 'download_doc_image' by focusing on message attachments.

    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?

    Provides explicit guidance: when to use (model needs to see/store), size cap (>2 MiB requires save_path), merge_forward children use parentMessageId, and fallback behavior ('UAT-first, falls back to app').

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

feishu-user-plugin MCP server

Copy to your README.md:

Score Badge

feishu-user-plugin MCP server

Copy to your README.md:

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/EthanQC/feishu-user-plugin'

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