Skip to main content
Glama
daffaroffi

Telegram Drive MCP Server

by daffaroffi

Telegram Drive MCP Server

MCP server for AI assistants to interact with Telegram files. Connects directly to Telegram via MTProto using teleproto.

Features

  • File Management - List, search, upload, download, delete, forward files

  • Message Operations - Send, edit, search messages

  • Dialog Management - List, join, leave channels

  • Storage Overview - Get file counts and sizes per dialog

Related MCP server: Telegram MCP Server

Setup

1. Get Telegram API Credentials

  1. Go to my.telegram.org

  2. Login with your phone number

  3. Click "API development tools"

  4. Create an application (fill app title and short name)

  5. Copy your api_id and api_hash

2. Install

npm install
npm run build

3. Configure

Create .env file:

TG_API_ID=your_api_id
TG_API_HASH=your_api_hash

4. First Login

npm run dev

On first run, you'll be prompted:

  1. Enter your phone number

  2. Enter the SMS code you received

  3. (If 2FA is enabled) Enter your password

After login, you'll see a session string. Copy it to your .env:

TG_SESSION=your_session_string_here

5. Claude Desktop Integration

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "telegram-drive": {
      "command": "node",
      "args": ["C:\\path\\to\\telegram-drive-mcp\\dist\\index.js"],
      "env": {
        "TG_API_ID": "your_api_id",
        "TG_API_HASH": "your_api_hash",
        "TG_SESSION": "your_session_string"
      }
    }
  }
}

Available Tools

File Operations

Tool

Description

td_list_files

List files in a dialog

td_search_files

Search files by name

td_get_file_info

Get file details

td_upload_file

Upload local file

td_download_file

Download to local path

td_delete_file

Delete a file

td_forward_file

Forward/copy to another dialog

td_bulk_delete

Delete multiple files

td_bulk_forward

Forward multiple files

Message Operations

Tool

Description

td_send_message

Send text message

td_edit_message

Edit message

td_delete_messages

Delete messages

td_search_messages

Search in chat

td_get_message_history

Get chat history

Dialog Management

Tool

Description

td_list_dialogs

List all chats/channels

td_join_channel

Join a channel

td_leave_channel

Leave a channel

Storage

Tool

Description

td_storage_overview

Storage stats per dialog

td_get_media_info

Media details (duration, resolution)

Session Security

The session string gives full access to your Telegram account. Treat it like a password:

  • Never commit it to git

  • Never share it publicly

  • Store it in environment variables or a secret manager

Requirements

  • Node.js >= 18.0.0

  • Telegram account with api_id/api_hash

License

MIT

Available Tools

19 tools
td_bulk_deleteC

Delete multiple files at once

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID
revokeNoRevoke for everyone
messageIdsYesArray of message IDs to delete

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of disclosing behavior, but it only restates the obvious destructive action. It does not mention whether the deletion is permanent, the effect of the revoke flag beyond its schema label, whether it deletes messages or the files they reference, or any permission/reversibility considerations.

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 compact sentence with no filler, and it is front-loaded with the core action. It earns its place, though it is so terse that it sacrifices necessary behavioral detail.

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

Completeness1/5

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

For a destructive bulk operation with no annotations and no output schema, this description is far from complete. It omits when to use it, what the operation returns, how revocation affects recipients, and even the relationship between files and messageIds. An agent would have to rely on the schema and sibling names for crucial context.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents dialog, revoke, and messageIds. The description adds no param-specific meaning beyond saying 'files at once,' which actually conflicts slightly with the messageIds parameter name.

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 verb and resource: deleting multiple files in one operation, which distinguishes it from single-file tools like td_delete_file. It is concise and tells an agent that this is the bulk variant, though calling the targets 'files' while the schema expects messageIds introduces mild ambiguity.

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

Usage Guidelines2/5

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

No guidance is given about when to prefer this tool over alternatives. The description implies bulk use via 'multiple files at once' but does not mention td_delete_file or td_delete_messages, nor any conditions that should select one over the other.

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

td_bulk_forwardB

Forward multiple files to another dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
toDialogYesTarget dialog ID
fromDialogYesSource dialog ID
messageIdsYesArray of message IDs to forward

TDQS

B3.2/5.0
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 only states the action 'forward multiple files' but omits critical details such as what happens to the original messages, permissions required, failure handling, or whether the operation is atomic. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It communicates the core action and object efficiently, achieving maximum conciseness without sacrificing the essential information.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too sparse. It does not cover expected return values, partial failure behavior, asynchronous execution, or any limitations of the bulk operation. This leaves an agent without enough context to reliably predict 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?

Schema description coverage is 100% and all three parameters (fromDialog, toDialog, messageIds) are already documented. The tool description adds no extra meaning to the parameters, 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 states a specific verb 'forward', a resource 'files', a scope 'multiple', and a target 'another dialog'. This clearly distinguishes it from the singular sibling td_forward_file, leaving no ambiguity about the tool's purpose.

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

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives like td_forward_file or td_send_message. The description is purely declarative and does not mention bulk vs. single scenarios or any exclusions.

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

td_delete_fileB

Delete a file (message) from a dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID, username, or 'me' for Saved Messages
revokeNoRevoke for everyone (default: false)
messageIdYesMessage ID to delete

TDQS

B3.1/5.0
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 behavioral disclosure. It only says 'Delete' without noting that deletion may be irreversible, how the revoke parameter affects behavior, or any side effects or permission requirements.

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

Conciseness5/5

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

The description is a single concise sentence with no filler or redundant restatement. It conveys the essential operation clearly and 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?

Together with the fully documented schema, the description provides enough information to invoke the tool with correct parameters. However, given there are no annotations and the operation is destructive, it lacks safety caveats and sibling differentiation, leaving it 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?

Schema description coverage is 100%, so parameters are already well documented. The description adds minor clarification that a 'file' is treated as a 'message', but it does not meaningfully extend or explain parameter semantics beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Delete') and the resource ('a file (message) from a dialog'), making the basic purpose unambiguous. However, it does not distinguish itself from sibling tools like td_delete_messages or td_bulk_delete, so it stops short of a top 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?

There is no guidance on when to use this tool versus alternatives such as td_delete_messages or td_bulk_delete. The singular phrasing only weakly implies it is for one file/message at a time, with no explicit when-to-use or when-not-to-use guidance.

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

td_delete_messagesC

Delete multiple messages at once

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID
revokeNoRevoke for everyone
messageIdsYesArray of message IDs to delete

TDQS

C2.9/5.0
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 only says 'delete', which implies destructive mutation, but does not mention permanence, revoke behavior, permissions, partial failure handling, or any user-facing consequences.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler words. It is concise and focused, though it could have used the brevity to also include a note about destructive consequences or revoke semantics.

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 absence of annotations and output schema, a one-sentence description is insufficient for this destructive bulk operation. Missing context includes what happens after deletion, whether revoke affects all recipients, and how to interpret the result.

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 (dialog, revoke, messageIds) are already documented in the schema. The description adds no extra meaning beyond the phrase 'multiple messages', which aligns with messageIds but does not enrich the parameter understanding.

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

Purpose4/5

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

The description states a clear verb and resource: 'Delete multiple messages at once'. It distinguishes the tool from file-related siblings (e.g., td_delete_file) by specifying messages, though it does not explicitly differentiate from td_bulk_delete, which could also cover bulk 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 gives no guidance on when to use this tool versus alternatives like td_bulk_delete or td_delete_file. It does not state prerequisites, exclusions, or situations where another sibling should be preferred.

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

td_download_fileB

Download a file from Telegram to a local path

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID, username, or 'me' for Saved Messages
messageIdYesMessage ID of the file to download
outputPathYesLocal path to save the downloaded file

TDQS

B3.3/5.0
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 behavioral disclosure. It states that a file is written locally but does not mention overwrite behavior, directory creation, authentication needs, error conditions, or what operation actually occurs if the file already 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 with no wasted words. It front-loads the core purpose and remains readable at a glance.

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 tool with fully documented parameters, this is minimally viable. However, with no annotations and no output schema, the description leaves uncertainty about return values, overwrite behavior, and failure modes, so it is not fully complete.

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

Parameters3/5

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

The input schema already describes all three parameters with 100% coverage. The description adds only the high-level source and destination context, so it neither duplicates nor meaningfully extends the schema.

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

Purpose5/5

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

The description states a specific action, 'Download a file from Telegram to a local path,' with clear source and destination. It is not a tautology and is easily distinguished from siblings like td_upload_file and td_forward_file.

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

Usage Guidelines2/5

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

The description implies when to use the tool but provides no explicit guidance on when not to use it or how it compares to alternatives. No exclusions, prerequisites, or sibling routing are mentioned.

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

td_edit_messageC

Edit an existing message

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID
messageYesNew message text
messageIdYesMessage ID to edit

TDQS

C2.9/5.0
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, but it only says 'Edit an existing message.' It does not state whether the edit replaces the message in place, preserves history, requires permissions, or is reversible. The verb 'Edit' implies mutation, but no operational behavior beyond that is disclosed.

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

Conciseness4/5

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

The description is one short sentence and front-loads the core verb-resource pair with no wasted words. It is concise, though minimal supporting context is provided.

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 mutating tool with no annotations and no output schema, this description is incomplete. An agent cannot infer side effects, whether the updated message is returned, or how failures are reported. The schema covers parameters, but the description does not provide enough context for safe 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%, and all three parameters (dialog, messageId, message) are already described in the schema. The tool description adds no additional parameter-level meaning, so the baseline of 3 applies.

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 verb ('Edit') and resource ('an existing message'), making the core action unambiguous and distinct from siblings like td_send_message, td_delete_messages, and td_search_messages. However, it does not explicitly name or compare itself to those siblings, so it stops short of full 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 is provided about when to use this tool versus alternatives such as td_send_message or td_get_message_history. The description gives no prerequisites, exclusions, or context about which workflow should route to this tool.

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

td_forward_fileC

Copy/forward a file from one dialog to another

ParametersJSON Schema
NameRequiredDescriptionDefault
toDialogYesTarget dialog ID
messageIdYesMessage ID to forward
fromDialogYesSource dialog ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits on its own. It says 'copy/forward' but does not clarify whether the original is preserved or moved, whether the operation requires membership in both dialogs, or how the system handles duplicate forwards. No side effects, permissions, or error conditions are mentioned, leaving the agent to infer behavior.

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

Conciseness4/5

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

The description is a single, clear sentence with no redundant words. It is front-loaded with the core action and scope, making it easy to scan. However, it is so brief that it omits details that could enhance usability, earning a 4 rather than a 5.

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 mutating file operation with no output schema, the description fails to explain return values, error cases, or expected side effects. It also does not mention prerequisites like user permissions or dialog memberships. Given the tool's complexity (3 required parameters) and lack of annotations, this description is insufficient for an agent to invoke it with confidence.

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

Parameters3/5

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

Schema description coverage is 100% with each parameter having a basic description ('Target dialog ID', 'Message ID to forward', 'Source dialog ID'). The tool description adds no additional semantic nuance beyond what the schema already provides, so the baseline of 3 applies.

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 specific verb (copy/forward), resource (file), and scope (from one dialog to another), which clearly differentiates it from upload/download/delete operations. However, it does not explicitly contrast with the sibling td_bulk_forward, leaving some ambiguity about when the single-file variant is appropriate.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like td_bulk_forward, td_upload_file, or td_send_message. The description implies a use case (forwarding a file between dialogs) but does not state prerequisites, exclusions, or typical invocation scenarios.

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

td_get_file_infoC

Get detailed info about a specific file (message with media)

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID, username, or 'me' for Saved Messages
messageIdYesMessage ID of the file

TDQS

C2.9/5.0
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 behavioral disclosure. 'Get detailed info' implies a safe read, but it does not specify what 'detailed info' contains, whether file content is returned or just metadata, or any errors or permissions. This is thin for a tool with no structured behavioral 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?

A single, compact sentence that states the core action immediately. There is no redundant filler, and the parenthetical adds useful clarifying context without bloating the description.

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 tool with no output schema and no annotations, the description is too minimal. It does not explain what the returned info will look like, how this relates to the media message, or how it differs from the many similar sibling tools. The required parameters are clear, but the broader invocation context is 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?

Schema description coverage is 100%, so the parameters dialog and messageId are already well documented. The description adds no new parameter-level semantics, but the schema handles that burden; 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 clearly states the action ('Get detailed info') and the target resource ('a specific file'), with the parenthetical '(message with media)' clarifying the domain context. However, it does not explicitly distinguish itself from the closely named sibling td_get_media_info.

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 such as td_list_files, td_search_files, or td_get_media_info. The description gives no context for selection or exclusions, leaving the agent to infer appropriateness.

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

td_get_media_infoB

Get detailed media info (duration, resolution, file type)

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesDialog ID
messageIdYesMessage ID

TDQS

B3.1/5.0
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 behavioral disclosure burden. It only states what the tool retrieves and does not disclose behavior for non-media messages, missing messages, permission requirements, rate limits, or response format/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.

Conciseness5/5

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

The description is a single, compact sentence with all key information front-loaded. Every word contributes meaning, and the parenthetical list of returned fields is a valuable, non-redundant addition.

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 two-parameter lookup, the description covers the resource and the main output fields. However, with no output schema and no annotations, it lacks details on edge cases such as non-media messages or failure behavior, so it is adequate but not fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, and both dialog and messageId have clear descriptions in the schema. The tool description adds no new parameter-level meaning, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the operation ('Get detailed media info') and the resource, enriched with concrete fields (duration, resolution, file type). However, it does not explicitly distinguish itself from the sibling td_get_file_info, which could plausibly overlap, so it lacks explicit 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 is provided about when to use this tool versus alternatives like td_get_file_info or td_search_files. The context is implied (when you need media info for a message), but there are no exclusions, prerequisites, or alternative routing.

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

td_get_message_historyC

Get message history from a dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax messages to return
dialogYesDialog ID
offsetIdNoOffset for pagination

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only restates the tool's name and does not mention read-only guarantees, pagination behavior, defaults, or output characteristics.

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 filler or redundant detail. Every word contributes to conveying the tool's basic function.

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 thin to fully inform an agent about behavior such as pagination, ordering, error cases, or how to distinguish this from message search. It covers only the bare minimum.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already documented in the schema. The description adds no additional meaning beyond the schema, which puts this at the baseline score of 3.

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 ('message history from a dialog'), making the tool's core function clear. It does not explicitly differentiate from the sibling td_search_messages, but the basic purpose is unambiguous.

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

Usage 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 td_search_messages or td_list_dialogs. There is no mention of pagination context, ordering, or any exclusions, leaving the agent to infer appropriate usage.

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

td_join_channelA

Join a public Telegram channel or via invite link

ParametersJSON Schema
NameRequiredDescriptionDefault
channelYesChannel username or invite link

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description alone must carry behavioral disclosure. It mentions public vs invite-link access but does not disclose the membership side effect, authorization requirements, or what the result or error looks like, leaving the agent without important 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.

Conciseness5/5

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

The description is a single short sentence with no filler, and the core action is front-loaded. Every word contributes either the action or the accepted input forms.

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 one-parameter join action, the core invocation is covered well. However, the absence of annotations and output schema, plus missing behavioral detail such as failure modes and side effects, makes the description only minimally complete.

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

Parameters3/5

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

The schema already documents the single 'channel' parameter as 'Channel username or invite link' with 100% coverage. The description adds only the word 'public' and does not add format, examples, or edge-case guidance, so it provides no extra parameter meaning beyond the schema.

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

Purpose5/5

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

The description names a specific action ('Join') and resource ('public Telegram channel' or 'invite link'), so it is not a tautology. It also reads distinctly from the sibling tool td_leave_channel and from message/file tools, leaving no ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description gives clear usage context: use this when joining a public channel or when an invite link is available. It does not explicitly list alternatives or exclusions, but there is no competing join tool among the siblings, so the context is sufficient to route an agent correctly.

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

td_leave_channelB

Leave a Telegram channel

ParametersJSON Schema
NameRequiredDescriptionDefault
channelYesChannel username or ID

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It states the action, but does not mention whether leaving is irreversible, whether it affects channel history, or whether it fails in certain contexts like being the last admin. This is a meaningful gap for a state-changing operation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It conveys the core purpose efficiently and is appropriately sized for such a simple tool.

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 and its only parameter is fully documented by the schema, but the description omits behavioral context like side effects and reversibility. It is minimally viable, though an agent would benefit from knowing what happens after leaving a channel.

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%: the only parameter, 'channel', is already described as 'Channel username or ID'. The tool description adds no further parameter semantics, 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 uses a specific verb ('Leave') with a clear resource ('a Telegram channel'). It is immediately distinguishable from sibling tools like td_join_channel or td_delete_messages, even without opening the schema.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or edge cases such as whether the user must be a member of the channel. Usage is only implied by the tool name and action.

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

td_list_dialogsA

List all Telegram dialogs (chats, channels, saved messages)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax dialogs to return
searchNoFilter by dialog title

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. 'List' implies a read-only operation, and the scope is clear, but the description does not mention ordering, pagination, whether archived/channel types beyond the examples are included, or that the 'all' claim is capped by the optional limit parameter.

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 states the action, resource, and scope with no filler. Every part adds value.

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 two parameters are fully covered in the schema, but with no output schema the return shape is left to inference. The missing details about default limit behavior and result contents make this adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%: limit and search both have meaningful descriptions. The tool description adds no parameter-specific detail, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('List') and a distinct resource ('Telegram dialogs'), then clarifies scope with parenthetical examples ('chats, channels, saved messages'). This clearly differentiates it from sibling file- and message-focused 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?

The description gives no guidance on when to choose this over sibling tools or when not to use it. There are no exclusions, prerequisites, or alternative routing cues, so the agent must infer usage from the tool name and context.

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

td_list_filesC

List files in a Telegram dialog (Saved Messages, channel, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax files to return
dialogYesDialog ID, username, or 'me' for Saved Messages
searchNoSearch query for filename
offsetIdNoMessage ID offset for pagination

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'List files' and does not disclose pagination behavior, ordering, whether metadata or content is returned, or what counts as a file.

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 short sentence that is easy to parse and front-loaded with the core action and resource. The trailing 'etc.' adds little, but overall there is no significant waste.

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

Completeness2/5

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

With no output schema and no annotations, the description is too thin. It does not describe the return format, pagination behavior, search semantics, or how 'files' are defined, leaving an agent to guess what the call will produce.

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 four parameters are already documented. The description adds minimal extra meaning beyond the schema, mainly by giving examples for the dialog parameter.

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 specific action ('List files') and resource ('Telegram dialog') with examples like Saved Messages and channels. However, it does not distinguish itself from the closely related td_search_files sibling, especially since this tool also has a search parameter.

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 td_search_files or other file-related siblings. No exclusions, prerequisites, or alternative conditions are mentioned.

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

td_search_filesA

Search for files by filename in a dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
queryYesSearch query
dialogNoSearch in specific dialog. Omit to search Saved Messages.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It transparently states that this is a search operation scoped to filename and dialog, implying a read-only behavior, but it does not mention output format, pagination, or default dialog behavior beyond what the schema already states.

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 with no filler. Every word contributes to the tool's scope and intent.

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 core behavior is clear, but the description does not specify what a successful response contains or how results are structured. It also relies entirely on the schema to communicate the Saved Messages default for omitted dialog. Adequate but with some gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well documented. The description adds little beyond the schema, only reinforcing the 'filename' search intent. Baseline 3 is appropriate.

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

Purpose5/5

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

The description names a specific verb ('Search'), a resource ('files'), and a scoping dimension ('by filename in a dialog'). This clearly differentiates it from sibling tools like td_list_files and other file 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 does not explain when to choose this tool over alternatives such as td_list_files or td_search_messages. There is no explicit when-to-use or when-not-to-use guidance; usage is only implied by the verb 'Search'.

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

td_search_messagesB

Search for messages in a dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
queryYesSearch query
dialogYesDialog ID to search in

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. 'Search for messages' conveys a read-only intent, but it does not clarify matching behavior, ordering, pagination, or limits. It doesn't contradict anything, but adds minimal behavioral context 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.

Conciseness4/5

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

The description is one short sentence, easy to parse and front-loaded with the action. It is appropriately sized for a simple search tool, though it could add a little more practical detail without becoming verbose.

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

Completeness3/5

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

The tool is simple with three parameters and a self-explanatory purpose, but there is no output schema or annotation to cover return values or safety. The description does not mention what results look like or how this search differs from history listing, leaving moderate 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 100%, so parameters are already documented. The description adds only the dialog scoping context, which is already implied by the dialog parameter description. No additional parameter meaning is provided.

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

Purpose4/5

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

Description states a clear verb 'Search', a resource 'messages', and the scope 'in a dialog'. It is distinct from siblings like td_search_files and td_list_files, though it doesn't explicitly differentiate from td_get_message_history.

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

Usage Guidelines3/5

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

The description implies the tool is used to find messages inside a dialog, but it gives no explicit guidance on when to prefer this over td_get_message_history or td_search_files. Context is clear but exclusions/alternatives are absent.

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

td_send_messageB

Send a text message to a dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesTarget dialog: username, channel, or 'me' for Saved Messages
messageYesMessage text to send

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. 'Send a text message' implies a mutating operation, but nothing is disclosed about whether the message supports rich formatting, whether sending happens instantly, or what the response indicates. This is minimal disclosure for a write tool with zero annotation coverage.

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 with zero wasted words. Every part of the description earns its place and directly conveys the action and target.

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 two-parameter send tool with full schema coverage, the description is functionally adequate. However, with no annotations and no output schema, the mutation tool would benefit from disclosing at least format support or behavioral guarantees. It's minimally sufficient but leaves 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 100%, so the schema already documents both parameters (dialog, message). The description adds no extra meaning beyond the schema; the baseline of 3 applies because the schema handles the parameter documentation burden 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 states a specific verb and resource: 'Send a text message to a dialog.' It clearly conveys the action and target, and is distinct enough from siblings like td_edit_message, td_delete_messages, and td_search_messages, though it doesn't explicitly differentiate itself.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as td_edit_message (for modifying an already-sent message) or td_forward_file (for sending files). The description only states the basic action with no context on prerequisites, formatting support, or use cases.

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

td_storage_overviewA

Get storage overview: file counts and sizes per dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax dialogs to scan for storage stats

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must signal safety. The verb 'Get' and the word 'overview' strongly imply a read-only aggregation, and the output scope is stated as 'file counts and sizes per dialog'. It does not detail side-effect absence, permission needs, or behavior when the limit truncates dialogs, but nothing contradicts the read-only implication.

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 entire description is one front-loaded sentence with no filler. It names the action, resource, and output in eleven words, every one of which earns its place.

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

Completeness4/5

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

For a one-parameter tool with no output schema, the description gives the essential return concept and the schema covers the limit parameter. It lacks explicit return formatting or ordering, and it does not mention how truncation affects completeness, but an agent can still infer what invoking it will yield.

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

Parameters3/5

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

The only parameter, limit, is fully described in the schema ('Max dialogs to scan for storage stats'), so the description adds no new parameter meaning beyond the structured data. With 100% schema_description_coverage, the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('storage overview') and specifies the output ('file counts and sizes per dialog'). It is distinguishable from sibling file-listing and search tools because it is an aggregate summary rather than a file-level operation.

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 establishes a clear context: use when you need a high-level storage summary per dialog. It doesn't explicitly name alternatives or state when not to use it, but the overview framing implies the contrast with file-level tools like td_list_files and td_search_files.

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

td_upload_fileB

Upload a local file to a Telegram dialog

ParametersJSON Schema
NameRequiredDescriptionDefault
dialogYesTarget dialog: username, channel, or 'me' for Saved Messages
captionNoOptional caption for the file
filePathYesLocal file path to upload

TDQS

B3.3/5.0
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 behavioral disclosure burden. It only states the action without mentioning side effects, required permissions, file size limits, overwrite behavior, or what happens on success or failure. This is a significant gap for a tool that creates something in an external system.

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 filler. It front-loads the action and destination, and every word contributes 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?

For a simple three-parameter upload tool, the schema plus description provide the minimum viable call information. However, with no annotations and no output schema, the description omits important context such as return values, side effects, and constraints, leaving 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?

The input schema covers all three parameters with descriptions, so the schema already explains dialog, filePath, and caption. The description adds no parameter-level meaning beyond that, so baseline 3 is appropriate.

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

Purpose5/5

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

The description specifies a precise verb ('Upload'), a resource ('a local file'), and a destination ('a Telegram dialog'). This clearly distinguishes it from sibling tools like td_download_file and td_forward_file, which handle the opposite or a different operation.

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 gives no guidance about when to use this tool versus alternatives such as td_send_message, td_forward_file, or td_get_file_info. It implies a use case but does not state prerequisites, exclusions, or context where another tool would be more appropriate.

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

TDQS

B3.1/5.0
Disambiguation2/5

Several tools have overlapping boundaries: delete_file vs delete_messages, get_file_info vs get_media_info, and search_files vs search_messages could easily be confused. Bulk variants also blur the line with their singular counterparts.

Naming Consistency4/5

Tools consistently use a td_ prefix with a snake_case verb_noun pattern like list_files, upload_file, and join_channel. Minor deviations like bulk_delete, bulk_forward, and storage_overview weaken the pattern slightly.

Tool Count3/5

19 tools is on the heavy side, though most serve distinct file or message operations. The bulk and message-management additions push it into the borderline range for a Telegram Drive server.

Completeness4/5

Core file lifecycle operations are covered: upload, download, list, search, info, delete, forward, and storage overview. Minor gaps like caption editing, renaming, or file link generation exist but are workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with a user's Telegram account: list chats, read history, search, and send messages through Telegram's MTProto API.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to control a personal Telegram account for sending/reading messages, media, group management, and more via the MTProto API.
    MIT

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

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