Skip to main content
Glama

Server Quality Checklist

50%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.7.3

  • Disambiguation3/5

    Several tools have overlapping purposes, such as multiple append tools (append_blocks, append_markdown, append_page_content, append_text) and multiple create page tools (create_markdown_page, create_page, create_quick_note, save_page). While descriptions help differentiate, an agent may still struggle to select the correct one.

    Naming Consistency5/5

    All tools follow the consistent pattern 'appflowy_verb_noun' in snake_case, making the naming predictable and easy to navigate.

    Tool Count2/5

    With 68 tools, the count far exceeds the 25+ threshold for 'too many.' Although AppFlowy is a full workspace management system, the sheer number can overwhelm agents and increases the likelihood of misselection.

    Completeness5/5

    The tool set covers the full lifecycle of pages, spaces, workspaces, databases, chats, invitations, search, trash, and file uploads. There are no obvious gaps; all core operations are represented.

  • Average 3.1/5 across 68 of 68 tools scored. Lowest: 2.3/5.

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

    • 0 of 1 community issues answered or closed in the last 6 months
    • 14 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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?

    With no annotations, the description carries the burden. It fails to explain behavior such as error handling, permission requirements, or the effect of the 'with_doc' parameter. The agent cannot anticipate side effects or constraints.

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

    Conciseness2/5

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

    The description is extremely short, which sacrifices necessary information. While concise in word count, it is under-specified and does not earn its place by providing adequate guidance.

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

    Completeness1/5

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

    Given the tool has 4 parameters, no schema coverage, and no output schema, the description is severely inadequate. It fails to cover essential context like return structure, parameter formats, or use cases.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description provides no parameter explanations. Even the key parameter 'row_ids' is only implicitly mentioned. 'workspace_id', 'database_id', and 'with_doc' are not described at all.

    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 states the verb 'Get details' and resource 'rows' with a specific criterion 'by IDs', which clearly differentiates from sibling tools like appflowy_list_rows or appflowy_get_updated_rows. However, it does not elaborate on what 'details' include.

    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 versus alternatives, nor does it mention prerequisites or fallback strategies.

    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 does not disclose whether deletion is permanent, reversible, or if there are any side effects like cascading deletes. For a destructive operation, 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.

    Conciseness3/5

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

    The description is very concise (one sentence), but it lacks essential details. Conciseness should not come at the expense of completeness; here, it is under-specified.

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

    Completeness1/5

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

    With no output schema, no parameter descriptions, and no behavioral notes, the description is critically incomplete. An agent cannot determine return values, error cases, or the full impact of calling this tool.

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

    Parameters1/5

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

    Schema coverage is 0% (no descriptions in input schema). The description does not explain what 'workspace_id' or 'chat_id' represent, leaving the agent with no semantic guidance beyond parameter names.

    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 'Delete an AI chat' clearly states the action and resource, but is somewhat tautological as it largely repeats the tool name. Among siblings, it is sufficiently distinct 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 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., deleting a page or workspace). No context about prerequisites or side effects.

    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 are provided, and the description does not disclose any behavioral traits such as side effects, authentication requirements, rate limits, or return format. It only states the purpose without 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.

    Conciseness3/5

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

    The description is a single sentence, which is concise, but it lacks necessary detail. It sacrifices informativeness for brevity, making it minimally adequate.

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

    Completeness1/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 explain return values but only offers vague 'page view details and collab data'. With 0% parameter coverage and many sibling tools, the description fails to provide complete context.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no meaning beyond the parameter names ('workspace_id', 'page_id'). The description does not explain what values are expected or how they affect the operation.

    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 retrieves page view details and collab data, with a specific verb ('Get') and resource ('page'). This distinguishes it from sibling tools like appflowy_create_page or appflowy_update_page.

    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. It does not mention when to prefer this over appflowy_get_workspace_folder or other read tools, nor any prerequisites or exclusions.

    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?

    With no annotations provided, the description carries full burden. It fails to disclose behavioral traits such as read-only nature, required permissions, error handling for invalid workspace_id, or any 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 is very concise (one sentence), but it lacks necessary detail for a tool with a single required parameter and no other documentation.

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

    Completeness1/5

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

    Given the absence of output schema, parameter descriptions, and annotations, the description is far from complete. It does not cover return format, pagination, or behavior under various conditions.

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

    Parameters1/5

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

    The parameter workspace_id has no description in the schema (0% coverage) and the tool description does not explain what it is or how to obtain it. The description adds no meaning beyond the parameter name.

    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 the resource 'members of a workspace', and specifies what information is returned ('their roles'). This distinguishes it from sibling tools like appflowy_remove_members or appflowy_invite_members.

    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 given on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or how it differs from other listing tools like appflowy_list_spaces.

    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, and the description only states the action. It does not disclose behavioral traits such as whether the operation is reversible, required permissions, or side effects like how pages are restored (e.g., to original location).

    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 a single sentence, which is concise but too brief. It sacrifices completeness for brevity, omitting important details about parameters and usage. Could be expanded 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?

    For a simple tool with one required parameter and no output schema, the description should still explain what happens when pages are restored and how the workspace_id is used. It lacks this information, making it insufficient for an agent to use confidently.

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

    Parameters1/5

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

    The input schema has one parameter (workspace_id) with no description (0% coverage). The description does not provide any meaning or context for this parameter beyond the tool's purpose. The agent gets no help understanding what value to provide.

    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 ('Restore all trashed pages') and the resource ('in a workspace'). It distinguishes from sibling tools like 'appflowy_restore_page_from_trash' (single page) and 'appflowy_empty_trash' (permanent deletion). However, it could be more specific about what 'restore' entails (e.g., restoring to original location).

    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 versus alternatives like 'appflowy_restore_page_from_trash' or 'appflowy_empty_trash'. The description does not mention any conditions or prerequisites.

    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 convey behavioral traits. It only states the upsert operation but does not disclose that it modifies data, whether it is idempotent, or what happens on conflict. 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?

    The description is a single concise sentence, front-loading the core action. However, it is too brief and sacrifices necessary detail.

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

    Completeness1/5

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

    Given the absence of annotations, output schema, and parameter explanations, the description fails to provide a complete understanding of the tool's usage. The nested request object is left unexplained.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any parameters. The agent receives no help understanding workspace_id, database_id, or the request object with pre_hash, cells, and document.

    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 performs an upsert operation on a row, combining update and create. However, it does not differentiate from sibling tools like appflowy_create_row, which also creates rows, and it does not mention how it identifies existing rows (likely via pre_hash).

    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 such as appflowy_create_row for only creation or appflowy_get_row_details for reading. The description lacks context about prerequisites or scenarios.

    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. It only says 'append to the end of a page,' but does not disclose whether the operation is destructive, what happens to existing content, authentication needs, or other behavioral traits.

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

    Conciseness2/5

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

    While the description is brief (one sentence), it is under-specified for a tool with nested parameters. It sacrifices necessary detail for brevity, leaving the agent without crucial information.

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

    Completeness1/5

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

    Given the complexity of the input schema (nested object, array of arbitrary objects), no output schema, and no annotations, the description is wholly inadequate. It fails to specify return values, error handling, block format, or how to use the tool effectively.

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

    Parameters1/5

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

    The input schema has 0% description coverage, and the description does not explain any parameter. workspace_id and page_id may be self-explanatory, but the core parameter 'request.blocks' (an array of objects) is left completely undefined; the agent has no idea what constitutes a 'raw AppFlowy document block'.

    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 appends raw AppFlowy document blocks to the end of a page. The verb 'append' and resource 'blocks' are specific, and it distinguishes from sibling tools that append markdown, text, or other content (e.g., appflowy_append_markdown_to_page).

    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 the several other append tools (e.g., markdown, text, page content). It does not mention prerequisites, limitations, or alternatives.

    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?

    The description states a delete operation but does not disclose any behavioral traits such as permanence, authorization needs, or cascading effects. Since no annotations exist, the description fails to compensate.

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

    Conciseness2/5

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

    The description is extremely short (4 words), but it is under-specified rather than concisely informative. It adds no value beyond the tool name, failing to earn its place.

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

    Completeness1/5

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

    Given no output schema, no annotations, and 0% schema coverage, the description is wholly incomplete. It omits return values, side effects, and any operational context, resulting in a severe deficit for a delete operation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the tool description adds no meaning beyond the parameter names. The agent gains no insight into the purpose or constraints of workspace_id or quick_note_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 'Delete a quick note' is very specific: it identifies the action (delete) and the resource (quick note). It clearly distinguishes from sibling tools like create and update.

    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 versus alternatives, no prerequisites, no restrictions. The agent is left without context for appropriate invocation.

    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 only states basic purpose. Does not disclose read-only nature, side effects, rate limits, or auth requirements.

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

    Conciseness2/5

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

    Extremely short but under-specified. Lacks critical details such as output format or error conditions; not appropriately sized for the tool's complexity.

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

    Completeness1/5

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

    With one required param, no output schema, and no annotations, the description fails to provide adequate context. Does not describe return value, pagination, or prerequisites.

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

    Parameters1/5

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

    Single parameter workspace_id has no description in schema (0% coverage). Description adds no meaning beyond its name; does not explain what it is or how to obtain 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?

    Description clearly states the verb 'list', resource 'published pages', and scope 'in a workspace'. It distinguishes from sibling tools like appflowy_list_workspaces and appflowy_list_favorites.

    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. Does not specify prerequisites, limitations, or when not to use.

    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 only states the action without explaining consequences (e.g., whether it is reversible, permissions required, or side effects). The description adds minimal value beyond the tool name.

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

    Conciseness2/5

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

    The description is extremely short (4 words), which is under-specified. It lacks necessary detail and functions more as a label than a helpful description.

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

    Completeness1/5

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

    Given no output schema, no schema descriptions, and no annotations, the description is highly incomplete. It does not explain the behavior of moving to trash (e.g., soft delete, ability to restore) or how it relates to sibling tools.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the two required parameters (workspace_id, page_id). The description fails to compensate for the lack of schema 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 'Move a page to trash' clearly states the verb (move) and the resource (page to trash), distinguishing it from sibling tools like appflowy_delete_page_from_trash and appflowy_restore_page_from_trash.

    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 versus alternatives such as appflowy_restore_page_from_trash or appflowy_delete_page_from_trash. There is no mention of prerequisites or 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 present, so the description must convey all behavioral traits. It only states 'Rename', implying a mutation, but does not disclose side effects, authorization needs, constraints (e.g., namespace uniqueness), or impact on published pages.

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

    Conciseness2/5

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

    The description is a single sentence, which is too brief to be useful. It lacks essential details and is underspecified rather than concise. Every sentence should earn its place, but here the sentence is insufficient.

    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 lack of annotations, output schema, and parameter descriptions, the description is seriously incomplete. It does not cover return values, error conditions, or operational constraints, making it hard 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.

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain the two parameters: 'workspace_id' and 'new_namespace'. It adds no meaning beyond what the names suggest, leaving the agent without details on format, length, or required values.

    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 uses the verb 'Rename' and specifies the resource 'workspace publish namespace', making it clear that this tool changes the publish namespace. It distinguishes from the sibling 'appflowy_get_publish_namespace' which reads the namespace, so purpose is clear.

    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 versus alternatives like 'appflowy_get_publish_namespace' or other publishing tools. There is no mention of prerequisites or context for renaming the namespace.

    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 behavioral disclosure. The one-line description only states the basic action without revealing traits like permissions, side effects, or error states. The schema's parent_view_id note adds some context, but the description itself 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.

    Conciseness3/5

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

    The description is a single sentence, which is concise, but it omits important details for tool selection. It is under-specified rather than efficiently 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 the complexity (nested objects, many sibling tools, no output schema), the description is far too brief. It does not explain the layout parameter, the distinction between creating a page versus a space or quick note, or any return behavior.

    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?

    The tool description adds no information about parameters. The schema contains a detailed description only for parent_view_id; other parameters like layout, name, page_data lack descriptions. With low schema coverage, the description should compensate but does not.

    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 states 'Create a page under a space or parent page,' which is a clear verb+resource pair. However, it does not differentiate from sibling tools like appflowy_create_markdown_page or appflowy_create_quick_note, which also create pages. The purpose is moderately clear but lacks specificity.

    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. The parent_view_id parameter description in the schema hints at hierarchy, but the tool description itself gives no usage context 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 provided; description only states 'Create', which implies mutation but fails to disclose whether duplicate rows are allowed, required permissions, or result format. Lacks behavioral details beyond the action verb.

    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?

    Single sentence is concise but overly minimal for a tool with nested parameters. It states purpose but does not earn its place by adding value beyond the name. Could include parameter hints without significant 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 3 parameters (one nested object), no output schema, no annotations, and multiple sibling tools, the description is insufficient. Agent lacks details on parameter relationships, behavior, and when to invoke.

    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 0%, and description does not explain any parameter—workspace_id, database_id, or the nested request object. Agent cannot infer what to provide for 'cells' or 'document'.

    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 'Create a new row in a database' with specific verb and resource. However, it does not differentiate from the sibling tool 'appflowy_upsert_row', which also creates rows. Missing contextual distinction.

    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 like 'appflowy_upsert_row' or 'appflowy_list_rows'. Agent receives no 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?

    There are no annotations, and the description does not disclose any behavioral traits beyond the basic creation action. It fails to mention whether the workspace is created immediately, any required permissions, or what happens on failure. The schema hints at parameters but adds 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 extremely concise at one sentence, with no wasted words. However, it is so brief that it sacrifices necessary information. Structure is front-loaded but incomplete.

    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 simple schema (one required parameter) and no output schema, the tool is relatively simple, but the description lacks completeness. It does not explain what happens after creation, what the return value is (if any), or any side effects. The agent cannot fully understand the tool's behavior from this description.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning the schema itself lacks parameter descriptions. The description 'Create a new workspace' adds no explanation of the parameters (workspace_name, workspace_icon), leaving the agent to infer their purpose from names alone. This is insufficient for correct invocation.

    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 states 'Create a new workspace,' which is a specific verb and resource. It clearly indicates the action and object, but does not distinguish from sibling tools like 'appflowy_update_workspace' or 'appflowy_create_space', though these are 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 guidance is provided on when to use this tool versus alternatives (e.g., appflowy_create_space or appflowy_create_page). There is no mention of prerequisites, such as requiring authentication or an existing user, nor any exclusions or when-not-to-use scenarios.

    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 side effects, authentication requirements, or error handling. The agent has no insight into what happens if the database doesn't exist or if permissions are insufficient.

    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 a single sentence, making it concise. However, it is too brief and omits critical context, crossing from concise to under-specified.

    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 minimal description, the agent lacks information about the return format, error scenarios, or whether the tool is read-only. For a simple get operation, the description should at least state that it returns field definitions.

    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 description coverage is 0%, yet the description adds no explanation of the workspace_id and database_id parameters beyond their types. The agent must guess their purpose from names 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?

    The description states 'Get fields of a specific database,' which clearly identifies the verb (get) and resource (database fields). It distinguishes from sibling tools like appflowy_get_page and appflowy_get_row_details by targeting fields rather than whole objects.

    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 prerequisites, limitations, or scenarios where siblings might be preferred.

    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 must disclose behavior. It states the page is viewable via link but does not mention permanence, reversibility, authentication needs, or any side effects. For a publishing action, 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.

    Conciseness3/5

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

    The description is a single sentence, concise and front-loaded, but it omits critical details. Conciseness is good, but it sacrifices completeness, making it barely adequate.

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

    Completeness1/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 required params, nested objects, no output schema), the description is severely incomplete. It does not explain the request fields, return value, or any usage constraints. An agent would lack context to use it correctly.

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

    Parameters1/5

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

    Schema coverage is 0% (no parameter descriptions in the description). The description does not explain any of the three required parameters, including the nested 'request' object with four fields. It adds no value beyond the raw 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 uses a specific verb ('publish') and resource ('page') and clearly indicates the outcome (web-accessible via link). It distinguishes from sibling tools like 'export_page' by focusing on web publication rather than file export.

    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 others (e.g., export_page), no prerequisites, no when-not-to-use information. The description is one line with no context about alternatives or constraints.

    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?

    The description only states 'Remove', implying destructive action, but with no annotations, it fails to disclose whether removal is irreversible, whether it requires specific permissions, or whether it triggers notifications. A mutation tool should provide more 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.

    Conciseness3/5

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

    The description is concise (one sentence, no fluff) but is under-specified. It sacrifices necessary detail for brevity, making it minimally viable but not well-structured for an agent. A slightly expanded description would improve utility.

    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 two required parameters, no output schema, and no annotations, the description is too brief to be considered complete. It omits information about success behavior, error cases, idempotency, and response format, which are important 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.

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It adds minimal value by hinting that 'emails' is used for identification, but it does not explain the role of 'workspace_id' or that 'emails' is an array. The description is too vague to help the agent understand parameter semantics 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 the action ('Remove members') and the resource ('from a workspace') and the method ('by email'). It distinguishes from sibling tools like invite, list, and update. However, it does not explicitly mention that multiple members can be removed via an array of emails, which is implied by the input schema.

    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 versus alternatives (e.g., appflowy_update_member for changing role, appflowy_invite_members for adding). It also lacks prerequisites (e.g., admin permissions) or conditions where removal is not allowed.

    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 disclose behavioral traits. It only says 'Update', implying mutation, but omits details on idempotency, authorization requirements, side effects, or what happens to unspecified fields. The description is too bare to guide safe invocation.

    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 (one sentence) and front-loaded, but it is under-specified rather than concise. It conveys the basic purpose without elaboration, which is adequate but not optimal.

    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 (3 required parameters, nested object, no output schema, no annotations), the description is incomplete. It does not explain the update behavior, response format, required permissions, or how to use defaults. More detail is needed for an agent to invoke it 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 description coverage is 0%, so the description should compensate. It lists 'name, icon, color, or permission' but does not map precisely to schema fields (e.g., 'color' is 'space_icon_color', 'permission' is 'space_permission'), nor does it explain that 'name' is required or that defaults exist for other fields. The nested structure is not clarified.

    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 updates a space and lists the attributes (name, icon, color, permission). It uses a specific verb and resource, and 'update' distinguishes it from creation tools like appflowy_create_space. However, it says 'or' which could imply optionality, but the schema requires 'name' inside the request object.

    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 instead of alternatives like appflowy_update_workspace or appflowy_create_space. No prerequisites, context, or conditions are provided.

    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 only states the basic operation of appending text, omitting details like permissions, error handling, side effects, or behavior when page is missing.

    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 filler, directly communicates the tool's action.

    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 nested parameters and similar siblings, but description lacks parameter details, return values, and differentiators. Insufficient for an agent to fully utilize the tool without guessing.

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

    Parameters1/5

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

    Schema has 0% description coverage, and the description provides no additional meaning for parameters. It does not explain workspace_id, page_id, texts, or block_type beyond the schema's empty field names.

    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 it appends plain-text paragraph blocks to the end of a page, specifying verb, resource, and location. However, it does not explicitly differentiate from sibling tools like appflowy_append_blocks_to_page or appflowy_append_markdown_to_page.

    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, no prerequisites, and no when-not-to scenarios. The description is purely functional.

    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 is minimal and does not disclose behavioral traits such as whether it creates a new page ID, preserves history, permissions, or handles conflicts. Essential details are missing for a duplication operation.

    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 a single sentence with no wasted words, but it is underspecified rather than concise. It lacks important details.

    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 three required parameters, nested objects, and no output schema. The description does not explain the return value, behavior, or side effects, making it incomplete for an agent to use effectively.

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

    Parameters1/5

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

    The schema has 0% description coverage; the only parameter with a description is 'suffix' (from schema). The tool description does not add any meaning beyond the schema. For three parameters with no descriptions, the description should compensate but fails to do so.

    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 and resource: 'Duplicate a page and all of its child pages.' It clearly distinguishes from sibling tools like appflowy_move_page or appflowy_save_page.

    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. There are many sibling tools for page operations, but no context on when duplication is appropriate, 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, so the description carries full burden for behavioral disclosure. It only lists actions without explaining side effects, error conditions, or idempotency. Key traits like whether the page must exist or if operations are reversible are omitted.

    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 a single, front-loaded sentence. While concise, it is under-specified for the tool's complexity (3 parameters, nested object). It wastes no words but fails to earn its place with substantive detail.

    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 3 parameters with a nested object, no output schema, and no description coverage, the description is incomplete. It does not explain how the tool behaves (e.g., what happens on success/failure, whether it returns anything, how multiple operations are handled).

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning no parameter descriptions exist in the schema. The description adds no semantic meaning to the parameters (workspace_id, page_id, request) beyond what the schema structure shows. The boolean fields is_favorite and is_pinned are left entirely unexplained.

    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 allows favoriting, unfavoriting, pinning, or unpinning a page. It uses specific verbs and identifies the resource ('a page'), making the purpose unambiguous. It also distinguishes from sibling tools like appflowy_list_favorites and appflowy_update_page.

    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 like appflowy_list_favorites (to check favorites) or appflowy_update_page (to modify page content). There are no context cues about prerequisites or caveats.

    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 burden. It implies a read-only operation ('Get'), but does not explicitly state it is non-destructive, safe, or free of side effects. No authentication or rate limit information is given.

    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 concise and front-loaded with the action, but it omits necessary details about parameters and behavior. While not verbose, the brevity comes at the cost of completeness.

    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 and no annotations, the description is incomplete. It lists return fields (name, rag_ids, metadata) but does not explain their structure or semantics. 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.

    Parameters1/5

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

    Schema description coverage is 0% and the description does not explain the parameters (workspace_id, chat_id). The agent has no information on what these IDs represent or how to obtain them, making correct invocation difficult.

    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 'AI chat's settings', listing specific attributes (name, rag_ids, metadata). It effectively distinguishes from sibling tools such as appflowy_update_chat_settings and appflowy_create_chat.

    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. It does not mention prerequisites, required permissions, or comparison with similar tools like appflowy_get_page or appflowy_get_workspace_settings.

    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 for behavioral disclosure. It fails to indicate read-only behavior, return format, pagination, or error conditions. The description is too minimal to convey these traits.

    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 extremely short with no wasted words, but it omits essential information, making it incomplete rather than concisely 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 tool with one parameter and no output schema, the description should clarify the input and expected output. It fails to mention what the list returns or how to identify a published view.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description does not explain the `view_id` parameter, leaving its meaning and format entirely implicit.

    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 (list) and the resource (comments on a published view), distinguishing it from sibling tools like appflowy_add_published_comment and appflowy_get_published_reactions.

    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, no prerequisites (e.g., view must be published), and no context for appropriate use cases.

    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 only states the action (reorder), which implies a write operation, but does not disclose permissions, effects on other favorites, error conditions, 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?

    One sentence, concise and front-loaded. Every word serves a purpose. Could be slightly more structured 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?

    Tool has 3 parameters and no output schema. Description only explains purpose and one parameter. Lacks context on prerequisites (e.g., page must already be in favorites), handling of invalid 'prev_view_id', and any constraints. Inadequate for full understanding.

    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 description coverage is 0%. The description explains only 'prev_view_id' usage ('the favorite to place it after (omit to put it first)'), but omits 'workspace_id' and 'page_id'. Barely adds value 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 'Reorder a page within the favorites list' with a specific verb and resource. It distinguishes from 'favorite_page' and 'reorder_pages' implicitly, but does not explicitly differentiate from siblings.

    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 guidance on the 'prev_view_id' parameter ('omit to put it first'), but lacks any context on when to use this tool versus alternatives like 'reorder_pages' or 'move_page'. No when-not-to-use or prerequisites.

    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 carries full burden. It does not disclose any behavioral traits like reversibility, required permissions, or side effects on other published content. Simply stating 'Unpublish a page' 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.

    Conciseness3/5

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

    The description is a single sentence of 5 words, which is concise but at the cost of completeness. It lacks structure and does not front-load critical information beyond the basic action.

    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 minimal description, the tool is incomplete. It does not explain the resulting state (e.g., page removed from web but still editable) or any confirmation. Leaves many questions for the agent.

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

    Parameters1/5

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

    Schema coverage is 0%, meaning no descriptions in the schema itself. The description adds no explanation of 'workspace_id' or 'page_id', failing to specify their roles or formats.

    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 (unpublish) and the resource (a page from the web). It distinguishes from sibling tools like 'publish_page' and 'duplicate_published_page'.

    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, such as moving page to trash or deleting. No context is provided about prerequisites or consequences.

    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 exist, so the description bears full burden. It only states 'update' but omits consequences like whether the update is partial or full, if values are overridden, or if any permission is needed. 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.

    Conciseness4/5

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

    Single sentence front-loaded with purpose, very concise. Could note the workspace_id parameter but still 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?

    No output schema, no annotations, and zero schema coverage. Description fails to explain success behavior, error handling, or whether updates are atomic. Incomplete for a mutation tool.

    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 description coverage is 0% and description merely names the fields ('disable_search_indexing and/or ai_model'). Names are somewhat self-explanatory, but 'ai_model' lacks allowed values or format. No additional meaning beyond parameter names.

    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 the tool updates workspace settings, specifying the two fields (disable_search_indexing and ai_model). It differentiates from sibling read tool appflowy_get_workspace_settings, but doesn't explicitly distinguish from appflowy_update_workspace.

    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 update_workspace or get_workspace_settings. No prerequisites or scenarios provided.

    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 mentions only that content_format defaults to markdown, but omits critical details such as whether the operation is destructive, required permissions, positional behavior (append vs. insert), or error handling. This is insufficient for a general-purpose append 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 extremely concise, consisting of two short sentences. Every word contributes value—the first sentence defines the purpose and content types, the second adds a default parameter setting. No filler or redundancy.

    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 existence of more specific append tools and a nested parameter without explanation, the description leaves significant gaps. It does not clarify the return value (no output schema), nor does it address error cases or the nature of the appended content. The agent is ill-equipped to use this tool correctly in complex scenarios.

    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 description coverage is 0%, yet the tool description provides no explanation of workspace_id, page_id, or the request object structure. It only notes the content_format default. The agent must infer parameter meanings from names alone, which is inadequate given the nested request object.

    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: appending AI answers, notes, summaries, or generated content to an existing page. It identifies itself as the 'default' tool, which implies a general-purpose role, but it does not differentiate from sibling tools like appflowy_append_markdown_to_page or appflowy_append_text_to_page, leaving ambiguity 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?

    There is no explicit guidance on when to use this tool versus its siblings. The term 'default' hints at a broad applicability but fails to specify scenarios or prerequisites. No when-not or alternative tools are mentioned, leaving the agent to guess based on name similarity.

    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 only mentions creation without side effects, permissions, constraints (e.g., max spaces), or return behavior.

    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?

    Extremely concise at one sentence, but given the complexity of the input schema (nested object with 5 properties), more detail would improve structure.

    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. Description omits explanation of request fields (e.g., space_permission meaning, space_icon format) and expected return value, leaving the agent underinformed.

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

    Parameters1/5

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

    Schema description coverage is 0%. Description adds no meaning to parameters like workspace_id or nested request fields (name, space_permission, etc.), leaving them unexplained.

    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 states verb 'Create', resource 'space', and context 'in a workspace'. Clearly distinguishes from sibling tools like appflowy_create_workspace and appflowy_update_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?

    No guidance on when to use this tool relative to siblings, prerequisites (e.g., workspace existence), or excluded scenarios.

    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 merely states the tool gets storage usage, but does not mention whether it is idempotent, read-only, or what errors may occur. No side effects or rate limits are indicated.

    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 efficiently conveys the purpose. There is no unnecessary verbiage or repetition.

    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 simplicity of the tool (one parameter, no output schema), the description is moderately complete. It states the return unit, but does not specify the return format (e.g., number, object) or potential errors. Somewhat adequate but could be improved.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description adds no meaning beyond the parameter name 'workspace_id'. No format, example, or constraints are given. The parameter is required but its usage is not clarified.

    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 gets workspace storage usage and specifies the unit (bytes). It distinguishes from siblings by focusing on workspace usage rather than other workspace-related details like settings or folder. However, it does not elaborate on what exactly constitutes 'storage usage', leaving some ambiguity.

    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 versus alternatives like appflowy_get_workspace_settings or appflowy_get_workspace_folder. There is no indication of prerequisites, such as needing the workspace ID to be valid or any access requirements.

    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 lacks behavioral details such as pagination, error handling, or the structure of the response. It simply says 'list' without elaboration.

    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: one sentence with no wasted words. Front-loaded with the action and scope.

    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 lack of annotations, output schema, and parameter descriptions, the description is insufficiently complete. It omits details about the output format, pagination, and what constitutes a 'database'.

    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?

    The single parameter 'workspace_id' has no description in the schema, and the tool description adds no meaning. Schema description coverage is 0%, so the description fails to compensate.

    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 'List all databases in a workspace' with a specific verb and resource. However, it does not differentiate from sibling tools like appflowy_list_spaces or appflowy_list_rows, which might cause confusion.

    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. The description does not explain what a 'database' is in AppFlowy or mention prerequisites like needing a workspace ID.

    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 must fully disclose behavioral traits. It only states what the tool does without revealing output format, pagination, permissions required, or any side effects. This is insufficient for understanding the tool's behavior.

    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?

    A single sentence with no extraneous words. It is brief but adequately conveys the core function. However, slightly more detail could be added without sacrificing 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 simple input schema (one parameter) and no output schema, the description does not fully specify behavior. Missing details like whether results are paginated, if there is a limit, or what the output structure looks like.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning the schema provides no descriptions for the workspace_id parameter. The tool description also fails to explain the parameter's purpose or constraints, leaving the agent without meaningful 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 action (list), the resource (favorite pages), and the scope (in a workspace). It effectively distinguishes from sibling tools like appflowy_list_databases and appflowy_list_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 like appflowy_get_workspace_folder or appflowy_list_trash. No context about prerequisites or limitations 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?

    No annotations provided. Description only states 'list all row IDs', implying a read-only operation but lacks details on pagination, limits, ordering, or permissions. Does not disclose any behavioral traits beyond the basic action.

    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 wasted words. Front-loaded with the core action and resource.

    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 low complexity (2 params, no output schema), the description is too minimal. Lacks output format, prerequisites, and does not clarify that it only returns IDs versus full row details, which is relevant given sibling tools.

    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 description coverage is 0%, and the description does not explain the parameters beyond their names. workspace_id and database_id are somewhat descriptive but no guidance on how to obtain them or their role in the list operation.

    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 verb 'list' and resource 'row IDs in a database', specifying what is returned. It distinguishes from sibling tools like appflowy_get_row_details and appflowy_get_updated_rows, though could be more explicit about returning all rows without filtering.

    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. Does not mention when-not-to-use, prerequisites, or refer to sibling tools like appflowy_get_updated_rows or appflowy_get_row_details.

    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?

    The description implies a mutation (adding a reaction) but does not disclose potential side effects, error states (e.g., duplicate reactions), authentication requirements, or whether it updates the published view permanently.

    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, direct sentence with no unnecessary words, making it highly concise and 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 three parameters, no output schema, and no annotations, the description is too minimal to enable correct usage, lacking details on parameter formats and return behavior.

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

    Parameters1/5

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

    With 0% schema description coverage, the description fails to explain the purpose or format of parameters like view_id, comment_id, and reaction_type (e.g., whether reaction_type expects an emoji character or a name).

    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 'Add' and the resource 'emoji reaction to a comment on a published view,' which distinguishes it from related tools like adding a comment or getting reactions.

    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 versus alternatives, such as appflowy_get_published_reactions for viewing reactions or appflowy_add_published_comment for adding a comment.

    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, but it only states the input and action. It does not mention side effects, required permissions, return values, or limitations. 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.

    Conciseness4/5

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

    The description is a single, concise sentence that immediately conveys the core purpose. It is well-structured with no redundant words. However, it could benefit from additional context without being 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?

    Given the lack of an output schema and annotations, the description does not provide enough context about what a 'quick note' is, what the expected output looks like, or any constraints. It is minimally complete for a very simple tool but falls short for an agent that needs to understand return values or errors.

    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 descriptions for 'text' and 'data' are present and detailed. The tool description adds a summary ('plain text or raw block data') but does not enhance the schema's explanation. Baseline is 3 due to high schema coverage.

    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 creates a quick note and specifies two input methods (plain text or raw block data). This is more specific than a generic 'create' verb, but it does not distinguish from sibling tools like appflowy_create_page or appflowy_create_markdown_page, which may have similar purposes.

    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 versus alternatives (e.g., when to use a quick note vs a regular page). There are no examples, prerequisites, or exclusions. The description assumes the agent already knows the 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 exist, so the description must inform about behavior. It does not mention that the tool is read-only, any authentication requirements, or side effects. The minimal description lacks 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.

    Conciseness3/5

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

    The description is very concise at one sentence, but it lacks structure and is underspecified. It conveys the purpose efficiently but misses opportunities to add 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 the simplicity of the tool (1 param, no output schema), the description only covers basic purpose. Missing details on output, return format, or any context about the settings.

    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?

    With 0% schema description coverage, the description should compensate but does not. The parameter 'workspace_id' is not explained; its meaning, source, or format is omitted.

    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 resource 'workspace settings', and provides specific examples of settings (search indexing, AI model), distinguishing it from sibling tools like appflowy_get_workspace_folder.

    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 versus alternatives, or any prerequisites or exclusions. The description is purely functional.

    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 exist, so the description bears full responsibility for behavioral disclosure. It only states the action but does not mention what happens after leaving (e.g., loss of access, ability to rejoin, data retention) or any required permissions.

    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, efficient sentence. However, it is overly brief for a tool with no annotations, leaving gaps in completeness.

    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 simple nature (one parameter, no output schema), the description adequately states the core purpose but is missing prerequisite context (e.g., user must be a member) and post-action effects.

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

    Parameters1/5

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

    The input schema has one parameter (workspace_id) with 0% description coverage. The description provides no explanation of what workspace_id represents, how to obtain it, or any constraints (e.g., must be a workspace the user is a member of).

    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 'Leave' and the resource 'workspace', with the condition 'you are a member of'. This distinguishes it from sibling tools like delete_workspace which would destroy the workspace.

    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., delete_workspace, accept_invitation). The description lacks context about membership requirements or consequences.

    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 says 'list', implying read-only, but does not mention authentication, pagination, or return format.

    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, focused sentence with no redundancy, efficiently conveying the core purpose.

    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 low complexity (1 param, no output schema), the description is insufficient; it omits response details and any filters, leaving the agent underinformed.

    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?

    The single parameter 'workspace_id' is not explained beyond the schema; description adds no meaning about its purpose or how to obtain 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 action ('list'), resource ('trashed pages'), and context ('in a workspace'), which distinguishes it from sibling tools like delete and restore.

    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, such as restore or delete operations on trash items.

    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 only states the action without disclosing behavior such as error conditions, permissions, or side effects. 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?

    Single sentence is succinct and to the point. However, lacks structural elements like parameter descriptions or additional context.

    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 simple restore operation but missing details on edge cases (e.g., page not in trash), return values, or prerequisites. No output schema or annotations to supplement.

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

    Parameters1/5

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

    Parameters 'workspace_id' and 'page_id' have no descriptions in the schema or in the tool description. Schema coverage is 0%, so the description adds no value.

    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 specifies verb 'Restore' and resource 'page from trash'. Distinguishes from sibling tools like 'delete_page_from_trash' and 'move_page_to_trash'.

    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, such as when to restore vs permanently delete. The description lacks context for decision-making.

    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 must stand alone. It indicates mutation ('Update') but does not disclose side effects, permissions, reversibility, or whether unmentioned fields are preserved. Fails to provide sufficient behavioral context 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.

    Conciseness3/5

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

    One sentence, concise but under-specified. Front-loaded with verb, but brevity sacrifices completeness for a tool with nested parameters.

    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 3 required params (with nested objects), the description omits key context: required IDs, partial update semantics, and return value. Incomplete for correct invocation.

    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 0%; description lists some request fields (name, icon, lock state, extra metadata) but does not explain required params (workspace_id, page_id) or the structure of icon/extra. Adds partial meaning but misses critical details.

    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 'Update' and the resource 'a page', listing specific attributes (name, icon, lock state, extra metadata). It distinguishes from sibling tools like create_page and get_page by focusing on modification.

    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 appflowy_create_page or appflowy_move_page_to_trash. Lacks context for 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 provided, and the description lacks details on side effects, required permissions, or post-acceptance behavior. The tool modifies state without 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 very short (one sentence), efficiently conveying the core action, though it may be under-specified.

    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 single-parameter mutation tool with no output schema, the description should include information about expected outcomes, errors, or preconditions.

    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 mentions 'by invite_id', adding minimal meaning beyond the parameter name, but schema coverage is 0% and no parameter description is provided 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?

    The description clearly states the action ('accept') and the resource ('workspace invitation'), which is distinct from sibling tools like appflowy_list_invitations.

    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, prerequisites (e.g., having an invitation, being logged in), 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.

  • Behavior2/5

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

    No annotations provided. Description does not disclose behavioral traits such as authentication requirements, ordering of comments, or whether replies are nested. Minimal 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?

    Single sentence, no filler, covers the core purpose efficiently.

    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, 3 parameters with 0% schema coverage. Description lacks details like expected response, error conditions, or how reply_comment_id relates to existing comments.

    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 0%, so description must compensate. It hints at view_id and reply_comment_id but does not explain the content parameter or constraints like maximum length.

    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 action (add comment) and identifies the resource (published view) and optional feature (replying). Distinguishes from siblings like get_published_comments.

    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 (e.g., get_published_comments), nor any prerequisites like view must be published.

    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 bears full burden for behavioral disclosure. It mentions mutation ('add') but does not explain effects on existing data, required permissions, reversibility, or error states. The description adds minimal behavioral context beyond what the tool name implies.

    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 immediately conveys the tool's core purpose. It is front-loaded and contains no unnecessary words or redundancy.

    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 (3 parameters with a nested object, no output schema, no annotations), the description is insufficient. It omits details about required inputs, the meaning of field_type values, optional type_option_data, and overall workflow context. A more complete description would aid correct tool selection and invocation.

    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?

    The description does not elaborate on any parameters (workspace_id, database_id, request, name, field_type, type_option_data). Given that schema description coverage is 0% (or very low), the description should compensate, but it fails to add meaning beyond the schema. The only parameter with a description in the schema (field_type with enum mapping) is not reinforced by the tool 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's function: 'Add a new field (column) to a database.' It uses a specific verb (add) and resource (field/column), and distinguishes from sibling tools like appflowy_create_row (adds rows) or appflowy_get_database_fields (retrieves fields).

    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 (e.g., appflowy_create_row, appflowy_get_database_fields). It lacks context about prerequisites, such as requiring an existing database or workspace. No 'when-not-to-use' or explicit alternatives 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?

    Without annotations, the description carries full burden. It briefly describes the output structure but does not disclose side effects, permissions, or failure modes. The schema provides a constraint on the path (must be empty/non-existent), but the description does not reinforce this.

    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 action and result. Every sentence adds value with no redundancy.

    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 no annotations, the description should cover prerequisites, error behavior, and output structure. It references export_space for layout but does not detail the output or common pitfalls. Incomplete for a workspace export tool.

    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 description coverage is 0% (workspace_id lacks description; path's description is in nested object). The description does not explain workspace_id or provide additional context for parameters beyond what the schema already gives. It adds value about the output layout but not about parameter usage.

    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 exports a workspace to Markdown files, with each space becoming a top-level folder. It distinguishes itself from sibling tools like appflowy_export_space and appflowy_export_page by specifying the scope (every space in a workspace).

    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 like appflowy_export_space. The description mentions that pages follow the export_space layout, but does not provide context for choosing workspace-level export over space-level export.

    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 carries full burden. It fails to disclose return format, whether only modified rows are returned or also new ones, pagination, or error behavior.

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

    Conciseness5/5

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

    Single sentence is concise and front-loaded, with 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 no annotations, no output schema, and no parameter descriptions, the tool description is incomplete. It does not specify output format, prerequisites, or limitations.

    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 descriptions are absent (0% coverage), and the description does not explain parameter meanings beyond their names. The 'after' parameter format is not specified.

    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 specific verb 'Find' and resource 'updated rows' with a clear condition ('after a specific datetime'), distinguishing it from siblings like 'list_rows' or 'get_row_details'.

    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 such as 'appflowy_list_rows' or 'appflowy_get_row_details'. Implied usage for tracking changes, but no explicit when-not or alternative mentions.

    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 only states the basic action but omits behavioral traits like email sending, permission requirements, or idempotency. Does not disclose potential 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?

    Single sentence that is concise and front-loaded with key information (email, role). Could be slightly more structured but avoids verbosity.

    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 lack of annotations, output schema, and complex nested parameters, the description is inadequate. It does not explain the request object, boolean option, or return value.

    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 0% description coverage. The description adds meaning by listing roles (Owner, Member, Guest) and implying 'emails' as email addresses. However, it does not explain workspace_id, the nested request object, or the skip_email_send parameter.

    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: inviting people to a workspace using email and assigning a role. It distinguishes from sibling tools like accept_invitation or remove_members.

    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 such as accept_invitation or list_invitations. No prerequisites or exclusions 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?

    No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, idempotency, or rate limits. The word 'list' implies a safe operation, but this is not stated explicitly.

    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 comprised of two short sentences that immediately convey the tool's primary action. Every word is useful, and there is no redundancy.

    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 no annotations, the description lacks information about the return format, error conditions, or behavior of the depth parameter. For a listing tool that likely returns structured data, this is insufficient for complete understanding.

    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?

    The input schema has two parameters (workspace_id, depth) with 0% schema description coverage. The description does not explain what these parameters mean or how they affect results, nor does it provide format or constraints 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 'list' and the resource 'spaces', and defines what spaces are ('folder views where is_space is true'). This differentiates it from sibling listing tools that target different resources (e.g., list_rows, list_databases).

    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 given on when to use this tool versus alternatives like appflowy_get_workspace_folder, which might also return folder structures. There is no mention of context, 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 fails to disclose behavioral traits like whether appending is safe, checks for page existence, or error behavior. It only states the basic action without additional 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 a single sentence with no unnecessary words, achieving high conciseness. However, the brevity sacrifices completeness, making it less useful.

    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, no annotations, and low schema coverage, the description should provide more context about prerequisites, return values, and behavior. It is insufficient for a write operation with three required parameters.

    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 description coverage is 0%, and the description only mentions 'Markdown content' without explaining workspace_id, page_id, or the nested request structure. Most parameters are undocumented beyond their names.

    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 'append Markdown content' and the target 'existing document page'. It distinguishes from sibling tools like appflowy_append_text_to_page and appflowy_append_blocks_to_page by specifying Markdown content.

    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. The description implies usage for appending Markdown, but does not mention cases where other append tools would be more appropriate or any prerequisites.

    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. It states 'permanently delete' and 'irreversible', which covers destructive behavior, but omits details like required permissions, whether the workspace must be empty, or if confirmation is needed.

    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 highly concise with two short sentences, no unnecessary words, and front-loads the core purpose. 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?

    Given the simple single-parameter tool and no output schema, the description is minimally adequate. It covers purpose and irreversibility but lacks context on authorization, data specifics, or side effects.

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

    Parameters1/5

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

    The schema has one parameter (workspace_id) with 0% description coverage. The tool description adds no meaning to the parameter beyond its name, failing to compensate for the schema's lack of 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 (permanently delete), the resource (a workspace and everything in it), and emphasizes irreversibility. It effectively distinguishes from sibling tools like appflowy_leave_workspace.

    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 the tool is used for complete workspace removal but lacks explicit guidance on when to use vs. alternatives (e.g., archiving or leaving). No when-not-to-use conditions are provided.

    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 the full burden of disclosing behavioral traits. It only states that the tool updates role or name, without any mention of side effects, authorization requirements, rate limits, or what happens on failure. This is minimal disclosure 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.

    Conciseness4/5

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

    The description is a single concise sentence that front-loads the key action. It is efficient but could benefit from expanding on parameter details 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?

    Given the tool's complexity (nested object, no output schema, no annotations), the description is incomplete. It does not explain how to identify the member (email required), what workspace_id means, or what the expected return value or error conditions are. Significant gaps remain.

    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 0%, so the description must explain all parameters. It partially covers 'role' (with enum values) and 'name', but omits 'workspace_id' (what it identifies) and 'email' (required in request object but not mentioned in description). This leaves key parameters unexplained.

    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 'Update', the resource 'workspace member', and the specific fields that can be updated (role with enumerated values, name). It distinguishes this tool from siblings like appflowy_invite_members and appflowy_remove_members by specifying the update action.

    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 the tool is for updating member roles or names but does not provide explicit guidance on when to use vs alternatives (e.g., invite, remove) or mention prerequisites like user permissions or workspace membership. Usage context is left to inference.

    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 minimally discloses that the tool mutates workspace name/icon, but does not state idempotency, permissions required, or whether other fields are affected. No mention of side effects or return behavior.

    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 of 6 words, efficiently stating the purpose. However, it could include slightly more useful information without becoming verbose.

    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 provides minimal context. It does not explain the response, error handling, or idempotency. For a simple update tool this is 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 description coverage is 0%, but the description lists the two updatable fields (workspace_name, workspace_icon). It adds some meaning beyond the schema's property names but does not explain the format or constraints of workspace_id or the request object structure.

    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 'update' and the resource 'workspace', specifying that it updates name and/or icon. This distinguishes it from sibling tools like create_workspace and delete_workspace.

    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 versus alternatives, such as when workspace exists, or what prerequisites are needed. The description lacks context on ordering 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 provided, so description bears full burden. It discloses that dest_view_id is a parent Space or Page, but does not describe side effects, whether original is modified, or any authorization or rate limit information. Lacks essential behavioral context 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?

    Two sentences, no redundant wording, immediately useful clarification. Efficient and to the point.

    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; description does not explain what is returned (e.g., the new page ID?). Lacks prerequisites (e.g., must page be published?), or permission requirements. Incomplete for a tool with three required parameters and no annotations.

    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 description coverage is 0%, so description must compensate. It clarifies dest_view_id (destination parent Space/Page, not workspace_id), but workspace_id and published_view_id are left undefined. Only partial semantic help.

    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 (duplicate), resource (published page or template), and target (workspace). The sibling appflowy_duplicate_page handles non-published pages, so this distinguishes well.

    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?

    Implies use for published pages/templates, but no explicit guidance on when to use this vs alternatives like appflowy_duplicate_page. No context about 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 exist, so the description must fully disclose behavior. It states 'Get' implying a read operation, but does not mention response structure, error handling, pagination, or limits. The behavioral transparency is insufficient 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?

    The description is two concise sentences with the purpose front-loaded. Every sentence adds value; no filler or redundancy.

    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 or annotations, the description should provide more context about return format, error scenarios, depth limits, and behavior when root_view_id is null. It leaves significant gaps 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.

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It explains root_view_id and depth superficially ('expand', 'control recursion') but does not clarify format, valid values, or how workspace_id is used beyond being required. The added meaning is minimal.

    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 workspace folder tree, distinguishing it from sibling tools like appflowy_list_spaces and appflowy_get_page. The verb 'Get' and resource 'workspace folder tree' are specific.

    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 at using root_view_id to expand and depth to control recursion, but does not explicitly specify when to use this tool versus alternatives like appflowy_list_spaces or appflowy_get_page for simpler queries. No exclusions or when-not guidance is provided.

    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 exist, so the description carries full burden. It discloses core behavior (recursive import, image upload). However, it omits side effects (e.g., overwrites?), error handling, sync vs async, and permission requirements. Adequate 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 extremely concise at two sentences, no fluff, and front-loads the core purpose. Every sentence contributes 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 the tool's complexity (recursive import with image upload) and the absence of output schema and annotations, the description is too brief. It lacks return value details, path requirements (absolute?), and concurrency behavior. Incomplete for an agent to fully understand the tool's behavior.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the tool description adds no explanation of any parameters (workspace_id, parent_view_id, path, upload_assets). The description fails to clarify what these parameters mean or how to obtain them, especially critical for parent_view_id which has hierarchy constraints.

    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 'import a local Markdown directory recursively' and specifies the mapping: folders become pages, Markdown files become child pages, images are uploaded. This distinguishes it from the sibling appflowy_import_markdown_file which handles single files.

    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 use for directories via the word 'directory', but does not explicitly contrast with the single-file sibling or mention prerequisites (e.g., path validity, parent_view_id must be a space). The parent_view_id schema description adds some guidance but the tool description itself lacks explicit when-to-use 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 full burden. It discloses that local image references are resolved relative to the file, uploaded, and replaced with URLs when upload_assets is true. However, it does not detail side effects, required permissions, idempotency, or failure 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 two sentences with no unnecessary words. It front-loads the core purpose and adds a key behavioral detail about image handling efficiently.

    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 complexity of file import with image processing, no output schema, and no annotations, the description is incomplete. It omits file size limits, return format, error behavior, and path handling details beyond the schema.

    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 description coverage is low (0% per context, though parent_view_id has a description in the schema). The description only indirectly references upload_assets via the upload logic. It does not explain workspace_id, path, or title 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 action ('Import one local Markdown file') and the result ('as an AppFlowy page'), with specific verb and resource. It also distinguishes from the sibling tool 'appflowy_import_markdown_directory' by specifying it imports a single file.

    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 explicit guidance on when to use this tool versus alternatives (e.g., appflowy_import_markdown_directory). It mentions image handling but lacks context on prerequisites, error scenarios, or when not to use. The parent_view_id constraint is in the schema, not the 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 carry the full burden of behavioral disclosure. It only states the basic purpose without revealing ordering, pagination, result limits, or whether it returns only the current user's recent pages. This leaves significant unknowns.

    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 of 7 words, perfectly concise and front-loaded. Every word earns its place with no fluff or repetition.

    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 the tool's simplicity, the description lacks completeness. It does not describe the output format or any return fields (and there is no output schema). For a listing tool, the agent needs to know what fields are returned (e.g., page title, last viewed timestamp) to use the results effectively.

    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?

    With 0% schema description coverage, the description should explain the required workspace_id parameter. It does not; it only mentions 'in a workspace' generically. The parameter's purpose is somewhat obvious, but the description fails to explicitly describe it, missing an opportunity to add value.

    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 'List recently viewed pages in a workspace' clearly states the action (list) and the resource (recently viewed pages). This effectively distinguishes it from sibling tools like appflowy_list_favorites or appflowy_list_trash.

    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 the tool should be used to retrieve recently viewed pages, but it provides no explicit guidance on when to use this tool versus alternatives (e.g., appflowy_search, appflowy_get_workspace_folder). No when-not-to-use or prerequisites 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?

    No annotations are provided, so the description must fully disclose behavior. It only states that tokens are not returned, but fails to mention other important behaviors such as session invalidation, expiration, auth requirements, or side effects. This is a significant gap for a token management 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 extremely concise at two sentences and 17 words. Every word adds value, and the most important information ('refresh the access token') is front-loaded. No fluff or redundant 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?

    Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimally adequate. However, typical token refresh flows include details like when refresh is needed, error conditions, or side effects. The description lacks this 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?

    The schema coverage is 0%, so the description must compensate. It adds value by explaining that the refresh_token parameter is optional and defaults to using a stored token. However, it does not describe the format or source of the stored token, leaving some ambiguity.

    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 ('refresh the access token') and the resource ('access token'). It distinguishes this tool from siblings like login by specifying the token refresh mechanism. However, it could be more specific about when this tool is used in the authentication flow.

    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 some guidance on usage ('uses the stored refresh token unless one is provided'), but it does not explicitly state when to use this tool versus alternatives like appflowy_login or other auth-related tools. No when-not-to-use or alternative tools are mentioned.

    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?

    Describes the two-step process (search then summarize) and notes that each summary lists source object_ids. With no annotations provided, this adds useful behavioral context, but lacks details on potential costs or 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 concise sentences front-load the purpose and clarify the process. Every word adds value; no redundancy.

    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 4 parameters with no schema descriptions, no output schema, and no annotations, the description is insufficient for correct tool use. It lacks explanations of parameter behavior and return format beyond vague source object_ids.

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

    Parameters1/5

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

    Schema has 0% description coverage and the description adds no specific parameter info. It does not explain workspace_id, query, limit, or only_context, leaving the agent without critical usage details.

    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 searches the workspace and returns an AI-generated cited summary, distinguishing it from sibling tools like appflowy_search that likely perform plain search without summarization.

    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?

    Implicitly suggests use when a summarized answer with citations is needed, but provides no explicit guidance on when to use this versus alternatives like appflowy_search, nor any 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, so the description carries full burden. It only states what can be updated, but lacks details on partial vs full replacement, 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.

    Conciseness5/5

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

    The description is a single sentence with no unnecessary words, making it highly concise and 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 complexity of the request object and the lack of an output schema, the description is too minimal. It does not explain partial update behavior, default values, or what the response looks like.

    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?

    The description merely lists the parameter names (name, rag_ids, metadata) which are already present in the schema. The schema itself includes a description for rag_ids, but the tool description adds no additional semantic value.

    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 updates an AI chat's name, rag_ids, or metadata, using a specific verb and resource. It distinguishes itself from sibling tools like create_chat, delete_chat, and get_chat_settings.

    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. The description implies it is for updating settings, but does not provide conditions or exclusions.

    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 must disclose behavioral traits. It states 'Permanently delete' implying irreversibility, but lacks details on required permissions, side effects on associated data, or whether it empties from trash permanently.

    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 at one short phrase. No unnecessary words, but it may be too terse, sacrificing contextual completeness.

    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 annotations, no output schema, and a minimal description, the tool definition lacks crucial context. It does not explain the state of the page before deletion, the impact, or any return value.

    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 description coverage is 0%, and the description does not explain the meaning or format of 'workspace_id' and 'page_id'. The description adds no value beyond the schema's property names.

    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 'Permanently delete a trashed page' clearly specifies the action (delete), resource (trashed page), and permanence. It directly distinguishes from sibling tools like 'appflowy_move_page_to_trash' and 'appflowy_restore_page_from_trash' by indicating finality.

    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 context on when to use this tool versus alternatives. It does not mention prerequisites (e.g., page must be in trash) or exclusions. For a tool with clear siblings, some guidance is expected.

    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 full burden. It discloses the primary behavior (gets namespace) but lacks details on side effects, permissions, error conditions, or whether the operation is read-only (likely but unstated).

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

    Conciseness5/5

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

    The description is a single clear sentence with no superfluous words. It is efficient and front-loaded with the core action 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 getter with one parameter and no output schema, the description provides the essential return value but lacks parameter semantics. It is adequate but minimal for full context.

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

    Parameters1/5

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

    Schema description coverage is 0%; the description does not mention or clarify the 'workspace_id' parameter. It adds no value beyond the schema's type and required status.

    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 'workspace publish namespace' with an explanatory parenthetical. It effectively distinguishes from siblings like 'appflowy_set_publish_namespace' (set vs get) and other publish-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 Guidelines3/5

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

    The description does not provide guidance on when to use this tool or its alternatives. It does not mention prerequisites (e.g., workspace must exist) or situations where other tools might be more appropriate (e.g., setting namespace).

    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. It discloses creation and return of chat_id, but lacks details on side effects (e.g.,persistence, resource consumption), permissions required, or lifecycle expectations.

    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, then optional parameter info, then return value. No superfluous 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?

    Given the lack of annotations and output schema, the description covers the basic purpose, one optional parameter, and the return value, but omits details about the required workspace_id and name parameters, and does not address behavioral implications.

    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?

    Despite schema description coverage being 0% per context, the description adds meaning to rag_ids by calling them 'page view ids' and explaining their use. However, it does not describe workspace_id or name beyond what the schema implies.

    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 'AI chat in a workspace', distinguishing it from sibling tools like appflowy_chat_ask (ask), appflowy_delete_chat (delete), and appflowy_get_chat_settings (get).

    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 by mentioning optional rag_ids and returning chat_id for follow-up calls, but does not explicitly state when to use this tool vs. alternatives like appflowy_chat_ask for existing chats 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.

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, permissions, idempotency, or return behavior. The only behavioral hint is the action itself ('create').

    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. The first clearly states the purpose, and the second provides usage guidance. There is no unnecessary text.

    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 lack of annotations and output schema, the description should provide more context such as return value, required prior steps (e.g., having a space), and error conditions. It is too brief for a tool with nested parameters and no structured metadata.

    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 description coverage is low (14%), and the main description adds no parameter information. The parent_view_id parameter has a detailed description in the schema, but the description itself does not clarify the other 6 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?

    The description clearly states 'Create a document page from Markdown content', which is a specific verb and resource. It also suggests preferring appflowy_save_page for general AI answers, helping distinguish its use case.

    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 advises to use appflowy_save_page for general AI answer or note saving, providing a clear when-not-to-use. However, it does not describe when exactly to use this tool beyond having Markdown content.

    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. It only states it lists reactions, a read operation, without disclosing side effects, auth needs, rate limits, or response format. Minimal transparency beyond the obvious.

    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 of 10 words, efficient and to the point. 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?

    For a simple list tool with 2 parameters and no output schema, the description is adequate but lacks details on response structure, limits, or that the view must be published. Could be more 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?

    The description adds meaning to comment_id ('optionally filtered to one comment'), but view_id is left unexplained. Since schema description coverage is 0%, the description partially compensates but does not fully describe both 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?

    The description clearly states it lists reactions on a published view, with optional filtering by comment. This distinguishes it from sibling tools like appflowy_get_published_comments (comments) and appflowy_add_published_reaction (adding).

    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 optional filtering, implying usage scenarios, but it does not explicitly state when to use this tool vs alternatives (e.g., get_comments vs reactions) or any prerequisites like requiring a published view.

    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 burden. It discloses optional search and pagination, but does not detail behavior like default ordering, whether results are sorted, or if there are any side effects. Basic but adequate for a simple listing.

    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 13-word sentence covering all key aspects: listing quick notes, workspace scoping, optional search and pagination. No wasted words, front-loaded with the core action.

    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, so the description should describe what is returned. However, it only says 'List quick notes' without specifying the output fields or format. This is a significant gap for a listing tool.

    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 description coverage is 0%, so the description must add meaning. It mentions 'optional search and pagination', which hints at search_term, limit, offset, but does not explain each parameter's purpose or format. workspace_id is required but not described. Minimal additional value over 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 quick notes in a workspace', specifying the action (list), resource (quick notes), and scope (in a workspace). It distinguishes from siblings like appflowy_list_workspaces and appflowy_list_trash.

    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 when to use: when you need to list quick notes in a workspace. However, it does not provide explicit guidance on when not to use it or alternatives like appflowy_search for broader search.

    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 implies a read-only operation but does not disclose any behavioral traits such as pagination, sorting, or whether it includes archived workspaces. The description is minimal but acceptable for a simple list 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?

    The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. Every word earns its place with no redundancy.

    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 parameters, no output schema, and the tool's simplicity, the description is largely complete. It specifies the resource (workspaces) and scope (authenticated user). A minor gap is the lack of clarity on what information is returned (e.g., just names vs. full details).

    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 tool has zero parameters and the schema coverage is 100%. The description adds no parameter-specific meaning because none are needed, achieving the baseline of 4 for zero parameters.

    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 'List' and the resource 'workspaces' with the scope 'for the authenticated user'. It distinguishes from sibling tools like list_spaces by explicitly naming a different entity type. However, it does not explain how workspaces differ from spaces, which could cause ambiguity.

    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 are provided. The description does not indicate when to use this tool versus alternatives such as list_spaces. An explicit note about preferring this for workspace-level listing would be helpful.

    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 that tokens are stored server-side and not returned, which is important. However, lacks details on authentication requirements, error handling, or failure modes.

    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: first for purpose, second for behavioral detail. 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?

    Missing critical context: no output schema, no mention of success/error indicators, login status verification, or handling of invalid credentials. Not complete for an authentication tool.

    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?

    Description adds no parameter-specific information beyond what the schema already shows (email and password fields). Schema coverage is 0%, and description does not compensate.

    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 logs into AppFlowy, distinguishing it from related tools like appflowy_refresh_token and appflowy_get_user_profile.

    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 or alternatives. The token storage behavior is mentioned, but no context on prerequisites or when not to 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?

    The description indicates that content is replaced (not appended) and mentions two input formats, but it does not disclose behavioral traits like precedence of data over text, destructive nature, required permissions, or error handling. Since no annotations are provided, the description carries the full burden and is somewhat lacking.

    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 action and key details. There is no wasted 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?

    For a tool with no output schema and minimal annotations, the description provides the core functionality but lacks details about return values, error cases, or the structure of raw data. It is adequate but not completely informative.

    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 meaning for the 'text' and 'data' parameters within the request object, explaining that text is converted to paragraph blocks and data takes precedence. However, the top-level required parameters (workspace_id, quick_note_id) have no schema descriptions and are not explained in the description, so the overall parameter semantics is only partially covered.

    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 ('replace a quick note's content') and the resource ('quick note'), and distinguishes it from sibling tools like 'appflowy_create_quick_note' and 'appflowy_delete_quick_note'. It also specifies the two input formats (plain text or raw block data).

    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 versus alternatives such as 'appflowy_update_page' or when to choose plain text over raw data. There are no explicit when-to-use or when-not-to-use indications.

    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 mentions the public access trait. It does not disclose read-only nature, potential side effects, rate limits, or any other behavioral characteristics beyond the basic 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?

    Two concise sentences with no wasted words. The key information (what the tool does and its public nature) 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?

    The description covers the basic purpose and access context, but lacks details about the output format expected from 'full page tree'. Since no output schema exists, more explanation is warranted for a complete understanding.

    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?

    The single parameter 'publish_namespace' has no schema description (0% coverage). The description mentions it but does not explain its format, how to obtain it, or constraints. Essential meaning is missing.

    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 'Get', the resource 'full page tree of a published workspace', and the identifier 'publish namespace'. It also notes the public nature, distinguishing it from tools requiring membership.

    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 retrieving published workspace outlines and explicitly states no membership needed. However, it does not provide explicit guidance on when to use vs alternatives or when not to use.

    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 the full burden. It only states that the tool lists invitations, without disclosing behavioral traits such as whether it is read-only, required permissions, rate limits, or pagination. This is minimal transparency for a 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?

    The description is a single sentence of about 20 words, front-loaded with the verb and resource. No unnecessary words or repetition; 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?

    Given the tool's simplicity (1 optional parameter, no output schema, no annotations), the description adequately covers the core functionality. It explains what is listed and the optional filter. While it lacks details on return format or edge cases, it is sufficiently complete for a basic list 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?

    The schema describes the 'status' parameter as anyOf string/null with no enum values (schema coverage 0%). The description adds meaning by listing example values (Pending, Accepted, Rejected), compensating for the lack of schema info. However, it does not specify case sensitivity or exact format, so it only partially adds value.

    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', the resource 'workspace invitations', and the scope 'sent to the authenticated user'. It distinguishes from sibling tools like appflowy_accept_invitation by focusing on listing rather than accepting.

    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 viewing invitations filtered by status but does not provide explicit guidance on when to use this tool versus alternatives like appflowy_list_members or appflowy_list_workspaces. No alternatives or exclusions 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?

    No annotations exist, so the description carries full responsibility. It only states the action and result, omitting details like overwrite behavior, size limits, authentication needs, or side effects. This is insufficient 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?

    A single, front-loaded sentence that efficiently conveys purpose and outcome without superfluous 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 basic purpose but lacks behavioral details (permissions, error cases) and an output schema. For a file upload tool, it is minimally adequate but not fully comprehensive.

    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?

    The description adds no parameter information despite 0% schema coverage in the description. The schema itself has descriptions for parameters, but the description should compensate; it does not, leaving the agent with only schema details.

    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 (upload), resource (local file to AppFlowy file storage), and outcome (return URL for referencing in image/file blocks). It distinguishes well from sibling tools, which include import tools but no other upload tool.

    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 (to get a URL for pages) but lacks explicit exclusions or comparisons to alternatives. It provides enough context for typical use, but no guidance on when not to 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 exist, so the description carries full burden. It discloses that markdown is converted unless plain_text is set, and warns about the parent_view_id hierarchy. However, it does not mention authentication needs, rate limits, or side effects like overwriting.

    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 that front-load the purpose and critical details about content_format and parent_view_id. 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?

    Given no output schema and nested parameters, the description covers core usage but lacks details on return values, error handling, and complete parameter semantics. It is adequate for a simple create tool but leaves some 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 description coverage is 0% (despite inline descriptions in the schema), so the description must compensate. It adds meaning for parent_view_id (hierarchy constraint) and content_format (default behavior), but does not explain other nested parameters like layout, view_id, or collab_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 tool's purpose: saving AI answers, notes, etc. as a new AppFlowy document page. It explicitly notes it's the default tool and distinguishes from siblings like appflowy_create_page by detailing conversion behavior for markdown.

    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 gives implicit usage guidance by explaining the content_format default and warning about parent_view_id not being the workspace_id, but it does not provide explicit when-to-use versus alternatives or mention when not to use this tool.

    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 are provided, so the description carries full burden. It clearly states the operation is irreversible and affects all trashed pages in a workspace, which is appropriate for a destructive action. However, it does not mention auth needs or side effects beyond deletion.

    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 conveys the action and its irreversibility. Every word is essential, with no wasted 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?

    For a simple destructive action, the description is adequate but misses details like return value, error cases, or permission requirements. With no output schema and no annotations, some additional context would improve completeness.

    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 description coverage is 0%, so the description must compensate. It mentions 'workspace' but does not elaborate on the workspace_id parameter, lacking details like format or source. The parameter's purpose is inferred but not explicitly defined.

    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 (permanently delete all trashed pages) and the resource (workspace), with explicit verbs. It distinguishes from siblings like appflowy_delete_page_from_trash and appflowy_restore_all_from_trash.

    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 when to use (when emptying entire trash) but provides no explicit guidance on when not to use or alternatives like selective deletion. Sibling tools exist but are not mentioned.

    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 provided, the description carries the full burden. It discloses that the tool chains calls and skips pages already in place, but lacks details on error handling, side effects, permissions, and what happens to unmentioned pages.

    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 states the purpose and options, the second explains the implementation. Every sentence adds value, 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 main functionality and implementation detail, but given there is no output schema, it does not describe the return value or error conditions. It also does not mention constraints beyond the parent_view_id note already in the 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 0%, but the schema itself contains detailed parameter descriptions. The description adds context about the two-mode approach and the chaining mechanism, but the schema already explains mutual exclusivity. The description provides a useful overview but does not significantly add 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 ('Reorder the direct child pages of a space or page') and the resource ('direct child pages'), distinguishing it from sibling tools like 'appflowy_move_page' which moves a single page. It also specifies the two modes: explicit page_ids or sort_by.

    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 two usage modes and mentions that the tool chains per-page move endpoints due to the lack of a bulk endpoint, implying performance consideration. However, it does not explicitly state when not to use this tool (e.g., for moving a single page) or provide 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?

    Notes non-streaming synchronous behavior and return values (question message id and AI answer). No annotations provided, so description carries full burden; it covers key behavioral traits but omits potential side effects 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 succinct sentences front-load the purpose, then provide a critical prerequisite. No unnecessary words, highly 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?

    Adequately covers the core function for a simple tool, but lacks details on response structure and parameter specifics. With no output schema, more description would improve completeness.

    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 0%, yet description only vaguely hints at parameters ('in an existing chat'). Does not elaborate on format, constraints, or relationships between workspace_id, chat_id, and question for an AI agent.

    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?

    Describes a specific action: ask a question in an existing chat, non-streaming, returning both question message id and AI answer. Clearly distinguishes from sibling tools like appflowy_create_chat, appflowy_list_chat_messages, etc.

    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 prerequisite: 'Create a chat first with appflowy_create_chat.' Provides clear context for use, though no explicit when-not-to-use or alternatives. Still strong enough for an agent.

    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 important behavioral traits: export structure (folders for child pages, README.md), skipping non-document views with warnings, and the requirement for an empty destination directory to avoid overwrites. This provides good 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 concise at three sentences, front-loading the main action. It efficiently conveys key points about output structure and constraints. Minor improvement could be a clearer separation of the skipping behavior, but it's already well-structured.

    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 does not explain what the tool returns (e.g., success message or errors). It mentions warnings for skipped views but omits overall return value. The input schema covers required params, so input side is complete, but output behavior is missing.

    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 low (only path has a description). The tool description adds context that the space_view_id and workspace_id refer to the target space/subtree, which is helpful but not detailed. The path constraint is already in schema. Overall, it adds some value beyond schema but does not fully compensate for missing param 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 exports a space or page subtree to a local directory of Markdown files, with specific structure details. It distinguishes from siblings by explicitly mentioning mirroring appflowy_import_markdown_directory and contrasting with other export 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?

    The description implies use for exporting a space or page subtree, which differentiates it from single-page or workspace exports. However, it does not explicitly state when not to use or provide comparisons to alternative export tools like appflowy_export_page or appflowy_export_workspace.

    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 full burden. It states ordering and pagination behavior but does not disclose what happens with invalid inputs, rate limits, or other behavioral traits. Adequate 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?

    Two sentences, no fluff. Front-loaded with purpose. 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?

    Given 4 parameters, no output schema, and no annotations, the description covers core functionality: listing with ordering and pagination. Missing details like response format or error handling, but for a list tool it 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 description coverage is 0%. The description explains limit and before_message_id usage, adding meaning beyond the schema. However, it provides no explanation for required parameters workspace_id and chat_id, leaving gaps.

    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', the resource 'messages in an AI chat', and the ordering 'newest first'. It distinguishes itself from sibling tools like appflowy_chat_ask or appflowy_get_chat_settings by focusing on message listing with pagination.

    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 clear context on when to use (listing messages) and how to paginate with limit and before_message_id. It does not explicitly state exclusions or alternatives, but the usage is well-implied.

    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 provided, the description carries the full burden for behavioral disclosure. It notes that both full-text and semantic search are used when indexing is enabled, and it details return fields (object_id, preview, score). However, it does not explicitly state that the operation is read-only or non-destructive, which would be expected for a search 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, each serving a clear purpose: the first explains the action and method, the second states return fields. No wasted words, and the most critical information is 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 no output schema and no annotations, the description covers the essential aspects: what it searches, how it searches, and what results contain. It is complete enough for a search tool, though it could mention error handling or behavior when indexing is disabled.

    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 0%, so the description must compensate. It explains the 'query' parameter (keyword or natural-language query) and implies 'workspace_id' as the scope. However, it does not elaborate on 'limit' or 'preview_size' beyond defaults, missing an opportunity to add value for these 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?

    The description clearly states it searches documents in a workspace by keyword or natural-language query, specifying the resource (workspace) and action (search). It distinguishes itself from sibling tools, as no other search tool exists among the 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?

    The description clearly indicates when to use the tool (to search documents) and provides context about semantic search availability (when server indexing is enabled). However, it does not explicitly exclude other use cases or mention alternatives, though the sibling list implies no alternative search tool exists.

    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 carries full burden but only covers basic intent. Lacks details on authorization, reversibility, or effects on page content. Does not mention what happens on success or failure.

    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, no filler. First sentence states purpose, second explains parameters. Each sentence is essential and well-structured.

    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?

    Tool has 3 required parameters and nested objects, but description only covers request fields. Lacks details on workspace_id and page_id (though in schema). No output schema, so description should indicate return behavior but does not.

    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 provides descriptions for both parameters, so baseline is 3. Description adds extra context such as 'pass the page's current parent to reorder in place' and 'omit to put it first', which enhances understanding beyond 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 'Move a page to a new parent and/or reorder it among its siblings,' using specific verb and resource. It distinguishes from sibling tools like appflowy_move_page_to_trash and appflowy_reorder_pages.

    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 clear instructions on setting new_parent_view_id and prev_view_id, including reordering in place. However, it does not explicitly state when not to use this tool 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?

    No annotations are provided, so the description carries the full burden. It discloses key behaviors: preserves formatting, excludes child pages, exports locally. However, it does not mention error cases, permissions, or whether it overwrites existing files, which would strengthen 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, no fluff, front-loaded with the core action ('Export a single page as a local Markdown file'). Every sentence 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?

    Given no output schema and no annotations, the description is adequate but has gaps: it does not explain workspace_id and page_id, nor mention return values, side effects, or prerequisites. With 3 parameters and no output schema, more context would be beneficial.

    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 description coverage is 0% for workspace_id and page_id, and the description does not explain these parameters. It only adds meaning for the 'path' field (appends .md, creates directories), leaving the other two parameters entirely undocumented. This is insufficient for a 3-parameter tool.

    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 exports a single page as a local Markdown file preserving inline formatting, and explicitly distinguishes from sibling appflowy_export_space for whole subtrees.

    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?

    The description provides explicit guidance on when to use this tool (single page) and when to use an alternative (appflowy_export_space for whole subtree), with no ambiguity.

    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 that the tool reads collab storage directly, bypasses the lazy page-view path, and can recover pages. It implicitly indicates a read operation, though it does not explicitly state read-only or mention any side effects. It does not discuss permissions, rate limits, or response structure beyond Markdown.

    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 waste. The first sentence states the core purpose and output format, and the second adds valuable context about when to use it. 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?

    While the description explains the unique capability and use case, it lacks details on return format (aside from Markdown), error handling, and parameter semantics. Given the tool interacts with internal collab storage and has no output schema or annotations, more completeness would be helpful.

    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 0%, and the description does not explain any parameters by name or provide meaning beyond their existence. It mentions workspace_id and page_id implicitly (they are required) but fails to describe the optional ‘title’ parameter or the expected format. The description should compensate for low schema coverage but does not.

    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 document content as Markdown via the ‘raw collab endpoint’, with a specific verb and resource. It distinguishes itself from siblings by explaining it bypasses the lazy page-view path and can recover pages that other tools fail on.

    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?

    The description explicitly states when to use this tool: when appflowy_get_page or export report ‘Collab not found’ or return empty. This provides clear guidance on when to prefer this tool over 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 provided, the description carries the full burden. It discloses the operation is a read (Get), lists returned fields, and implies authentication scope. It does not detail error handling or limitations, but for a simple profile retrieval, this is 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?

    A single sentence of 11 words that is front-loaded with the action and includes the key information. No verbose or redundant phrasing; every word contributes.

    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 zero parameters, no output schema, and a straightforward purpose, the description is complete: it states what the tool does and what it returns. No additional context is necessary for effective usage.

    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 tool has zero parameters, and schema coverage is 100%. Baseline for 0 parameters is 4. The description does not need to add parameter information since none exist.

    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 it retrieves the authenticated user's profile, listing specific fields (uid, email, name, latest workspace). The verb 'Get' and resource 'user profile' are explicit, and it distinguishes from sibling tools that focus on workspaces, pages, or other entities.

    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 use for fetching current user info but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. It lacks comparative context with sibling getters.

    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

appflowy_mcp MCP server

Copy to your README.md:

Score Badge

appflowy_mcp 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/weironz/appflowy_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server