Skip to main content
Glama
OrrBin

Telegram MCP Server

by OrrBin

Server Quality Checklist

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

  • Disambiguation2/5

    Multiple tools have unclear boundaries, particularly around files/media: get_file_info vs get_media_info, get_media_content vs download_file, and send_media vs send_document are easily confused. The descriptions do not clearly differentiate these tools, which could lead an agent to select the wrong one.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern (e.g., search_chats, send_message, get_chat_info). This makes the naming predictable and easy to learn, with no mixed styles or arbitrary deviations.

    Tool Count4/5

    The server has 18 tools, slightly above the typical well-scoped range of 3-15. However, given the breadth of Telegram's API and the need to cover messaging, media, search, and chat management, the count is reasonable and not excessive.

    Completeness4/5

    The tool set covers the core Telegram operations: sending messages/media, retrieving messages, searching, editing/deleting/forwarding, and chat/user info. Minor gaps exist, such as no direct 'get message by ID' or chat management operations like leaving a chat, but agents can generally accomplish tasks with the provided tools.

  • Average 3.1/5 across 18 of 18 tools scored.

    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 MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. 'Delete a message' implies a destructive operation but does not mention irreversibility, required permissions, whether it affects all users, or any side effects. This is a significant gap for a mutation tool.

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

    Conciseness4/5

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

    The description is a single concise sentence with no unnecessary words. It is front-loaded and direct. However, it is so minimal that it borders on under-specification, but for the conciseness dimension, it is appropriately brief.

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

    Completeness2/5

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

    Given the tool's simplicity, the description is not complete enough. There is no output schema, no annotations, and no mention of important context such as whether deletion is permanent, how it affects chat histories, or any preconditions. The description does not provide enough information for an agent to use the tool safely and 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?

    The input schema covers 100% of the parameters with clear descriptions for chatId and messageId. The description itself adds no parameter information, so it does not enhance the schema. The baseline of 3 is appropriate because the schema already documents both parameters adequately.

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

    Purpose3/5

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

    The description 'Delete a message' clearly states the action and resource, and the verb 'delete' distinguishes it from siblings like edit_message and send_message. However, it is essentially a paraphrase of the tool name with no additional context about scope or effects, making it only minimally adequate.

    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 is no mention of prerequisites, context, or cases where other tools (e.g., edit_message) might be more appropriate. The appropriate usage is implied only by the tool's name and the verb 'delete'.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. The description merely paraphrases the tool name and gives no information about side effects, permissions, reversibility, notification behavior, or whether message metadata changes. This is a significant gap for a mutation tool.

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

    Conciseness4/5

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

    The description is extremely concise at just four words, and it avoids unnecessary fluff. However, it is under-specified for practical use, so it is not an effective use of the limited text; it could have been expanded with useful context while still remaining concise.

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

    Completeness2/5

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

    The tool is a simple edit operation with three parameters, all required and documented. However, without any behavioral details or usage guidance, and with no output schema, an agent lacks essential context about when to use this tool and what the consequences are. This falls short of being complete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the parameters (chatId, newText, messageId) are already fully documented in the schema. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

    Purpose4/5

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

    The description 'Edit an existing message' clearly states the verb (edit) and resource (message), which distinguishes it from sibling tools like send_message and delete_message. However, it does not specify what aspect is edited (e.g., text) or add any scope beyond the tool 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?

    No guidance is provided regarding when to use this tool instead of alternatives like delete_message or send_message. There are no prerequisites, context, or exclusions mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the burden of disclosing behavioral traits. It only restates the tool's action and source ('from a message') but says nothing about side effects (e.g., writing to disk), return values, or permission requirements. This is minimal disclosure beyond the name.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no redundant information. It is front-loaded and efficient, earning full marks for conciseness and structure.

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

    Completeness2/5

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

    With 3 parameters, no annotations, and no output schema, the description is under-specified. It does not explain what happens with outputPath, whether the file is saved locally, or what the return format is, which are important for a file download tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so all parameters are already explained in the schema. The tool's description adds no additional meaning about parameter usage, so the baseline score of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the tool's function with a specific verb ('download') and resource ('a file from a message'), making its purpose unmistakable. However, it does not explicitly differentiate from sibling tools like get_media_content or get_file_info, so it doesn't earn a 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?

    There is no guidance about when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, leaving the agent without direction on tool selection.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully describe behavioral traits. It only states 'Forward a message to another chat', which implies creating a copy, but does not disclose whether the original is kept, whether the forwarded message is editable, permissions required, or any side effects. Significant gaps exist for a mutation tool.

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

    Conciseness5/5

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

    The description is a single concise sentence, front-loaded with the action and target. No filler or redundant information.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is thin. It does not explain return values, error cases, or nuances like cross-chat permissions and media support. The simple schema covers parameters, but contextual guidance is missing, making the tool less trustworthy for autonomous agents.

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

    Parameters3/5

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

    Schema description coverage is 100%, with each parameter (fromChatId, messageId, toChatId) having its own description. The description adds little beyond the schema, but the phrase 'another chat' reinforces the destination semantic. Baseline 3 is appropriate since the schema carries the parameter meaning.

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

    Purpose4/5

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

    The description uses a specific verb ('forward') and resource ('message'), indicating it forwards an existing message to another chat. It distinguishes from siblings like send_message by implying a re-post of an existing message, but it does not explicitly state that the message must already exist.

    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 send_message or other messaging tools. It does not mention prerequisites, such as whether the user must be a member of both chats, or whether the tool is appropriate for media messages.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It only states 'get detailed information' without covering permissions, side effects, return type, or error behavior. It also does not clarify whether the file content is returned or just metadata, leaving the agent uncertain about the operation's outcome.

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

    Conciseness4/5

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

    The description is a single concise sentence with no redundancy, front-loading the primary action. While it is under-specified in content, it is appropriately sized for the limited information it conveys, earning a high score on conciseness alone.

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

    Completeness2/5

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

    With no output schema and no annotations, the description must explain what 'detailed information' entails, but it does not. It also lacks guidance on use cases or limitations relative to sibling tools. The tool's moderate complexity (2 parameters) and missing return format make this description incomplete for an agent to fully understand the tool's behavior.

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

    Parameters3/5

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

    The input schema has 100% coverage, fully describing both messageId and chatId. The description does not add extra semantics about the parameters, merely implying the file is located via these identifiers. Given the high schema coverage, the baseline is 3, and the description provides no additional value.

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

    Purpose4/5

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

    The description uses the specific verb 'get' and identifies the resource as 'detailed information about a file in a message,' which clearly states the tool's purpose. It does not explicitly contrast with siblings like get_media_info, but the phrase 'in a message' narrows the scope enough to indicate a distinct use case.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, conditions, or exclusions. With sibling tools like get_media_info and download_file, the absence of usage direction is a noticeable gap.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic action and does not reveal what happens after download (e.g., return value, file creation, error conditions, or path behavior), leaving significant ambiguity.

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

    Conciseness5/5

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

    The description is a single concise sentence, immediately front-loaded with the action and target. There is zero wasted text, and it is easy to parse.

    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?

    There is no output schema and no annotations, so the description should explain return values and key behaviors. It does not mention what the tool returns (e.g., file path or binary) or how 'downloadPath' affects behavior, making the description incomplete for reliable invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional parameter meaning, but it does not need to compensate since the schema is complete; baseline 3 is appropriate.

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

    Purpose4/5

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

    The description uses a specific verb and resource ('Download media content from a message'), clearly indicating the tool's action and scope. However, it does not explicitly differentiate from sibling tools like 'download_file' or 'get_media_info', so it stops short of a 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?

    No usage guidance is provided. The description does not mention when to use this tool versus alternatives such as 'download_file' or 'get_media_info', nor does it state any prerequisites or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It discloses only that it retrieves information but not what fields are returned, error conditions, or behavior when the message has no media.

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

    Conciseness5/5

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

    The description is a single clear sentence with no extraneous content. It is appropriately sized for a simple read operation, though it could have been more informative while still being concise.

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

    Completeness2/5

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

    Given the lack of output schema and annotations, the description should explain what information is returned. It doesn't specify the return fields or behavior, making it incomplete for an agent to fully understand the tool's 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?

    The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides.

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

    Purpose4/5

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

    The description clearly states the action (get) and the resource (information about media in a message). It distinguishes from siblings like get_media_content and get_file_info by specifying media and information, but it doesn't explicitly name alternatives.

    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. The description only states what it does, leaving the agent to infer usage from sibling names.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It merely states the action without mentioning whether the operation is read-only, potential side effects, limits on thread depth, or what constitutes 'context'. The 'get' verb implies a read operation, but no further behavioral details are disclosed.

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

    Conciseness5/5

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

    The description is a single sentence that front-loads the core purpose without redundant words. It is appropriately sized for a simple read operation, and every word earns its place.

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

    Completeness2/5

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

    Given no output schema and no annotations, the description is too minimal to provide complete context. It fails to explain return values, how the optional parameters (includeThread, includeReplies) affect the result, or any edge cases. The tool has 2 required and 2 optional parameters, so more detail is needed.

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

    Parameters3/5

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

    The input schema covers all four parameters with descriptions (coverage 100%), so the baseline is 3. The description adds no additional meaning beyond the schema, but it doesn't need to since the schema is already self-explanatory.

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

    Purpose4/5

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

    The description states a clear action ('Get detailed context') and resource ('a message'), and explicitly mentions 'reply chain and thread', which distinguishes it from siblings like get_messages and search_messages. However, 'detailed context' is somewhat vague, leaving ambiguity about the full scope of what is returned.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as get_messages or search_messages. The description lacks explicit context for choosing this tool, making it unclear when this is the appropriate choice.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention side effects, required permissions, file size limits, or error behavior. The description is essentially a restatement of the tool's name with minimal additional context.

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

    Conciseness4/5

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

    The description is a single, well-formed sentence with no wasted words, making it concise and front-loaded. However, it sacrifices substance for brevity, lacking details that would help a user understand the tool's full purpose.

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

    Completeness2/5

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

    The tool has four parameters, no output schema, and no annotations, yet the description is only six words. It fails to clarify important context such as the types of supported documents, required file access, or how it relates to other send tools, leaving the agent with insufficient information to use it correctly in varied situations.

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

    Parameters3/5

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

    The schema describes all four parameters (chatId, caption, filePath, replyToMessageId) with clear descriptions, so the schema provides comprehensive coverage. The description adds no additional parameter semantics beyond what the schema already states.

    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'), the object ('a document file'), and the destination ('to a chat'), which is specific enough to indicate its function. However, it does not explicitly distinguish itself from sibling tools like send_media or send_message, so it lacks explicit 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?

    There is no guidance on when to use this tool instead of alternatives such as send_media or forward_message. The description only states the basic action with no context, prerequisites, or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure, yet it only restates the basic action. It fails to mention supported media types, file size limits, response behavior, or side effects, providing little insight beyond the tool's name.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. Every word contributes to the core meaning, making it appropriately concise.

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

    Completeness2/5

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

    No output schema and no annotations mean the description must fully contextualize the tool, but it is too terse. It doesn't explain expected outcomes, error handling, or how it differs from similar send tools, leaving a significant gap for an action tool.

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

    Parameters3/5

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

    The input schema covers 100% of parameters with descriptive text, so the baseline is 3. The tool description adds no extra semantic meaning beyond what the schema already provides, but given the high schema coverage, it does not need to compensate.

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

    Purpose4/5

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

    The description uses a specific verb 'send' and identifies the resource as a 'media file to a chat', clearly stating the tool's intent. However, it does not differentiate from siblings like send_document or send_message, so it is clear but lacks sibling distinction.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as send_document or send_message. The description does not mention any exclusions, typical scenarios, or prerequisites, leaving the agent without explicit direction.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. 'Detailed information' is vague—it does not specify what fields are returned, whether any permissions are needed, or if there are any side effects or rate limits. The read-only nature is implied but not stated.

    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 that is appropriately concise and front-loaded. There is no redundancy or wasted words.

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

    Completeness3/5

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

    The tool is simple with only one parameter, but the absence of an output schema and any behavioral detail leaves gaps about what 'detailed information' includes. It is adequate for basic invocation but incomplete for a full understanding of the tool's capabilities.

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

    Parameters3/5

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

    The input schema fully describes the single parameter chatId at 100% coverage. The description adds no meaning beyond the schema, so the baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description uses a specific verb ('Get') and resource ('detailed information about a specific chat'), which clearly identifies the tool's function. It implicitly distinguishes itself from list/search siblings by focusing on a single chat, though it doesn't explicitly differentiate from other 'get' 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?

    There is no guidance on when to use this tool versus alternatives like list_chats or search_chats. No exclusions, prerequisites, or alternative recommendations are provided.

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

  • Behavior2/5

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

    No annotations exist, so the description carries the full burden. It implicitly indicates a read-only operation but does not disclose error behavior, permission requirements, or what information is returned. Minimal behavioral detail beyond the obvious.

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

    Conciseness5/5

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

    A single, front-loaded sentence that conveys the essential operation with no redundant words. It is appropriately sized for the tool's simplicity.

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

    Completeness3/5

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

    For a simple get-by-ID tool, the description is minimally adequate. However, without an output schema or annotations, it leaves unspecified what 'information' is returned and how errors are handled, which are notable 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 covers the parameter fully with a clear description of 'userId'. The tool description adds no extra meaning about parameters, which aligns with the baseline for high schema coverage.

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

    Purpose4/5

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

    The description clearly states the action (get) and resource (user) with specificity ('a specific user'). It is unambiguous among siblings (which target chats, files, media, etc.), though it does not explicitly distinguish itself from alternatives.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs. alternatives. There is no mention of use cases, prerequisites, or exclusions, so the agent receives no contextual direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the basic search function and does not mention return format, pagination, error handling, authentication needs, or limitations. For instance, it does not clarify whether the search matches partial titles, how many results are returned by default, or if there are rate limits. This is a minimal disclosure that leaves significant gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence with no redundant words or filler. It states the essential action and criteria in a compact format, earning every word. There is no unnecessary elaboration, and the structure is perfectly appropriate for the tool's simplicity.

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

    Completeness3/5

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

    The tool is relatively simple with two parameters and no output schema. The schema covers the parameters well, and the description provides a clear purpose. However, the absence of annotations and output schema means the description should compensate by explaining return values or behavioral details, which it does not. For a search tool, this is a moderate gap—adequate for basic understanding but lacking crucial context like result structure or edge 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?

    The schema covers both parameters (query and limit) with descriptions, giving a baseline of 3. The description adds meaningful extra semantics by stating that search can be performed 'by title or username,' whereas the schema's query description only mentions 'title.' This additional insight about the username criterion is valuable, even though it creates a slight inconsistency with the schema. The added context justifies a score above baseline.

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

    Purpose4/5

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

    The description clearly states the tool's function: 'Search for chats by title or username.' It specifies the action (search) and resource (chats), and the criteria (title or username) makes it distinct from siblings like list_chats or get_chat_info. However, it does not explicitly differentiate from search_messages or provide a comparison, so it lacks the explicit sibling distinction seen in high-scoring examples.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or scenarios where another tool (e.g., list_chats or search_messages) would be more appropriate. The phrase 'Search for chats' implies a general use case but offers no explicit when-to-use or when-not-to-use direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects on chat read state, permissions, error handling, or the return value. The only disclosed behavior is the marking action itself, which is insufficient for a mutation tool.

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

    Conciseness5/5

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

    The description is a single, concise sentence that directly conveys the tool's purpose without any unnecessary words. It is appropriately sized for a simple tool and is easy to parse.

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

    Completeness3/5

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

    The tool is simple with only two fully documented parameters, and the action is straightforward. However, the lack of an output schema and annotations means the agent is left without information about return values or potential side effects. A bit more context would improve completeness, but the current description is minimally viable for a tool of this complexity.

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

    Parameters3/5

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

    The input schema fully describes both parameters (chatId and messageIds) with 100% coverage. The description adds no additional parameter-level meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly identifies the tool's action: marking specific messages as read in a chat. It uses a specific verb ('mark') and resource ('messages'), and it distinguishes this tool from sibling tools like send_message or get_messages by focusing solely on read-state updates.

    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, when not to use it, or how it compares to alternatives. It simply states what the tool does, leaving the agent to infer the appropriate context from the name and description.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the action without mentioning side effects (e.g., message creation), permissions required, delivery guarantees, or behavior around replyToMessageId. This is a significant gap for a mutating operation.

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

    Conciseness5/5

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

    The description is a single, concise sentence that immediately states the action and target. There is no wasted verbiage, and the structure is appropriately front-loaded.

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

    Completeness3/5

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

    For a simple send operation, the description is minimally sufficient, especially with a complete schema. However, it lacks any mention of return values, prerequisites, or how this text-message tool compares to sibling media/document send tools, leaving some contextual ambiguity.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning beyond what the schema provides, which meets the baseline for 100% coverage.

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

    Purpose5/5

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

    The description uses a specific verb and resource combination: 'Send a text message to a chat'. This clearly distinguishes it from sibling tools like send_media and send_document, which handle non-text content.

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

    Usage Guidelines3/5

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

    The usage context is implied by the tool name and description: use this when you need to send a text message. However, there is no explicit guidance on when to prefer this over alternatives like send_media or edit_message, and no exclusions or prerequisites are stated.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility for disclosing behavior. It only says 'Get recent messages' and offers the 'me' tip. It does not explain return format, ordering (e.g., ascending/descending), how fromMessageId affects results, or any safety/authorization aspects. This is a significant gap for a tool with no annotations.

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

    Conciseness5/5

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

    The description consists of two concise sentences, with the most important information front-loaded. There is no redundant filler, and every word serves a 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?

    The tool has no output schema and no annotations, so the description should compensate. It gives a basic usage statement but omits behavioral details like pagination logic (fromMessageId), default ordering, and response structure. While the schema covers parameters well, the overall contextual completeness is only adequate, not rich.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds the word 'recent,' which implies ordering, but it largely repeats the chatId 'me' tip already present in the schema. It does not add meaningful semantics for 'limit' or 'fromMessageId' beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get recent messages from a specific chat.' This uses a specific verb (get) and resource (messages from a chat), and it is clearly distinct from sibling tools like search_messages or get_message_context. The added tip about using 'me' for Saved Messages further clarifies the scope.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: when you need recent messages from a specific chat. It does not explicitly mention alternatives or exclusions, but the contrast with siblings like search_messages or get_message_context is implicit. The 'me' tip gives additional usage guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses that only accessible chats are returned, which is useful, but it does not mention pagination or that the limit parameter restricts the result set, creating a slight mismatch with the word 'all'.

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

    Conciseness5/5

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

    The description is a single concise sentence that immediately states the action and scope. No filler or redundant information.

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

    Completeness3/5

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

    For a simple list tool with one optional parameter and no output schema, the description is mostly adequate. However, it omits the limiting behavior of 'limit', making 'all' potentially misleading, so completeness is slightly reduced.

    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 fully documents the 'limit' parameter with description, default, and range. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.

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

    Purpose5/5

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

    The description clearly specifies the verb 'List' and the resource 'chats, groups, and channels', and indicates scope ('you have access to'). This distinguishes it from sibling tools like search_chats or get_chat_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 use for enumerating all accessible conversations, but does not explicitly contrast with search_chats or state when to prefer this over alternatives. No clear exclusions or alternative suggestions are provided.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits such as matching rules (exact/fuzzy), case sensitivity, result ordering, or pagination. It only restates the tool's purpose and scope, leaving the agent without details that would be useful for a search tool.

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

    Conciseness5/5

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

    The description is a single sentence, front-loaded with the action and scope, and contains no unnecessary words. It is highly concise and efficiently conveys the tool's 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?

    For a simple search tool with 100% schema coverage, the description is minimally viable. However, the lack of an output schema and any behavioral notes means the agent cannot fully anticipate return format or edge cases, making it slightly incomplete.

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

    Parameters3/5

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

    The input schema provides descriptions for all three parameters (query, chatId, limit) with 100% coverage. The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action 'Search for messages' with a specific resource and scope ('across all chats or within a specific chat'). It distinguishes from sibling tools like search_chats, which search for chats rather than 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 context on when to use the tool: to search messages either globally or scoped to a chat. However, it does not explicitly name alternatives or state when not to use this tool, though sibling tool names suggest the alternative.

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

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