Skip to main content
Glama
ruchiayeon

Telegram MCP Server & Channel Monitor

by ruchiayeon

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools are clearly distinct by media type or action, but some overlap exists: copy_message vs forward_message both move messages, and send_with_buttons could be confused with send_message for text-only cases. However, descriptions clarify differences like forwarding with attribution vs copying without.

    Naming Consistency5/5

    All tools follow a strict 'telegram_verb_noun' pattern with consistent snake_case throughout. The naming is highly predictable, making it easy to infer tool purposes from their names alone.

    Tool Count3/5

    35 tools is borderline heavy for a Telegram server, though it covers many media types and actions. It feels comprehensive but may overwhelm agents with many similar tools (e.g., send_photo, send_video, send_animation).

    Completeness5/5

    The toolset provides extensive coverage of Telegram Bot API functionalities, including message CRUD, user management, media sending, and polling. There are no obvious gaps for core Telegram operations, supporting a wide range of bot workflows.

  • Average 3.5/5 across 35 of 35 tools scored. Lowest: 2.7/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under Apache 2.0.

  • 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

  • Behavior3/5

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

    Annotations already indicate this is not read-only and not destructive, so the agent knows it performs a write operation safely. The description adds that it sends videos to Telegram chats, which provides basic context but doesn't disclose important behavioral aspects like authentication requirements, rate limits, file size constraints, or what happens on failure.

    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 - just one sentence in Korean that directly states the tool's function. There's no wasted verbiage, though it could benefit from being slightly more informative given the parameter complexity.

    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 video-sending tool with 7 parameters and no schema descriptions, the single-sentence description is inadequate. While an output schema exists (which helps), the description fails to explain key aspects like required authentication, file format/size limitations, or how this differs from similar media-sending tools in the sibling list.

    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 carries full responsibility for explaining parameters. It only mentions that 'URL or file_id' can be used for the video parameter, completely ignoring the 6 other parameters (chat_id, caption, parse_mode, duration, width, height) that are documented in the schema but not mentioned in the description.

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

    Purpose4/5

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

    The description clearly states the action ('send video') and target ('Telegram chat'), making the purpose immediately understandable. However, it doesn't distinguish this tool from similar sibling tools like 'telegram_send_animation' or 'telegram_send_video_note' that also send media content.

    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 about when to use this tool versus alternatives like 'telegram_send_animation' or 'telegram_send_media_group'. It mentions that URLs or file_ids can be used, but this is parameter information rather than usage context.

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

  • Behavior3/5

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

    Annotations provide readOnlyHint=false and destructiveHint=false, indicating this is a non-destructive write operation. The description adds that it sends contacts to Telegram chats, which is consistent with annotations. However, it doesn't disclose additional behavioral traits like rate limits, authentication requirements, error conditions, or what happens after sending (e.g., message visibility, notifications).

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

    Conciseness5/5

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

    The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a straightforward tool and front-loads the essential action and target.

    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 an output schema (which handles return values), the description's main gaps are parameter documentation and usage guidance. With 0% schema coverage and 5 parameters, the description should explain what each parameter does, but only partially covers two. For a write operation with multiple parameters, this is insufficient for an agent to use it correctly 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 description coverage is 0%, meaning parameter descriptions are entirely missing from the schema. The tool description mentions '연락처(전화번호+이름)' which only covers phone_number and first_name parameters, ignoring chat_id, last_name, and vcard. With 5 parameters total and no schema documentation, the description fails to compensate for the coverage gap.

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

    Purpose4/5

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

    The description clearly states the action ('전송합니다' - send) and resource ('연락처(전화번호+이름)' - contact with phone number+name) with specific scope ('텔레그램 채팅에' - to Telegram chat). It distinguishes from sibling tools like telegram_send_message or telegram_send_location by specifying contact sending, but doesn't explicitly differentiate from all send_* siblings beyond the contact type.

    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 doesn't mention prerequisites (like chat access), comparison with other contact-sharing methods, or typical use cases. The agent must infer usage from the tool name and description alone.

    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 provide readOnlyHint=false and destructiveHint=false, indicating this is a write operation but not destructive. The description adds that it sends to a Telegram chat, which provides context about the target system. However, it doesn't disclose important behavioral details like rate limits, authentication requirements, error conditions, or what happens on success.

    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 single sentence with no wasted words. Every word contributes to the core purpose. The structure is front-loaded with the essential action and target.

    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?

    While there's an output schema, the description is inadequate for a tool with 4 parameters and 0% schema coverage. For a write operation that sends media to a messaging platform, the description should address more about behavior, constraints, and typical usage patterns. The presence of an output schema doesn't compensate for the lack of parameter guidance.

    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 description provides zero information about parameters. With 0% schema description coverage and 4 parameters (chat_id, video_note, duration, length), the description doesn't compensate at all. It doesn't explain what '둥근 비디오' (round video) means in practice or how parameters interact.

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

    Purpose4/5

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

    The description clearly states the action ('전송합니다' - send) and resource ('둥근 비디오 메시지' - round video message) with specific target ('텔레그램 채팅' - Telegram chat). It distinguishes from siblings like 'telegram_send_video' by specifying the round video format. However, it doesn't explicitly contrast with all similar sending 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 like 'telegram_send_video' or 'telegram_send_animation'. The description only states what it does, not when it's appropriate. No mention of prerequisites, constraints, or typical use cases.

    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 indicate this is not read-only and not destructive, which aligns with the 'send' action. The description adds the specific format requirement (.ogg OPUS), which is useful behavioral context beyond annotations. However, it doesn't mention authentication needs, rate limits, error conditions, or what happens if the chat_id is invalid.

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

    Conciseness4/5

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

    The description is very concise - just one sentence stating the purpose and format requirement. It's front-loaded with the core functionality. However, it could be more structured by separating format requirements from the main purpose.

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

    Completeness3/5

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

    For a tool with 5 parameters, 0% schema description coverage, no output schema details provided in context, and annotations only covering basic safety hints, the description is incomplete. It mentions the format requirement but doesn't explain parameter meanings, return values, or usage context. The existence of an output schema (per context signals) reduces the need to describe returns, but parameter understanding remains inadequate.

    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%, meaning parameter descriptions are entirely missing from the schema. The tool description mentions '.ogg OPUS 형식' which relates to the 'voice' parameter, but doesn't explain any other parameters like chat_id, caption, parse_mode, or duration. With 5 parameters and 0% schema coverage, the description provides minimal compensation.

    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 ('전송합니다' - sends) and resource ('텔레그램 채팅에 음성 메시지' - voice message to Telegram chat), specifying it sends voice messages to Telegram chats. However, it doesn't explicitly differentiate from sibling tools like telegram_send_audio or telegram_send_video_note which also send media to chats.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like telegram_send_audio or telegram_send_message. It mentions the required format (.ogg OPUS) but doesn't explain when voice messages are preferred over other message types or what distinguishes this from similar media-sending tools.

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

  • Behavior3/5

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

    Annotations indicate readOnlyHint=false and destructiveHint=false, suggesting a non-destructive write operation. The description adds context by specifying the type of action (status indicators like 'typing'), which isn't covered by annotations. However, it doesn't disclose other behavioral traits such as rate limits, authentication needs, or what happens if the chat is invalid. No contradiction with annotations exists.

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

    Conciseness5/5

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

    The description is a single, efficient sentence in Korean that front-loads the core purpose ('채팅에 상태 표시를 전송합니다') and provides illustrative examples. There is no wasted text, and it's 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.

    Completeness3/5

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

    Given the tool has an output schema (which handles return values), annotations covering safety, and low parameter complexity, the description is minimally adequate. However, it lacks details on usage context, parameter semantics, and behavioral nuances like error handling, making it incomplete for optimal agent 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 0% description coverage, with parameters 'chat_id' and 'action' only having basic titles/descriptions in Korean. The tool description doesn't add any parameter-specific semantics—it doesn't explain what 'chat_id' refers to (e.g., numeric ID) or detail 'action' values beyond the examples. With low schema coverage, the description fails to compensate adequately.

    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: '채팅에 상태 표시를 전송합니다' (send status indicators to a chat). It specifies the action ('전송합니다' - send) and the resource ('채팅' - chat), with examples like '입력 중...' (typing) and '파일 업로드 중...' (uploading file). However, it doesn't explicitly differentiate from sibling tools like 'telegram_send_message', which might be used for similar chat interactions.

    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 lacks context on prerequisites (e.g., chat access), exclusions, or comparisons to siblings like 'telegram_send_message' for actual message sending. Usage is implied through examples but not explicitly stated.

    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 indicate readOnlyHint=false and destructiveHint=false, confirming this is a non-destructive write operation. The description adds that forwarding includes '출처 표시 포함' (source attribution included), which is useful behavioral context not covered by annotations. However, it doesn't mention rate limits, authentication requirements, or error conditions beyond the generic return statement.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (description, Args, Returns). It's concise at 4 sentences total, with no redundant information. The front-loaded purpose statement is clear, though the parameter descriptions could be integrated more smoothly.

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

    Completeness3/5

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

    For a mutation tool with 3 parameters and no schema descriptions, the description provides basic parameter semantics and mentions source attribution. However, it lacks details on authentication, error handling, or comparison to sibling tools. The output schema exists, so describing return values isn't needed, but more behavioral context would help.

    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%, meaning parameter descriptions in the schema are empty. The description's Args section provides Korean descriptions for all three parameters (원본 채팅 ID, 전달 대상 채팅 ID, 전달할 메시지 ID), which adds essential semantic meaning. However, it doesn't explain format constraints (e.g., valid chat ID ranges) or provide examples.

    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: '한 채팅에서 다른 채팅으로 메시지를 포워드(전달)합니다' (forwards a message from one chat to another). It specifies the verb (forward/전달) and resource (message/메시지). However, it doesn't explicitly differentiate from sibling tools like 'telegram_copy_message' or 'telegram_forward_messages', which perform similar operations.

    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 doesn't mention sibling tools like 'telegram_copy_message' (which might preserve original formatting differently) or 'telegram_forward_messages' (which forwards multiple messages). There's no context about prerequisites, permissions, or typical use cases.

    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 indicate readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds minimal behavioral context beyond this, stating it retrieves member count and may return an error. It doesn't disclose rate limits, authentication needs, or specific error conditions, but it doesn't contradict the annotations either.

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

    Conciseness4/5

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

    The description is well-structured with a clear purpose statement, Args, and Returns sections. It's concise with no wasted sentences, though the Korean language might add slight complexity for non-Korean agents. The information is front-loaded with the main purpose stated first.

    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 low complexity (1 parameter) and the presence of annotations and an output schema, the description is somewhat complete. It covers the basic purpose and parameter, but lacks usage guidelines, detailed behavioral context, and error handling specifics, which could be important for a read operation in a messaging platform.

    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%, so the schema provides no parameter descriptions. The description includes an 'Args' section that explains 'chat_id' as '조회할 채팅 ID' (chat ID to retrieve), adding basic semantics. However, it doesn't clarify format constraints, valid ranges, or examples, leaving gaps in understanding.

    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: '채팅/그룹/채널의 총 멤버(구독자) 수를 조회합니다' (Retrieves the total number of members/subscribers in a chat/group/channel). It specifies the verb '조회합니다' (retrieve) and resource '멤버 수' (member count). However, it doesn't explicitly differentiate from sibling tools like 'telegram_get_chat', which might retrieve chat metadata rather than just member count.

    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 doesn't mention any prerequisites, such as needing appropriate permissions or being in a specific context, nor does it compare it to sibling tools like 'telegram_get_chat' that might offer related functionality. Usage is implied only by the tool's name and description.

    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 indicate this is not read-only and not destructive, which aligns with a 'send' operation. The description adds that it sends animations specifically (GIF/silent MP4), providing some context beyond annotations, but doesn't mention rate limits, authentication needs, or response 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?

    Single sentence, front-loaded with the core action. Efficiently conveys the purpose without unnecessary words, though it could be more structured with 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?

    Given the tool has an output schema (not provided here) and annotations cover basic hints, the description is minimally complete for a send operation. However, it lacks details on error conditions, return values, or usage context, making it adequate but with clear 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%, but the description doesn't add any parameter information beyond what's implied by the tool name. It mentions GIF/MP4 animations, which relates to the 'animation' parameter, but doesn't explain other parameters like chat_id, caption, or parse_mode. With no schema descriptions, the baseline is low, but the description offers minimal compensation.

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

    Purpose4/5

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

    The description clearly states the action ('전송합니다' - send) and resource ('텔레그램 채팅에 GIF 또는 무음 MP4 애니메이션' - GIF or silent MP4 animation to Telegram chat). It distinguishes from siblings like telegram_send_photo or telegram_send_video by specifying animation content, but doesn't explicitly contrast with all media-sending 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?

    No guidance on when to use this tool versus alternatives like telegram_send_video or telegram_send_media_group. The description only states what it does, not when it's appropriate or what prerequisites exist (e.g., chat access, file formats).

    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 indicate this is not read-only (readOnlyHint: false) and not destructive (destructiveHint: false), which the description doesn't contradict. The description adds minimal behavioral context about acceptable audio sources (URL or file_id), but doesn't mention rate limits, authentication requirements, file size limits, or what happens on success/failure. With annotations covering basic safety, this earns a baseline score.

    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 that states the core purpose upfront. There's no wasted verbiage, though it could be slightly more informative about usage context. The structure is appropriate for a straightforward send operation.

    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 has annotations covering read/write and destructive status, an output schema exists (though not shown), and schema coverage is complete, the description provides adequate context for a basic send operation. However, it lacks important contextual details like file format restrictions, size limits, or error conditions that would be helpful despite the structured data.

    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 has 100% description coverage with clear parameter documentation in Korean. The description only mentions 'URL 또는 file_id 사용 가능' which corresponds to the 'audio' parameter, adding minimal value beyond what's already in the schema. With high schema coverage, the baseline is 3 even without parameter elaboration in the description.

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

    Purpose4/5

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

    The description clearly states the action ('전송합니다' - send) and resource ('오디오 파일' - audio file) with the target context ('텔레그램 채팅' - Telegram chat). It distinguishes from siblings like 'telegram_send_message' or 'telegram_send_voice' by specifying audio files, but doesn't explicitly contrast with 'telegram_send_document' which could also handle audio files.

    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 'telegram_send_voice' (for voice messages) or 'telegram_send_document' (for generic file uploads). It mentions URL or file_id usage but doesn't explain when one source type is preferred over the other or any prerequisites for using this tool.

    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 provide readOnlyHint=false and destructiveHint=false, indicating this is a non-destructive write operation. The description adds that it sends '랜덤 애니메이션' (random animations), which suggests unpredictable outcomes, but doesn't detail side effects like message visibility, rate limits, or authentication needs beyond what annotations cover.

    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 front-loaded with the core action and resource. Efficient with no wasted words, though slightly vague on specifics like parameter usage.

    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 an output schema (not provided but indicated), the description needn't cover return values. It adequately explains the tool's purpose for a simple action with 1 parameter and non-destructive annotations, though could benefit from more behavioral context.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the schema lacks parameter descriptions. The tool description mentions '주사위/슬롯 등' (dice/slot etc.) and '이모지' (emoji) in the schema, but doesn't explain parameter meanings like chat_id or emoji options beyond what's minimally implied. With 1 parameter and low coverage, it partially compensates but leaves gaps.

    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 ('전송합니다' - sends) and resource ('텔레그램 채팅' - Telegram chat) with specific examples ('주사위/슬롯 등 랜덤 애니메이션' - dice/slot random animations). It distinguishes from siblings like send_message or send_photo by specifying it sends animated random content rather than text or media files.

    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 send_message for text or send_sticker for static stickers. The description implies usage for sending random animations but doesn't specify scenarios (e.g., games, random selection) 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?

    Annotations indicate readOnlyHint=false and destructiveHint=false, confirming this is a write operation that doesn't destroy data. The description adds that it sends location information to a chat, which aligns with the annotations. However, it doesn't provide additional behavioral context such as rate limits, authentication requirements, or what constitutes '전송 성공' (send success) versus errors beyond what's implied by the return statement.

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

    Conciseness4/5

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

    The description is well-structured with clear sections: purpose statement, Args with parameters, and Returns. It's appropriately sized with no redundant information. The front-loaded purpose statement is clear, though the parameter listing could be more integrated rather than in a separate Args block.

    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 moderate complexity (sending location data), annotations cover safety aspects, and an output schema exists (implied by 'Returns: str'), the description is somewhat complete. It explains the action and parameters but lacks usage guidelines and richer behavioral context. The presence of output schema means return values don't need detailed explanation, but more operational guidance would help.

    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%, meaning parameter descriptions in the schema are minimal. The description compensates by listing parameters (chat_id, latitude, longitude) with brief explanations and examples in the Args section, adding meaning beyond the bare schema. However, it doesn't fully detail parameter constraints or usage nuances, leaving some gaps.

    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: '텔레그램 채팅에 지도 핀(위치 정보)을 전송합니다' (Send a map pin/location information to a Telegram chat). This specifies the verb ('전송합니다' - send) and resource ('지도 핀' - map pin/location). It distinguishes from siblings like telegram_send_message or telegram_send_photo by focusing specifically on location data, though it doesn't explicitly contrast with telegram_send_venue which also involves 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over telegram_send_venue (which also sends location with venue details) or other messaging tools, nor does it specify any prerequisites or contextual constraints for sending locations in Telegram chats.

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

  • Behavior3/5

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

    Annotations already indicate this is not read-only (readOnlyHint: false) and not destructive (destructiveHint: false). The description adds that it sends messages and mentions Markdown support, which provides useful context beyond annotations. However, it doesn't disclose important behavioral aspects like rate limits, authentication requirements, or what happens with invalid chat IDs.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (Args, Returns) and uses bullet points for parameters. It's appropriately sized at 4 sentences total. The first sentence clearly states the purpose, though the parameter explanations could be slightly more concise.

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

    Completeness3/5

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

    For a message-sending tool with 3 parameters and no schema descriptions, the description adequately covers the basics. It mentions the tool has an output schema (Returns section), so it doesn't need to detail return values. However, it lacks important context about error conditions, rate limits, and differentiation from sibling sending tools.

    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 lists all three parameters (chat_id, text, parse_mode) with brief explanations that mostly mirror the schema descriptions. With 0% schema description coverage, the description compensates by documenting the parameters, but doesn't add significant semantic value beyond what's already implied by parameter names. The mention of Markdown support for the text parameter is helpful context.

    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: '텔레그램 채팅에 메시지를 전송합니다' (sends a message to a Telegram chat). It specifies the verb ('전송합니다' - send) and resource ('텔레그램 채팅' - Telegram chat). However, it doesn't explicitly differentiate from sibling tools like 'telegram_send_with_buttons' or 'telegram_send_photo' that also send messages but with different capabilities.

    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. With many sibling tools for sending different types of content (photos, videos, documents, messages with buttons, etc.), there's no indication that this is specifically for plain text messages with optional Markdown/HTML formatting versus those other options.

    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 indicate this is not read-only and not destructive, which the description doesn't contradict. The description adds minimal behavioral context by mentioning the two input formats (file_id or URL) and acceptable file types (.webp/.tgs/.webm), but doesn't cover important aspects like authentication requirements, rate limits, error conditions, or what happens when sending fails.

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

    Conciseness4/5

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

    The description is extremely concise with just one sentence that states the core functionality. While efficient, it might be too brief given the lack of other contextual information about this mutation tool. Every word earns its place, but more information would be helpful.

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

    Completeness3/5

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

    For a mutation tool with no destructive hint but also no read-only hint, the description provides basic functionality but lacks important context. While an output schema exists (which reduces the need to describe return values), the description doesn't address prerequisites, error handling, or how this integrates with the broader Telegram API ecosystem represented by the many sibling tools.

    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?

    With 0% schema description coverage, the description doesn't add meaningful parameter information beyond what's already implied by the tool name. It mentions 'file_id or URL' which relates to the 'sticker' parameter, but doesn't explain 'chat_id' or provide any additional context about parameter usage, format requirements, or constraints.

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

    Purpose4/5

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

    The description clearly states the action ('send sticker') and target ('Telegram chat'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other Telegram send tools like 'telegram_send_photo' or 'telegram_send_message' beyond the media type, which prevents a perfect score.

    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 about when to use this tool versus alternatives. The description mentions 'file_id or URL' but doesn't explain when one format is preferred over the other or how this compares to sending other media types like photos or videos through sibling tools.

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

  • Behavior3/5

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

    Annotations indicate readOnlyHint=false and destructiveHint=false, suggesting this is a non-destructive write operation. The description adds that it 'sends a response,' which aligns with annotations but doesn't provide additional behavioral context (e.g., rate limits, authentication needs, or side effects like user notifications). No contradiction with annotations exists, but the description offers minimal extra insight beyond what annotations cover.

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

    Conciseness5/5

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

    The description is a single, efficient sentence in Korean that directly states the tool's function without unnecessary words. It's front-loaded with the core action and target, making it easy to parse quickly. Every part of the sentence contributes to understanding the purpose.

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

    Completeness3/5

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

    Given the tool has annotations (readOnlyHint=false, destructiveHint=false) and an output schema (which reduces need to describe return values), the description covers the basic purpose adequately. However, it lacks details on usage context, parameter meanings, and behavioral nuances, leaving gaps for an AI agent to fully leverage the tool. It's minimally complete 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?

    The description mentions no parameters, while the input schema has one parameter ('params') with nested properties. Schema description coverage is 0%, meaning parameter descriptions are entirely missing in the schema. However, the description doesn't compensate by explaining parameters like 'callback_query_id' or 'text'. Since there's only one top-level parameter, the baseline is slightly higher, but the lack of semantic details keeps the score at a minimal adequate level.

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

    Purpose4/5

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

    The description clearly states the action ('send a response') and target ('inline button click/callback query'), making the purpose understandable. It doesn't explicitly differentiate from sibling tools, but since sibling tools are mostly about sending messages or managing users/chats, this tool's focus on callback queries is implicitly distinct. The description avoids tautology by not just repeating the name.

    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 doesn't mention prerequisites (e.g., needing a callback query ID from a previous interaction), exclusions, or related tools. Given the sibling list includes many message-sending tools, some context on when callback responses are appropriate would be helpful but is absent.

    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 provide readOnlyHint=false and destructiveHint=false, indicating this is a write operation but not destructive. The description adds the key behavioral detail '포워드 마크 없이' (without forward marks), which is valuable context not in annotations. However, it doesn't mention rate limits, authentication needs, or what happens if messages fail to copy.

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

    Conciseness5/5

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

    Single sentence, front-loaded with the core action, zero wasted words. Efficiently communicates the essential function without unnecessary elaboration.

    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 this is a write operation (annotations show readOnlyHint=false) with 3 required sub-parameters and an output schema exists, the description is minimally adequate. It explains the core behavior but lacks details about prerequisites, error conditions, or relationship to sibling tools. The output schema will handle return values, but the description doesn't provide enough context for safe usage.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description doesn't mention any parameters at all, failing to compensate for the schema gap. However, with only 1 parameter (a nested object with 3 sub-parameters), the baseline is 3 since the schema structure itself provides some clarity.

    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 ('복사하여 전송합니다' - copy and send) and resource ('여러 메시지' - multiple messages), specifying it's for multiple messages without forward marks. It distinguishes from 'telegram_copy_message' (singular) and 'telegram_forward_messages' (with forward marks), but doesn't explicitly mention sibling differentiation.

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

    Usage 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 'telegram_copy_message' (singular), 'telegram_forward_messages', or 'telegram_send_message'. The description only states what it does, not when it's appropriate compared to other message-sending tools.

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

  • Behavior3/5

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

    Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive write operation. The description adds minimal behavioral context beyond this—it specifies 'multiple messages at once' which hints at batch capability, but doesn't mention permissions, rate limits, or irreversible nature beyond what annotations imply.

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

    Conciseness5/5

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

    The description is a single, efficient sentence in Korean that directly states the tool's function without any fluff or redundancy. It's appropriately sized and front-loaded with 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 that this is a destructive tool with annotations covering safety, an output schema exists (so return values are documented elsewhere), and the description is concise, it's minimally adequate. However, for a tool with 0% schema coverage and no usage guidelines, it could benefit from more detail on parameters and context to be fully complete.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description mentions 'in a Telegram chat' and 'multiple messages,' which loosely corresponds to chat_id and message_ids parameters, but doesn't explain their formats, constraints (like maxItems: 100), or required types. It adds some meaning but insufficiently compensates for the schema gap.

    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 multiple messages at once') and resource ('in a Telegram chat'), making the purpose immediately understandable. It distinguishes from the sibling 'telegram_delete_message' by specifying 'multiple messages' versus single message deletion, though it doesn't explicitly name the sibling.

    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 'telegram_delete_message' for single deletions or other deletion-related tools. The description only states what it does, not when it's appropriate or what prerequisites might exist.

    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 indicate this is not read-only and not destructive, which the description doesn't contradict. The description adds minimal behavioral context beyond annotations - it mentions 'multiple messages at once' and the batch operation nature, but doesn't address rate limits, authentication needs, or what happens to forwarded messages (e.g., whether they retain original metadata).

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

    Conciseness5/5

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

    The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for the tool's complexity and front-loads the core functionality.

    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 that this is a mutation tool (forwarding messages) with no schema description coverage but good property descriptions in the schema itself, plus the presence of an output schema, the description is minimally adequate. However, it should ideally mention the 100-message limit (from maxItems in schema) and provide more behavioral context for a write operation.

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

    Parameters3/5

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

    With 0% schema description coverage, the description carries full burden for parameter explanation but provides none. It doesn't mention any of the three required parameters (from_chat_id, to_chat_id, message_ids) or their semantics. The baseline is 3 because the schema itself has good property descriptions (in Korean) that explain each parameter's purpose.

    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 ('forward multiple messages at once') and resources ('from one chat to another chat'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from its sibling 'telegram_forward_message' (singular vs. plural), which would be helpful for agent selection.

    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. There's no mention of when to choose this over 'telegram_forward_message' (for single messages) or 'telegram_copy_messages' (which might preserve original authorship), nor any prerequisites or constraints for usage.

    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 provide readOnlyHint=false and destructiveHint=false, indicating this is a non-destructive write operation. The description doesn't contradict these annotations. It adds that this sends content to a Telegram chat, which provides context about the target system. However, it lacks additional behavioral details like rate limits, authentication requirements, error conditions, or what happens if the chat_id is invalid.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that states exactly what the tool does with zero wasted words. It's front-loaded with the core functionality and uses clear terminology. Every element of the sentence contributes directly to understanding the tool's purpose.

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

    Completeness3/5

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

    Given this is a write operation (annotations show readOnlyHint=false) with 6 parameters and an output schema exists, the description is minimally complete. It explains what the tool does at a high level but lacks details about when to use it, error handling, or behavioral nuances. The existence of an output schema means return values don't need explanation, but more context about the Telegram-specific behavior would be helpful.

    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% (parameter descriptions are in Korean but counted as 0% in context signals), so the description carries full burden. The description mentions '장소(위치+이름+주소)' which maps to latitude/longitude (위치), title (이름), and address (주소), covering 3 of the 6 parameters. It doesn't mention chat_id, foursquare_id, or the specific parameter structure (nested under 'params'). Baseline would be lower, but partial coverage of core parameters brings it to adequate.

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

    Purpose4/5

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

    The description clearly states the action ('전송합니다' - send) and resource ('장소(위치+이름+주소)' - venue with location+name+address) to a specific destination ('텔레그램 채팅' - Telegram chat). It distinguishes from siblings like telegram_send_location (which sends only coordinates) by specifying it sends a full venue with name and address. However, it doesn't explicitly contrast with all similar tools like telegram_send_contact.

    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. There are multiple sibling tools for sending different types of content (location, contact, message, etc.), but the description doesn't indicate when a venue is preferred over a simple location or contact. No prerequisites, constraints, or comparison with similar 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?

    Annotations provide readOnlyHint=false and destructiveHint=false, indicating this is a non-destructive write operation. The description adds that it can both set and remove reactions, which is useful context beyond annotations. However, it doesn't disclose other behavioral traits like rate limits, authentication needs, or side effects (e.g., notifications to users). No contradiction with annotations exists.

    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 in Korean that directly states the tool's function without unnecessary words. It's front-loaded with the core action and efficiently conveys both setting and removing reactions. Every part of the 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 the tool has annotations (readOnlyHint, destructiveHint) and an output schema (implied by context signals), the description doesn't need to cover safety or return values. However, with 0% schema coverage and 4 nested parameters, the description should do more to explain parameter usage and context. It's minimally adequate but leaves gaps in understanding how to invoke the tool effectively.

    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%, so the schema provides no parameter descriptions. The tool description mentions '메시지' (message) and '이모지 리스트' (emoji list), hinting at chat_id/message_id and reaction parameters, but doesn't explain all four parameters or their semantics in detail. Since there's only 1 top-level parameter (params object), the description adds minimal value, aligning with the baseline for low 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's purpose as '메시지에 이모지 리액션을 설정하거나 제거합니다' (Sets or removes emoji reactions on a message), which specifies the verb (set/remove) and resource (emoji reactions on messages). It distinguishes from sibling tools like telegram_send_message or telegram_edit_message by focusing on reactions rather than message content. However, it doesn't explicitly differentiate from other reaction-related tools (none exist in the sibling list), so it's not a perfect 5.

    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 doesn't mention prerequisites (e.g., needing message IDs), exclusions, or comparisons to similar tools. While the sibling list includes no direct reaction alternatives, guidelines for when reactions are appropriate versus other interactions (e.g., editing messages) are absent.

    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 indicate readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it retrieves both 'file information' and 'download URL', which provides useful context beyond the annotations. However, it doesn't disclose other behavioral traits like rate limits, authentication needs, or error conditions. No contradiction with annotations exists.

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

    Conciseness5/5

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

    The description is a single, efficient sentence in Korean that directly states the tool's function. It's front-loaded with the core action and includes all necessary elements without waste. No extraneous information or redundancy is present.

    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 low complexity (one parameter), annotations covering safety (read-only, non-destructive), and the presence of an output schema (which handles return values), the description is reasonably complete. It specifies what the tool does and the key input. However, it lacks usage guidelines and richer parameter semantics, which are minor gaps in 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?

    Schema description coverage is 0%, with one parameter (file_id) documented only with a title and type in the schema. The description mentions 'file_id' as the input but doesn't add semantic details like format examples, source, or constraints. Since coverage is low, the description partially compensates by naming the parameter, but more detail would be helpful. Baseline adjusted for low 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's purpose: 'file_id로 파일 정보와 다운로드 URL을 조회합니다' (retrieves file information and download URL using file_id). It specifies the verb (retrieve/lookup), resource (file information and download URL), and key input (file_id). However, it doesn't explicitly differentiate from sibling tools like 'telegram_get_chat' or 'telegram_get_me', which also retrieve information but for 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid file_id from a message), exclusions, or comparisons to other file-related tools (none exist in the sibling list, but general usage context is missing). The agent must infer usage from the purpose alone.

    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 indicate readOnlyHint=false and destructiveHint=false, confirming this is a write operation that doesn't destroy data. The description adds context about what gets created (a poll) and mentions error handling in the returns statement. However, it doesn't disclose rate limits, authentication requirements, or other behavioral traits beyond what annotations already provide.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (Args, Returns) and uses bullet points for parameter details. While efficient, the Korean-only text might limit accessibility for some agents, and the returns statement could be more specific about success/error formats.

    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 moderate complexity (5 parameters with constraints) and the presence of an output schema (implied by 'Returns: str'), the description is reasonably complete. It documents all parameters thoroughly and indicates the return type. However, it could benefit from more behavioral context about Telegram-specific requirements or limitations.

    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?

    With 0% schema description coverage (parameters documented only in the description), the description carries the full burden of parameter documentation. It provides comprehensive details for all 5 parameters including data types, constraints (max 300 characters, 2-10 options), and default values. This fully compensates for the schema's lack of descriptions.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: '텔레그램 채팅에 투표를 생성합니다' (creates a poll in a Telegram chat). It specifies the verb ('생성합니다' - creates) and resource ('투표' - poll), distinguishing it from sibling tools like send_message or send_photo. However, it doesn't explicitly differentiate from all other messaging tools, keeping it at 4 rather than 5.

    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. With many sibling tools for sending different content types (message, photo, video, etc.), there's no indication of when a poll is appropriate versus other communication methods. No prerequisites 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.

  • Behavior4/5

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

    Annotations already indicate destructiveHint=true and readOnlyHint=false, which correctly align with the 'delete' action. The description adds useful context by specifying it's for Telegram chats and mentions potential error returns, but doesn't elaborate on permissions, rate limits, or irreversible nature beyond what annotations imply.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (purpose, Args, Returns) and uses minimal sentences. However, the Args section could be more integrated rather than separate, and some information is redundant with the schema.

    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 destructive operation with good annotations and output schema, the description covers the essential purpose and parameters adequately. It mentions error returns but could better address permissions, limitations, or differences from sibling tools to be fully complete.

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

    Parameters3/5

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

    Schema description coverage is 0%, but the description includes an Args section that documents both parameters (chat_id and message_id) with clear Korean descriptions. However, it doesn't add significant semantic context beyond what's already evident from parameter names and basic descriptions.

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

    Purpose5/5

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

    The description clearly states the specific action ('텔레그램 채팅에서 특정 메시지를 삭제합니다' - 'Delete a specific message in a Telegram chat') with the exact resource (message in a chat). It distinguishes itself from siblings like 'telegram_delete_messages' (plural) by specifying single message deletion.

    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 'telegram_delete_messages' for bulk deletion or 'telegram_edit_message' for modification instead of deletion. There are no prerequisites or contextual usage instructions 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?

    Annotations indicate readOnlyHint=false and destructiveHint=false, confirming this is a write operation that doesn't destroy data. The description adds that it sends media groups/albums (implying multiple items sent together as a unit) and specifies the 2-10 item range, which provides useful behavioral context beyond the annotations. However, it doesn't mention rate limits, authentication requirements, error conditions, or how the album appears in the chat interface.

    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 - just one sentence that efficiently communicates the tool's purpose, target, content type, and quantity constraint. Every word earns its place with no redundant information. The structure is 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.

    Completeness4/5

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

    Given that there's an output schema (which handles return values), annotations covering safety profile, and a simple parameter structure, the description provides adequate context. It clearly explains what the tool does, what it sends, and the quantity constraints. For a media-sending operation with good structural support, this description is reasonably complete, though it could benefit from mentioning sibling tool relationships more explicitly.

    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 0% schema description coverage (the schema has descriptions but they're in Korean, matching the description language), the description carries the full parameter documentation burden. It effectively explains the core parameters: it specifies the action (send media group), target (Telegram chat), media types (photos/videos), and quantity constraint (2-10 items). While it doesn't detail individual parameter fields like chat_id format or media item structure, it provides sufficient semantic context for the main 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?

    The description clearly states the action ('전송합니다' - send) and resource ('텔레그램 채팅에 사진/동영상 앨범' - photo/video album to Telegram chat), and specifies the quantity constraint (2-10 items). It distinguishes itself from single-media sending tools like telegram_send_photo or telegram_send_video by mentioning '미디어 그룹' (media group/album). However, it doesn't explicitly contrast with telegram_send_with_buttons or other multi-message tools.

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

    Usage Guidelines3/5

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

    The description implies usage context through the quantity constraint (2-10 media items) and media type specification (photos/videos), suggesting this is for sending albums rather than single media. However, it doesn't provide explicit guidance on when to choose this over alternatives like sending multiple individual messages or using other multi-content tools like telegram_send_with_buttons. No prerequisites 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.

  • Behavior3/5

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

    Annotations indicate readOnlyHint=false and destructiveHint=false, covering basic safety. The description adds context about copying without forward marks, which is useful behavioral detail not in annotations. However, it does not disclose other traits like rate limits, authentication needs, or error handling, resulting in moderate transparency.

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

    Conciseness4/5

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

    The description is well-structured with a clear purpose statement, followed by Args and Returns sections. It is front-loaded and efficient, with no wasted sentences. Minor improvement could be made by integrating the purpose more seamlessly, but overall it is concise and organized.

    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 moderate complexity, annotations covering safety, and an output schema (Returns section), the description is mostly complete. It explains the action, parameters, and return value. However, it could benefit from more behavioral context or error examples to fully guide the agent, slightly reducing completeness.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It includes an 'Args' section detailing each parameter's purpose (e.g., '원본 채팅 ID' for from_chat_id), adding meaningful semantics beyond the schema. However, it lacks details on parameter formats or constraints, preventing a perfect 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 specific action: '메시지 내용을 포워드 마크 없이 복사하여 다른 채팅에 전송합니다' (copy message content without forward mark and send to another chat). It distinguishes from sibling tools like 'telegram_forward_message' by emphasizing the absence of forward attribution, making the purpose explicit and differentiated.

    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 copying messages without forward marks, but does not explicitly state when to use this tool versus alternatives like 'telegram_forward_message' or 'telegram_copy_messages'. It provides basic context but lacks explicit guidance on exclusions or prerequisites, leaving some ambiguity for the agent.

    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 indicate readOnlyHint=false and destructiveHint=false, which the description doesn't contradict. The description adds minimal behavioral context beyond annotations, mentioning that it returns a success message or error, but doesn't detail aspects like rate limits, authentication needs, or what happens if the message can't be edited (e.g., time limits). With annotations covering basic safety, this is adequate but not rich.

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

    Conciseness4/5

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

    The description is well-structured with a purpose statement, Args, and Returns sections, making it easy to parse. It's concise with no redundant information, though the Korean language might require translation for some agents, slightly affecting accessibility.

    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 moderate complexity (editing messages), annotations provide safety hints, and an output schema exists (implied by 'Returns'), the description is reasonably complete. It covers purpose, parameters, and return values, though it could benefit from more behavioral details like edit limitations or error cases.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It provides a clear Args section listing parameters (chat_id, message_id, text, parse_mode) with brief explanations and default values, adding meaningful semantics beyond the bare schema. However, it doesn't explain parameter interactions or constraints like text length limits, which are in the schema but not described.

    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: '이미 전송된 텔레그램 메시지의 내용을 수정합니다' (edits the content of an already sent Telegram message). It uses specific verbs ('수정합니다' - edits) and identifies the resource (Telegram message), distinguishing it from sibling tools like telegram_send_message (sends new messages) and telegram_delete_message (deletes messages).

    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 context by specifying '이미 전송된' (already sent) messages, suggesting this is for editing existing messages rather than creating new ones. However, it doesn't explicitly state when to use this versus alternatives like telegram_send_message for new messages or telegram_delete_message for removal, nor does it 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.

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds useful context about what information is returned (chat name, type, member count, description), which goes beyond the annotations. However, it doesn't mention rate limits, authentication requirements, or error conditions.

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

    Conciseness4/5

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

    The description is appropriately sized with a clear purpose statement followed by Args and Returns sections. The structure is logical and front-loaded. The Korean text is efficient, though the English translation in the response format adds some 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 the simple single-parameter read operation with good annotations and an output schema (implied by 'Returns' section), the description is reasonably complete. It explains what information is returned, though doesn't detail the JSON structure. For this complexity level, it provides sufficient context for agent 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?

    With 0% schema description coverage (the schema has no parameter descriptions), the description fully compensates by clearly explaining the single parameter's purpose ('조회할 채팅 ID' - chat ID to retrieve). The description adds complete semantic meaning beyond the bare schema, though it doesn't specify format constraints (e.g., numeric ID vs username).

    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 specific action ('조회합니다' - retrieves/looks up) and resource ('채팅/그룹/채널의 상세 정보' - detailed information of chat/group/channel), with explicit scope ('채팅 ID로' - by chat ID). It distinguishes from siblings like telegram_get_chat_members_count (which only gets member count) and telegram_get_me (which gets bot info).

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

    Usage Guidelines3/5

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

    The description implies usage when detailed chat information is needed, but doesn't explicitly state when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., bot must be a member) or exclusions. The context is clear but lacks explicit guidance on tool selection.

    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 indicate readOnlyHint=false and destructiveHint=false, which the description doesn't contradict. The description adds context about acceptable document sources (URL or file_id) and caption length limits, but doesn't mention rate limits, authentication needs, or error handling beyond '전송 성공 메시지 또는 에러'. With annotations covering safety, this adds moderate value.

    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 appropriately sized with a clear purpose statement followed by structured Args and Returns sections. Every sentence adds value, though the Returns section could be more specific. It's front-loaded with the main action.

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

    Completeness4/5

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

    Given a mutation tool with annotations, 0% schema coverage, and an output schema (implied by Returns), the description is mostly complete. It explains parameters well and states the return is a success/error message, but lacks details on error types or response format. Sibling context is adequate.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description fully compensates by explaining all parameters in detail: chat_id, document (URL or file_id), caption (optional, max 1024 chars), and parse_mode (Markdown/HTML, default Markdown). It adds meaning beyond schema types, though it doesn't cover nested structures (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?

    The description clearly states the specific action ('텔레그램 채팅에 파일(문서)을 전송합니다') with the resource (Telegram chat) and distinguishes from siblings by specifying it sends documents/files rather than other media types like photos, videos, or messages. The title annotation '텔레그램 파일/문서 전송' reinforces this.

    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 context by mentioning 'URL 또는 file_id 사용 가능' and listing parameters, but doesn't explicitly state when to use this tool versus alternatives like telegram_send_photo or telegram_send_video. No guidance on prerequisites (e.g., bot permissions) or exclusions 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?

    Annotations provide readOnlyHint=false and destructiveHint=false, indicating this is a write operation but not destructive. The description adds that it sends a photo to a chat, which aligns with annotations. However, it doesn't disclose additional behavioral traits like rate limits, authentication requirements, or what happens if the photo fails to send beyond the generic '에러' (error) mention.

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

    Conciseness4/5

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

    The description is well-structured with a purpose statement followed by Args and Returns sections. Every sentence adds value: the first explains what the tool does, the Args detail parameters, and Returns indicates outcome. It could be slightly more concise by integrating parameter details into a single paragraph.

    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 an output schema (implied by 'Has output schema: true'), the description doesn't need to detail return values beyond mentioning '전송 성공 메시지 또는 에러' (success message or error). It covers the essential purpose and parameters adequately, though it lacks context on error conditions or usage examples.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description carries full burden. It provides clear semantics for all parameters: chat_id identifies the chat, photo can be URL or file_id, caption is optional with max length, and parse_mode has specific options. This compensates well for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the tool's purpose with a specific verb ('전송합니다' - send) and resource ('사진' - photo) in the first sentence. It distinguishes from siblings by specifying it's for photos only, unlike other send_* tools for different media types (animation, audio, document, etc.).

    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 context by mentioning '텔레그램 채팅에' (to Telegram chat) and that URL or file_id can be used, but doesn't explicitly state when to use this versus alternatives like telegram_send_message for text or telegram_send_media_group for multiple media. No guidance on prerequisites or when-not-to-use scenarios 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?

    Annotations indicate this is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds valuable context about the admin permission requirement, which isn't captured in annotations. However, it doesn't describe rate limits, error conditions beyond mentioning '에러' (error), or what happens when only_if_banned=false and the user isn't banned.

    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 perfectly structured with a clear purpose statement, prerequisite note, organized parameter documentation, and return value explanation. Every sentence serves a distinct purpose with zero wasted words. The information is front-loaded with the core functionality stated first.

    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 mutation tool with 0% schema description coverage, the description does an excellent job explaining parameters and returns. The output schema exists (Returns section mentions string response), so the description appropriately doesn't detail return values. It covers the essential context but could benefit from more behavioral details about edge cases.

    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%, so the description carries full burden. The Args section provides clear descriptions for all three parameters (chat_id, user_id, only_if_banned) with the boolean's default value explained. However, it doesn't explain parameter formats (e.g., what constitutes valid Telegram IDs) or the implications of only_if_banned=false.

    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 specific action ('해제합니다' - unban) and target resource ('그룹/채널에서 차단된 사용자' - banned user in group/channel). It distinguishes from sibling tools like 'telegram_ban_user' by being the inverse operation. The purpose is specific and unambiguous.

    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 about when to use this tool - when you need to unban a user in a Telegram group/channel. It explicitly mentions the prerequisite '봇이 관리자 권한 필요' (bot needs admin permissions). However, it doesn't explicitly state when NOT to use it or mention alternatives among siblings.

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

  • Behavior4/5

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

    The description adds valuable behavioral context beyond what annotations provide. While annotations indicate destructiveHint=true (mutation) and readOnlyHint=false (write operation), the description specifies the bot needs admin permissions and clarifies the temporal aspect ('until_date' for temporary vs permanent bans). It doesn't mention rate limits, error handling specifics, or what happens if the user is already banned, but provides meaningful operational 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 well-structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value: the first states purpose and prerequisites, the Args section documents parameters, and Returns indicates outcome. It could be slightly more concise by integrating the parameter explanations more seamlessly, but overall it's efficient and front-loaded.

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

    Completeness4/5

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

    Given this is a destructive operation with 3 parameters and no schema descriptions, the description does a good job covering the essentials: purpose, prerequisites, parameters, and return indication. With an output schema present, it doesn't need to detail return values. It could improve by mentioning error conditions or what happens on repeated bans, but covers the core context adequately for agent 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?

    With 0% schema description coverage, the description carries the full burden of parameter documentation. It lists all three parameters (chat_id, user_id, until_date) and provides semantic meaning for each, explaining what 'until_date' represents and that 'None' means permanent ban. However, it doesn't explain parameter formats beyond what's obvious from names, and doesn't provide examples or edge cases for parameter values.

    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 with a specific verb ('차단합니다' - ban) and resource ('그룹/채널에서 특정 사용자' - specific user in group/channel). It explicitly distinguishes from sibling tools by being the only ban operation (vs unban_user for reversal). The description goes beyond the title to specify the action and target.

    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 about when to use this tool ('그룹/채널에서' - in group/channel) and mentions a prerequisite ('봇이 관리자 권한 필요' - bot needs admin permissions). However, it doesn't explicitly state when NOT to use it or mention alternatives like temporary restrictions vs permanent bans, nor does it reference the sibling unban_user tool for reversal operations.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint=true and destructiveHint=false, indicating this is a safe read operation. The description adds valuable context by specifying the return format ('봇 정보 JSON 또는 에러' - bot info JSON or error), which helps the agent understand what to expect beyond just the safety profile. No contradictions with annotations 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 perfectly concise with two sentences that each earn their place: the first states the purpose with examples, and the second clarifies the return format. No wasted words, and the information is front-loaded with the core functionality.

    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 this is a simple read-only tool with 0 parameters, 100% schema coverage, annotations covering safety, and an output schema (implied by 'Has output schema: true'), the description provides exactly what's needed. It explains what the tool does and what it returns, making it complete for this level of complexity.

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

    Parameters4/5

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

    With 0 parameters and 100% schema description coverage, the baseline would be 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on the tool's purpose and return value, which adds meaningful context beyond the empty schema.

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

    Purpose5/5

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

    The description clearly states the specific action ('조회합니다' - retrieve/query) and resource ('현재 봇의 기본 정보' - current bot's basic information), with examples of what information is included (이름, username, id 등). It distinguishes itself from sibling tools that perform actions like sending messages, banning users, or editing content by focusing on bot metadata retrieval.

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

    Usage Guidelines3/5

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

    The description implies this tool should be used when needing bot information (name, username, ID), but doesn't explicitly state when to use it versus alternatives or provide context about prerequisites. No guidance is given about when NOT to use this tool or what other tools might serve similar purposes.

    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?

    Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds valuable context: it specifies that bot admin permissions are required, which is crucial behavioral information not covered by annotations. It also mentions the return value (success message or error), though the output schema handles this. No contradictions with annotations.

    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 appropriately sized and front-loaded with the core purpose in the first sentence. The Args and Returns sections are structured clearly, though the translation to English might slightly affect flow. 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 the tool's moderate complexity (mutation with permissions), the description is quite complete: it covers purpose, permissions, parameters, and return behavior. The output schema exists, so return values don't need explanation. It could benefit from more explicit sibling differentiation, but it's largely adequate.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description carries the full burden. It provides clear semantics for all parameters in the Args section: chat_id (채팅 ID), message_id (고정할 메시지 ID), and disable_notification (알림 없이 고정 여부). This compensates well for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the specific action ('고정합니다' - pins) and resource ('채팅에서 특정 메시지' - a specific message in a chat), and it distinguishes from siblings like 'telegram_unpin_message' (unpins) and 'telegram_delete_message' (deletes). The mention of bot admin requirement adds specificity.

    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 for when to use this tool (to pin a message in a chat, requiring bot admin permissions). It doesn't explicitly state when not to use it or name alternatives like 'telegram_unpin_message', but the context is sufficient for basic differentiation.

    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?

    Annotations indicate readOnlyHint=false and destructiveHint=false, covering basic safety. The description adds valuable context beyond annotations: it specifies the tool sends messages (a write operation, consistent with annotations), provides a concrete example of button usage, and mentions the return value ('전송 성공 메시지 또는 에러' - success message or error). This enhances understanding of behavior without contradicting annotations.

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

    Conciseness4/5

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

    The description is well-structured with a clear purpose statement, example, and parameter breakdown. It is appropriately sized for the tool's complexity. However, the example is detailed, which is helpful but slightly reduces conciseness. Overall, it is front-loaded and efficient, with each section earning its place.

    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 moderate complexity (sending messages with buttons), the description is complete. It covers purpose, parameters (with examples), and return values. Annotations provide safety hints, and the output schema exists (though not detailed in the description, which is acceptable). The description adequately supplements structured fields without redundancy.

    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?

    The input schema has 0% description coverage, so the description carries the full burden. It compensates excellently by detailing all parameters in the 'Args' section: chat_id, text, buttons (with a comprehensive example), and parse_mode (including default value). This adds significant meaning beyond the bare schema, fully documenting parameter purposes and 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's purpose: 'URL 링크 또는 콜백 버튼이 붙은 텔레그램 메시지를 전송합니다' (sends Telegram messages with URL links or callback buttons). It specifies the exact action (send), resource (Telegram message), and distinguishing feature (with buttons), differentiating it from sibling tools like telegram_send_message which presumably sends plain messages.

    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 context by mentioning buttons, suggesting it should be used when interactive elements are needed. However, it does not explicitly state when to use this tool versus alternatives like telegram_send_message or other send_* tools, nor does it provide exclusions or prerequisites. The guidance is implicit rather than explicit.

    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?

    Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds valuable behavioral context beyond annotations: it explains how offset prevents duplicate message retrieval ('offset을 사용하면 이미 처리한 메시지를 다시 가져오지 않습니다') and mentions the periodic scheduling use case. It doesn't describe rate limits or authentication needs, but provides useful implementation guidance that annotations don't cover.

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

    Conciseness4/5

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

    The description is well-structured with clear sections: purpose statement, usage guidance, parameter explanations, and return value description. Each sentence adds value. It could be slightly more concise by integrating the parameter explanations more seamlessly, but overall it's efficient with no wasted words.

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

    Completeness5/5

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

    For a read-only tool with good annotations and an output schema (implied by the Returns section), the description is complete. It covers purpose, usage pattern, parameter semantics, and return format. The output description ('메시지 목록 JSON. 각 항목에 update_id, chat_id, sender, text 포함. 메시지 없으면 "새 메시지 없음" 반환') adequately explains what to expect, compensating for the lack of formal output schema in the context signals.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description carries full burden for parameter documentation. It successfully explains both parameters: offset ('마지막으로 처리한 update_id + 1') and limit ('가져올 메시지 수'). The description adds crucial semantic context about offset preventing duplicate processing, which isn't in the schema. However, it doesn't mention the limit's maximum value (100) or that offset is optional, though the schema covers these.

    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: '텔레그램 봇으로 수신된 새 메시지를 가져옵니다' (Fetch new messages received by a Telegram bot). It specifies the exact action (fetch/retrieve) and resource (new messages), and distinguishes itself from siblings like send_message or delete_message by focusing on retrieval rather than sending or modifying 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 provides clear usage context: '스케줄 태스크에서 주기적으로 호출하여 새 메시지를 확인합니다' (Call periodically from scheduled tasks to check for new messages). This gives practical guidance on when to use it. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the many sibling tools, though the purpose naturally differentiates it from sending/modification 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?

    The description adds valuable behavioral context beyond the annotations. While annotations indicate this is not read-only and not destructive, the description specifies the admin permission requirement and clarifies the default behavior when message_id is None (unpins the most recent pinned message). This provides important operational context that annotations alone don't convey.

    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 perfectly structured with a clear purpose statement, parameter explanations in a formatted Args section, and return information. Every sentence earns its place, and the information is front-loaded with the core functionality stated first.

    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 moderate complexity (mutation requiring permissions), the description provides good coverage of purpose, parameters, and behavioral constraints. With an output schema present, it doesn't need to detail return values. The main gap is lack of error handling specifics beyond mentioning 'error' in returns.

    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 0% schema description coverage, the description carries the full burden of explaining parameters. It clearly explains both chat_id and message_id parameters, including the special behavior when message_id is None. The description adds meaningful semantic context that the bare schema lacks, though it could provide more detail about chat_id format.

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

    Purpose5/5

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

    The description clearly states the specific action ('unpin a message from a chat') and distinguishes it from sibling tools like 'telegram_pin_message'. It uses precise Korean terminology that matches the tool's function without being tautological.

    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 states when to use this tool ('to unpin a message from a chat') and mentions a prerequisite ('bot needs admin permissions'). However, it doesn't provide guidance on when NOT to use it or mention specific alternatives among the sibling tools.

    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

telegram-mcp MCP server

Copy to your README.md:

Score Badge

telegram-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/ruchiayeon/telegram-mcp'

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