Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    All 25 tools have clearly distinct purposes. Message tools are differentiated by operation type (single vs bulk, send vs edit vs delete). Stream and user tools each target a specific resource and action, leaving no ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb-noun pattern with hyphens (e.g., add-emoji-reaction, get-message, send-message). Even 'get-started' fits the pattern. No mixing of styles.

    Tool Count4/5

    25 tools is on the higher end but appropriate for a comprehensive chat server like Zulip. The number covers message operations, streams, users, emoji, drafts, scheduled messages, and file uploads, though a few could be merged (e.g., get-user and get-user-by-email could be one tool).

    Completeness3/5

    The tool set covers core messaging and user operations well, but notable gaps exist: no tools to create or update streams, nor to manage user groups beyond listing them. Also, there is no tool to get all streams (only subscribed ones). These omissions could limit agent workflows.

  • Average 3.6/5 across 25 of 25 tools scored. Lowest: 2.9/5.

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

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

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It only states the basic operation without addressing idempotency, error handling, authentication requirements, or impact of duplicate reactions.

    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 that communicates the core purpose without redundancy. However, it is so minimal that it does not add much value beyond the tool name.

    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 4 parameters and no annotations or output schema, the description is insufficient. It does not explain optional parameter behavior, return values, or edge cases, relying entirely on schema descriptions.

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

    Parameters3/5

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

    Input schema has 100% description coverage, so the schema already documents each parameter. The tool description adds no extra meaning beyond the schema, resulting in a baseline score.

    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 ('Add an emoji reaction') and the target resource ('to a message'), distinguishing it from siblings like 'remove-emoji-reaction'. However, it lacks any additional specificity about context or scope.

    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., remove-emoji-reaction). The description does not mention 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.

  • 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 'update' without detailing side effects, idempotency, prerequisites (e.g., draft existence), or return value. 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.

    Conciseness4/5

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

    The description consists of two sentences that directly convey the purpose and a key usage hint. It is concise and front-loaded, though the hint could be more concisely integrated.

    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 6 parameters, no output schema, and no annotations, the description lacks information about expected output, error conditions, update semantics (partial vs. full), and constraints like the 'type' enum. It is incomplete for the complexity.

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

    Parameters3/5

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

    The input schema has 100% description coverage, so the baseline is 3. The description adds value by explaining how to use the 'to' parameter (use users-directory tool), but provides no additional semantics for the other five 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 'Update an existing message draft,' specifying the verb and resource. It differentiates from siblings like create-draft and edit-message by focusing on drafts, but does not explicitly contrast with them.

    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., create-draft, edit-message). The only guidance is for using a complementary tool to discover user IDs, not for choosing this tool.

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

  • Behavior2/5

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

    With no annotations, the description must convey behavioral traits. It only states 'Delete', missing details about whether the deletion is permanent, any notifications triggered, or side effects on related resources.

    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 with no extraneous words. It is front-loaded and efficiently communicates the core action.

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

    Completeness3/5

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

    Given the low complexity (one parameter, no output schema), the description is minimally adequate but fails to cover important behavioral aspects like permanence or authorization. It is not fully complete 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.

    Parameters3/5

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

    The input schema provides full coverage and a description for the single parameter. The tool description adds no additional meaning beyond what the schema already offers, meeting the baseline.

    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 ('Delete') and the resource ('a message by its ID'), effectively distinguishing it from siblings like edit-message or send-message. However, it could be more specific about permanence or scope.

    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. There is no mention of prerequisites (e.g., ownership or permissions) or when it should not be used.

    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 only states it schedules a message at a future time, but lacks details on behavior like whether messages are editable, cancelable, or any side effects. Minimal disclosure for a scheduling 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 words, front-loaded with the main purpose. Every part adds value without unnecessary elaboration.

    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 and no output schema, the description is too thin. It does not explain post-scheduling behavior (confirmation, errors), timezone handling, or relationship with sibling tools like edit-scheduled-message. Users need more context for correct use.

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

    Parameters3/5

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

    Input schema covers all parameters with 100% description coverage. The description adds context for the 'to' parameter (comma-separated emails and resource hint), but no additional semantics for other parameters. Baseline 3 with slight improvement.

    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 schedules a future message, with a specific verb and resource. It implicitly distinguishes from 'send-message' (immediate) and 'edit-scheduled-message' (edit), 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 Guidelines3/5

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

    Provides guidance for the 'to' parameter (comma-separated emails for direct, reference to users-directory resource), but does not explain when to use this tool versus alternatives like 'send-message' (for immediate sending) or 'edit-scheduled-message'.

    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. It does not disclose what happens if the message_id is invalid, whether the list is empty or includes user details, or any permissions needed. The description is too brief for a mutation-free 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.

    Conciseness4/5

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

    The description is a single sentence with no wasted words. However, it could be more informative without losing conciseness, such as mentioning the output format.

    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 required parameter, no output schema, no annotations), the description is minimally adequate. It states the purpose and the parameter, but lacks details about the response format and error conditions.

    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 parameter 'message_id' is fully described in the schema as 'Unique message ID to get read receipts for.' The description adds no extra meaning beyond the schema, and with 100% schema coverage, a baseline of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get list of users who have read a specific message.' It uses a specific verb ('Get') and resource ('list of users'), and it distinguishes itself from sibling tools like 'add-emoji-reaction' or 'send-message' by focusing solely on read receipts.

    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 vs. alternatives, such as when to use it over other message-related tools. It does not mention prerequisites (e.g., message must exist) or conditions for 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 full burden. It discloses that the tool saves a draft for later editing/sending and notes the topic requirement from the schema, but lacks details on permissions, rate limits, success/failure behavior, or how to later send the draft.

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

    Conciseness4/5

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

    The description is two sentences, front-loaded, and efficient. Minor stylistic fluff (emoji, all-caps) does not detract significantly.

    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 5 parameters, no output schema, and no annotations, the tool description is incomplete. It explains purpose and gives a usage tip but omits return values, error handling, and lifecycle context (e.g., how to later send the draft).

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds a tip about user IDs but otherwise does not enrich parameter understanding beyond what the schema already provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('save a message as draft') and resource ('draft'), distinguishing it from send-message and edit-draft. However, it does not explicitly differentiate from create-scheduled-message, missing a chance to clarify scope.

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

    Usage Guidelines4/5

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

    The description provides a specific, actionable guideline: use search-users or get-users to find user IDs for the 'to' field. It does not, however, explain when not to use this tool or mention alternatives for similar tasks.

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

  • Behavior2/5

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

    No annotations provided. Description only states 'remove' without disclosing side effects (e.g., error if reaction missing), auth requirements, or idempotency. Minimal behavioral context.

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

    Conciseness5/5

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

    Single sentence of 7 words, directly stating purpose. No wasted words, front-loaded with 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?

    Tool has 4 parameters and no output schema. Description is minimal but sufficient for a straightforward deletion action. However, missing context like required conditions or error states.

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

    Parameters3/5

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

    Schema description coverage is 100% (all 4 parameters have descriptions), so baseline is 3. The description adds no further meaning beyond what the schema already provides.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Remove an emoji reaction from a message.' uses a specific verb (remove) and resource (emoji reaction), and clearly distinguishes from sibling 'add-emoji-reaction'.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like 'delete-message' or 'add-emoji-reaction'. No mention of prerequisites or context (e.g., reaction must exist, user must own 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 are provided, so the description must disclose behavioral traits. It does not mention file size limits, overwrite behavior, authentication requirements, or response format. This is insufficient for a write operation.

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

    Conciseness4/5

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

    The description is a single sentence with no redundancy. However, it could be slightly expanded to include key usage context 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?

    The tool has no output schema and lacks details on return values, error conditions, or side effects. For a file upload tool, this is insufficient for an agent to use correctly.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for all three parameters. The description adds no extra meaning beyond the schema, earning the baseline score.

    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 (file or image), and platform (Zulip). It distinguishes this tool from siblings like send-message or add-emoji-reaction by focusing on file upload.

    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 uploading files, but it provides no explicit guidance on when to use it versus alternatives, nor any exclusions 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 carries full burden. It fails to disclose important behavioral traits such as editing permissions, time limits, notification impacts, or reversibility. This is a significant gap 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, clear sentence that is front-loaded with the key action and object. Every word adds value; no fluff.

    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. It lacks information about post-edit behavior, constraints (e.g., can't edit after a time limit), or prerequisites (e.g., user must be message author).

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions. The description adds minor details ('with Markdown formatting', 'for stream messages only') that are already present in schema descriptions. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action (edit) and resource (existing message), and specifies that content or topic can be edited. This distinguishes it from sibling tools like delete-message or send-message.

    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 explicitly state when to use this tool versus alternatives (e.g., send-message for new messages, edit-draft for drafts). Usage context is only implied by the verb 'edit'.

    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 states what is returned ('stream settings, description, subscriber count') but does not disclose behavioral traits like authentication requirements, rate limits, or data freshness. More details on the response structure would improve transparency.

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

    Conciseness4/5

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

    The description is a single sentence with an emoji, but it conveys the purpose and key return items efficiently. No unnecessary words; however, the emoji may be seen as informal. Could be slightly more 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 and no annotations, the description provides a basic overview of what is returned ('stream settings, description, subscriber count'). However, it lacks details on exact fields, pagination, or error cases. For a simple retrieval tool, it is minimally adequate but not comprehensive.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds minimal extra meaning: it implies stream_id is numeric (matching schema) and mentions returning subscriber count, but does not elaborate on the include_subscribers parameter beyond the schema's description. No significant value added.

    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: 'Get comprehensive information about a stream (channel) when you have its numeric ID.' It uses a specific verb (get) and resource (stream) and distinguishes from siblings like get-stream-id (which likely retrieves ID) and get-subscribed-streams.

    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 ('when you have its numeric ID') but does not explicitly mention when not to use this tool or name alternatives. Siblings like get-stream-id (for when you don't have the ID) are not referenced.

    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 for transparency. It only states the action without disclosing any behavioral traits such as rate limits, authentication requirements, or whether the result includes group members.

    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 wasted words. It is front-loaded and effectively communicates the tool's 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 the lack of output schema and annotations, the description is insufficient for an agent to fully understand what the tool returns (e.g., group IDs, names, members). It leaves too much to inference.

    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?

    There are no parameters, and schema coverage is 100%. The description does not need to add meaning beyond the schema, and it correctly implies that no input is needed. Baseline 4 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Get' and resource 'user groups', clearly distinguishing it from sibling tools like 'get-users' and 'get-user'. It unambiguously states it retrieves all groups in the organization.

    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. It does not mention exclusions, prerequisites, or comparisons to similar tools.

    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. However, it only states the basic function without detailing mutation behavior, restrictions (e.g., cannot modify sent messages), or side effects. The description is minimal.

    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 short sentences: first defines purpose, second adds a practical tip. No redundant information.

    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 and no output schema, the description is incomplete. It does not explain return values, error conditions, permissions, or behavior on success. For a mutation tool with 6 parameters, more context is needed.

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

    Parameters3/5

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

    The input schema has 100% description coverage for all 6 parameters, so baseline is 3. The description does not add any extra meaning beyond the schema; it just restates the tool's purpose.

    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 'Modify a scheduled message before it's sent,' which is a specific verb+resource. It distinguishes from siblings like create-scheduled-message (creation) and delete-message (deletion). It also provides context for direct messages.

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

    Usage Guidelines4/5

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

    The description gives guidance on how to handle direct messages (comma-separated emails, using users-directory resource). It implies 'before it's sent' but does not explicitly state when not to use or mention alternatives.

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

  • Behavior3/5

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

    No annotations provided, so description must cover behavioral traits. It correctly implies a read-only operation and mentions return type ('array of messages with basic details'), but does not disclose potential side effects, authentication needs, 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.

    Conciseness4/5

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

    Two concise sentences with front-loaded key information ('BULK RETRIEVAL'). Minor waste from emoji and capitalization, but overall 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?

    No output schema, so description should explain return values; 'array of messages with basic details' is vague. Parameters are well-covered in schema, but lack of specifics on 'basic details' is a gap.

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

    Parameters3/5

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

    Input schema has 100% coverage with descriptions for all 5 parameters. The description adds no additional meaning beyond summarizing the existing schema fields (filtering, pagination, search).

    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 'Get multiple messages' with verbs 'get' and resource 'messages'. It distinguishes from siblings like get-message (singular) and search-users by explicitly mentioning bulk retrieval and filtering capabilities.

    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?

    Provides usage context: 'browse conversations, search for content, or get message history.' However, it lacks explicit guidance on when not to use this tool compared to alternatives like get-message or search-users.

    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 carry the burden. It only mentions getting a numeric ID but does not disclose behavior on stream not found, authentication needs, or rate limits. 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.

    Conciseness5/5

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

    One concise sentence with emoji and bold, no fluff, front-loaded. Every word earns its place.

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

    Completeness4/5

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

    For a simple lookup tool with one parameter and no output schema, the description is fairly complete. It lacks details on return format or error handling, but overall sufficient.

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

    Parameters3/5

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

    Schema coverage is 100% and description of parameter is clear. Description adds 'when you know its name' but no additional semantics beyond schema. Baseline 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the verb 'Get' and the resource 'stream ID', and distinguishes it from sibling tool 'get-stream-by-id' which does the opposite. The emoji and bolding also help.

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

    Usage Guidelines3/5

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

    Description says to use this tool to get stream ID for other operations, implying a prerequisite. However, it does not provide when-not-to-use or explicit alternatives to this tool.

    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 states 'Returns single user with complete details' but does not disclose behavior for missing emails, rate limits, authentication needs, or any side effects. For a read-only lookup, this is minimal.

    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 emoji, clear and to the point. Every word adds value, and the structure is front-loaded with 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 no output schema, the description adequately explains the tool's function and result (single user with complete details). Could optionally mention edge cases (e.g., if email not found), but overall sufficient for the 3 parameters and sibling context.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's descriptions, which already explain the parameters (email, client_gravatar, include_custom_profile_fields). No extra depth provided.

    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 'EXACT LOOKUP: Find a user when you have their exact email address.' It specifies the verb (find), resource (user), and condition (exact email), and distinguishes from siblings like 'get-user' and 'search-users' by emphasizing exact match.

    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 says 'Use this when you know the specific email and need detailed profile information,' implying when to use, but does not explicitly state when not to use or mention alternatives. Siblings include 'get-user' (for other identifiers) and 'search-users' (for partial matching), but no exclusions are given.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits. It only mentions updating status with emoji and availability, but fails to mention that away is deprecated, that empty status_text clears status, or any side effects. The description adds minimal behavioral context beyond the schema.

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

    Conciseness4/5

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

    The description is one sentence with additional examples, making it relatively concise. However, it is front-loaded but could be better structured with separate guidance for each emoji type.

    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 but omits details about the away parameter deprecation, behavior when status_text is empty, and the response format. Given the number of parameters and no output schema, it is somewhat complete but lacks depth.

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

    Parameters4/5

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

    Schema coverage is 100%, but the description adds value by providing concrete examples of how emoji parameters work together (e.g., emoji_name: 'coffee', emoji_code: '2615' for unicode). This clarifies parameter usage beyond the schema definitions.

    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 updates user status message with emoji and availability. It specifies verb 'Update' and resource 'user status message', and distinguishes from siblings like add-emoji-reaction or edit-message, which are different operations.

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

    Usage Guidelines3/5

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

    The description implies usage for setting status with emoji but does not explicitly state when to use this tool versus alternatives like send-message or add-emoji-reaction. No exclusions or context 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 provided, so description must disclose behavior. It only states 'complete list' and 'profile information', lacking details on pagination, rate limits, or any side effects. For a list tool, this is insufficient.

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

    Conciseness5/5

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

    Single sentence with emoji, front-loaded purpose, no wasted words. Excellent conciseness.

    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 is simple with 2 optional booleans and no output schema. Description covers what it returns (users, profile info) but omits pagination details. Adequate but not comprehensive.

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

    Parameters3/5

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

    Schema covers 100% of parameters with descriptions. Description adds no extra meaning beyond schema, so baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states 'Get complete list of all users' with specific verb and resource. Differentiates from 'get-user' (singular) and 'search-users' (filtered).

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

    Usage Guidelines4/5

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

    Explicitly says 'Use this to see everyone at once or when you need the full user directory', providing clear context. Does not explicitly mention when not to use but implies 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?

    Annotations are absent, so the description bears the burden. It states 'Retrieve', implying read-only behavior, but does not explicitly confirm non-destructive nature, rate limits, or scope (e.g., user-specific drafts). Adequate for a simple retrieval.

    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. Perfectly concise and front-loaded.

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

    Completeness4/5

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

    For a simple retrieval tool with no parameters and no output schema, the description is almost complete. Could optionally mention that it returns drafts for the current user, but it's not strictly necessary.

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

    Parameters4/5

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

    With zero parameters, the baseline is 4 as per guidelines. The description adds no parameter details, but none are needed since the schema already covers all (empty).

    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 clear verb-resource combination ('Retrieve all saved message drafts'), which exactly describes the tool's function. It distinguishes from siblings like 'create-draft' and 'edit-draft' by specifying retrieval of all drafts.

    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 is no mention of when not to use it, nor any comparison to sibling tools like 'get-message' or 'search-users'.

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

  • Behavior3/5

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

    No annotations are provided, so the description must fully disclose behavior. It describes the tool as retrieving 'recent topics', implying a read-only operation, but does not specify ordering, pagination, or permission requirements. This is adequate but not thorough.

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

    Conciseness5/5

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

    The description is two sentences, each serving a distinct purpose: first explains the tool's function, second gives usage guidance. No redundant information, and the key info is front-loaded. The emoji adds visual clarity without detracting.

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

    Completeness3/5

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

    For a simple one-parameter tool, the description covers the main action and use case. However, since there is no output schema, the return format (e.g., what fields are included, whether paginated) is omitted, leaving the agent without complete 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 input schema already provides a clear description for the sole parameter (stream_id). The tool description does not add extra semantic meaning beyond reiterating that it's for topics in a stream. Baseline score of 3 is appropriate given 100% schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Get') and resource ('all recent topics in a specific stream'), and differentiates from sibling tools like get-messages by focusing on conversation threads (topics). The emoji and bolded 'STREAM TOPICS' reinforce the tool's purpose.

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

    Usage Guidelines4/5

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

    The phrase 'Use this to browse what's being discussed in a stream' provides a clear usage context. However, it lacks explicit contrasts with alternatives (e.g., when to use get-messages instead) or exclusions, leaving some ambiguity for complex queries.

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

  • Behavior3/5

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

    No annotations provided; description implies read-only operation but does not explicitly state behavioral traits like no side effects or authorization requirements. Adequate but not thorough.

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

    Conciseness5/5

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

    Single sentence with emoji, front-loaded with purpose. Every word adds value, no fluff.

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

    Completeness4/5

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

    Given the tool has 3 params, no output schema, and is a simple retrieval, the description adequately states it returns a single message with full details. Could mention return format but not strictly necessary.

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

    Parameters3/5

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

    Input schema has 100% coverage with descriptions for all three parameters. Description adds no extra detail beyond schema, so baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it gets a single message by ID, with specific use cases like in-depth analysis, edit history, reactions. Distinguishes from sibling get-messages (plural) and others.

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

    Usage Guidelines4/5

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

    Explicitly says 'when you have its ID' and lists use cases. Does not explicitly say when not to use, but context is clear there are alternatives for batch operations.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. Implies a read operation but does not disclose behavioral traits like authorization requirements, rate limits, or data freshness. Adequate but limited.

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

    Conciseness5/5

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

    Two concise sentences with no waste. Front-loaded with the core purpose, followed by a usage hint and terminology note. Every sentence adds value.

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

    Completeness5/5

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

    Given the tool's simplicity (one optional parameter, no output schema), the description covers purpose, usage context, and terminology clarification. Sufficient for an agent to select and invoke correctly.

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

    Parameters3/5

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

    Schema description coverage is 100% for the single optional parameter 'include_subscribers'. The description does not add any additional meaning beyond the schema, so baseline 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get all streams you're subscribed to', specifying the verb (get) and resource (subscribed streams). It distinguishes from sibling tools like get-stream-by-id and get-topics-in-stream by focusing on user's subscribed streams.

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

    Usage Guidelines4/5

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

    Provides a concrete use case: 'Use this to see what streams are available before sending messages.' Also clarifies terminology equivalence (streams and channels). Lacks explicit when-not-to-use or alternatives but gives clear context.

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

  • Behavior4/5

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

    No annotations provided, so the description must cover transparency. It states the tool 'Returns complete user information', implying a safe read operation. It does not disclose if any side effects occur or permission requirements, but for a GET-like tool, this is adequate. No contradiction with annotations as none exist.

    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, using a single sentence with an emoji for emphasis. It front-loads the purpose and includes key return fields without unnecessary fluff. Every part earns its place.

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

    Completeness4/5

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

    Given the tool's simplicity (3 parameters, 1 required, no output schema, no annotations), the description covers the input context (user ID source) and output (profile fields). It lacks mention of default values or error handling, but the schema complements these gaps. Fairly complete for its complexity.

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

    Parameters3/5

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

    Schema coverage is 100% with detailed parameter descriptions. The description adds that user_id comes from search-users, but does not elaborate on the boolean parameters beyond what the schema provides. With high schema coverage, baseline 3 is appropriate; description adds marginal 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 'Get comprehensive user profile' when you have their user ID, specifying the resource (user profile) and action (get). It distinguishes from siblings by mentioning the ID comes from search-users results, and lists returned fields (role, timezone, avatar, custom profile fields).

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

    Usage Guidelines4/5

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

    The description explicitly says 'when you have their user ID (from search-users results)', guiding the agent to use this tool only after obtaining the ID via search-users. It implies alternatives like search-user-by-email for email-based lookups, but lacks explicit when-not-to-use or direct sibling comparisons.

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behaviors. It explains that the tool sends messages and gives input validation notes (e.g., 'topic' required for streams), but does not cover idempotency, rate limits, or error scenarios. Adequate but lacks depth.

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

    Conciseness5/5

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

    Three sentences with no wasted words. The purpose is stated first, followed by critical usage tips. Efficient and well-structured.

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

    Completeness4/5

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

    The tool has no output schema and moderate complexity. The description covers core functionality, parameter usage, and prerequisites. Could add more about error handling or limitations, but is sufficient for a basic messaging tool.

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

    Parameters5/5

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

    Schema description coverage is 100%, and the description adds significant value: it explains the 'type' enum values, how to format 'to' for streams vs. DMs, gives Markdown examples for 'content', and clarifies the conditional requirement for 'topic'. This goes well 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 ('Send a message') and the resources ('Zulip stream' or 'direct message to users'). It distinguishes between the two message types, and the purpose is unique among siblings such as delete-message or edit-message.

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

    Usage Guidelines4/5

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

    Explicit guidance is provided: use exact stream names from 'get-subscribed-streams', use email addresses from 'search-users' for DMs (not display names), and include 'topic' for stream messages. These instructions prevent common errors but do not contrast with sibling tools.

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

  • Behavior4/5

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

    No annotations provided, so the description carries the burden. It states the tool returns multiple matching results with basic info (name, email, ID), implying a read-only, non-destructive operation. It lacks explicit statements about idempotency or error handling, but the purpose is clear. Slightly lacking in stating limits or pagination, but adequate for a simple search.

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

    Conciseness4/5

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

    Two sentences, front-loaded with key information. The emoji and 'DISCOVERY:' label are slightly extraneous but not harmful. Every sentence earns its place, and the description is efficient.

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

    Completeness5/5

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

    For a simple search tool with no output schema, the description provides essential information: what it does, when to use it, what parameters it accepts (via schema), and what it returns. It is complete enough for an agent to select and invoke correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description adds context about partial name or email matching, which aligns with the schema. It does not add significant meaning beyond what the schema already provides, so a 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Search for users' and the resource 'users'. It distinguishes from siblings by specifying 'when you don't know exact details' and 'use this first to explore... before sending direct messages', which differentiates it from tools like get-user or get-user-by-email.

    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?

    Explicit guidance on when to use: 'when you don't know exact details' and 'use this first to explore and find users before sending direct messages'. This sets clear expectations compared to other sibling tools that require exact identifiers.

    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 must convey behavioral traits. It implies a safe, read-only operation ('test connection', 'get overview') without side effects, but could explicitly state it does not modify data or require special permissions.

    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, using a single sentence plus a short follow-up. It front-loads key information with an emoji and 'START HERE', making it immediately scannable. Every word adds value.

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

    Completeness5/5

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

    Given the tool's simplicity (zero parameters, no output schema, no annotations), the description fully covers its purpose and usage context. It explains why an agent might need this tool first, which is sufficient for correct invocation.

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

    Parameters4/5

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

    The tool has zero parameters, so the description cannot add parameter-level details. The schema coverage is 100% (trivially), earning a baseline score of 4 as per guidelines.

    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: 'Test connection and get workspace overview' with action-oriented language like 'verify everything is working' and 'see available streams'. It distinguishes itself from sibling tools which are more specific (e.g., get-stream-by-id, get-messages).

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

    Usage Guidelines4/5

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

    The description explicitly advises to 'Use this first' and labels it as 'Perfect for orientation and troubleshooting', providing clear guidance on when to use. No alternative tools are mentioned, but given its unique starter role, it's acceptable.

    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

zulip-mcp-server MCP server

Copy to your README.md:

Score Badge

zulip-mcp-server 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/avisekrath/zulip-mcp-server'

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