Telegram Agent by Nova (CIVAI)
Server Details
I use your linked Telegram MTProto session (Integrations → Telegram) to list groups, members, and s…
- Status
- Healthy
- Uptime
- 97.4% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Most tools are distinct: send_message, resolve_user, list_dialogs, and converse each serve clear roles. However, list_active_chat_participants and list_group_participants overlap enough that an agent may hesitate over which participant-listing tool to use.
Five tools follow a consistent snake_case verb_noun pattern (list_*, resolve_user, send_message). converse is a single verb and slightly breaks the pattern, but the overall convention is readable and predictable.
Six tools is well within a focused scope and each appears to serve a specific Telegram interaction. No redundant or filler tools are present.
The surface can send messages and enumerate chats/participants, but it lacks any tool to read message history, search chats, or handle media/replies. For a Telegram agent this is a significant gap because the agent cannot retrieve conversation content to act on.
Available Tools
6 toolsconverseCInspect
Reply conversationally when the request is ambiguous or needs clarification.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_hint | No | Optional hint for the conversational reply. |
TDQS
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 says nothing about whether this ends the turn, whether it mutates state, whether it should be combined with other tool calls, or what the reply consists of — significant gaps for a tool with zero structured behavioral coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the action and appends the trigger condition; nothing is wasted. It is efficient, though it is efficient at a fairly low level of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity (one optional param, no output schema), so the short description is defensible, but with no annotations and no output schema the description should at least clarify the conversational fallback's role in the turn lifecycle. It stops just short of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional parameter (reply_hint) whose schema description already covers it at 100% coverage, so the baseline of 3 applies. The description adds no syntax, format, or influence guidance beyond what the schema already supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It gives a verb ('reply conversationally') and a trigger condition ('when the request is ambiguous or needs clarification'), which separates it from the calendar siblings by function. However, the 'resource' is nebulous — there is no statement of what the reply acts on or produces, so the agent must infer it is a non-action fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names one condition for use: ambiguity or need for clarification. It implies, but never states, that the event-management siblings (add/update/delete/check events) are the alternative when the request is clear, leaving the when-not boundary to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_active_chat_participantsCInspect
Telegram: list active chat participants
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max participants (default 2000). | |
| chat_id | Yes | Telegram group id from list_dialogs. | |
| active_days | No | Only users active in chat within this many days (default 90). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses nothing beyond the operation name. It does not say what 'active' filters on, whether membership vs. recent activity is returned, whether admin rights are required, or how results are bounded or ordered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line with zero waste and the prefix is front-loaded, but the brevity is under-specification rather than economy — the fragment leaves key distinctions unstated rather than compressing them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with no annotations, no output schema, and a near-duplicate sibling, the description should at minimum explain the relationship to list_group_participants and what the listing represents. It omits both, so an agent would have to guess or fall back on schema inspection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with defaults and the origin of chat_id ('from list_dialogs') documented inline, so the schema already does the heavy lifting. The description adds no additional meaning about how limit, active_days, or chat_id interact, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment names a verb and resource ('list active chat participants') and scopes it to Telegram, so the basic operation is inferable. However it gives no hint of how it differs from the sibling 'list_group_participants', which on its face sounds like the same operation, leaving an agent unable to discriminate between the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than list_group_participants or list_dialogs, and no prerequisites such as needing a chat_id obtained from list_dialogs. Usage is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dialogsDInspect
Telegram: list dialogs
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max dialogs to return (default 100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden, and it discloses nothing: no auth requirements, no pagination or ordering behavior, no indication of whether this is a read-only enumeration or what volume of results to expect. A single phrase cannot cover behavior for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: one colon-separated fragment that spends its words repeating the tool name instead of front-loading useful scope information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain what a dialog record contains and how results are shaped; it does none of that. For an agent deciding between this and resolve_user/converse, the definition is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional limit parameter is documented in the schema as "Max dialogs to return (default 100)". The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name plus a platform prefix: "Telegram: list dialogs" restates list_dialogs with no added scope, target, or content detail. It does signal the platform, but a reader gains nothing about what a dialog is or which ones are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus siblings like converse, resolve_user, or list_active_chat_participants. The agent must infer that this is a discovery/enumeration entry point before messaging.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_group_participantsCInspect
Telegram: list group participants
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max participants (default 2000). | |
| chat_id | Yes | Telegram group or channel id from list_dialogs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full behavioral burden, yet it says nothing about the read-only nature, permission requirements, pagination, or whether bots must be admin. Only the tool name implies a list/read operation, which is minimal disclosure for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short, front-loaded phrase with no waste, but its brevity reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should compensate by explaining return shape, permission constraints, and how it differs from the active-participants sibling. It does none of these, leaving key context missing for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both chat_id and limit documented in-schema (including the default 2000). The description adds no additional meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("list group participants") for Telegram, so the basic action is clear. However, it does not distinguish this tool from the sibling list_active_chat_participants, leaving an agent unsure which of the two to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the closely named sibling list_active_chat_participants, nor any prerequisites or exclusions. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_userCInspect
Telegram: resolve user
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Telegram @username to resolve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers almost none. It does not say whether resolution is a read-only lookup, what happens when the username does not exist, or whether it hits the network or a cache.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three words are not concise here but under-specified; the entire description is a label rather than a front-loaded statement of behavior. There is nothing wasteful, but nothing informative either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter and full schema coverage, the tool is simple, but there is no output schema and 'resolve' leaves the return value undefined. An agent cannot predict whether it gets a user object, an ID, or an error, so the description is not complete enough to call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema description coverage ('Telegram @username to resolve.'), so the schema already fully documents it. The description adds no semantics beyond the schema, which is the expected baseline at high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Telegram: resolve user' effectively restates the tool name and adds only the Telegram namespace. 'Resolve' is an ambiguous verb that could mean lookup by username, resolve to an ID, or hydrate a cached entity, and nothing distinguishes it from siblings like list_dialogs that also return user data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus list_active_chat_participants or list_group_participants, nor any precondition such as needing a known @username. The Telegram prefix is the only contextual signal, which is why it is not a 1.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageCInspect
Telegram: send message
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Message body to send. | |
| username | No | Recipient @username (alternative to user id). | |
| access_hash | No | Recipient access_hash when sending by user id. | |
| telegram_user_id | No | Recipient user id (from resolve_user or participant list). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is an irreversible write, what permissions or login are required, what happens if the recipient cannot be resolved, or what a successful call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a four-word phrase with no waste, but what allows it to be this short is under-specification rather than precision. It is also not front-loaded with anything useful: an agent gains no operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-annotation, no-output-schema mutation tool, a single label is not enough. The description leaves out how recipients are resolved and how the three alternative identifiers interact, and it omits error behavior and success semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains `text`, `username`, `access_hash`, and `telegram_user_id`, and the description adds nothing on top of that. Baseline 3 is appropriate because the schema does all the work, but the description does not clarify the either/or relationship among the three recipient parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb and resource ("send message" on Telegram), but that is the bare minimum. It does not say whether this is a direct message to a single user versus a group or channel post, and it does not distinguish itself from the sibling `converse`, which a caller could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. With siblings like `converse` and `resolve_user` present, an agent gets no signal about when to send here versus using the conversation-oriented sibling, or that `resolve_user` is the way to obtain `telegram_user_id`/`access_hash` first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
28 tool updates
- Removed
abort_scans - Removed
clear_discovery_cache - Removed
continue_scan - Added
converse - Removed
create_scan_schedule - Removed
delete_scan_schedule - Removed
delete_scans - Removed
get_ad_guide - Removed
get_ad_plan - Removed
get_discovery_analytics - Removed
get_scan - Removed
import_leads - Removed
launch_ad_plan - Added
list_active_chat_participants - Removed
list_ad_plans - Removed
list_connectors - Added
list_dialogs - Added
list_group_participants - Removed
list_scan_results - Removed
list_scan_schedules - Removed
list_scans - Added
resolve_user - Removed
run_scan - Added
send_message - Removed
stop_ad_plan - Removed
suggest_targets - Removed
trigger_scan_schedule - Removed
update_scan_schedule
3 tool updates
- Added
launch_ad_plan - Added
list_ad_plans - Added
stop_ad_plan
2 tool updates
- Added
get_ad_guide - Added
get_ad_plan
1 tool update
- Added
abort_scans
32 tool updates
- Added
clear_discovery_cache - Added
continue_scan - Added
create_scan_schedule - Added
delete_scan_schedule - Added
delete_scans - Added
get_discovery_analytics - Added
get_scan - Added
import_leads - Added
list_connectors - Added
list_scan_results - Added
list_scan_schedules - Added
list_scans - Added
run_scan - Added
suggest_targets - Removed
telegram_mtproto__clear_discovery_cache - Removed
telegram_mtproto__continue_scan - Removed
telegram_mtproto__create_scan_schedule - Removed
telegram_mtproto__delete_scan_schedule - Removed
telegram_mtproto__delete_scans - Removed
telegram_mtproto__get_discovery_analytics - Removed
telegram_mtproto__get_scan - Removed
telegram_mtproto__import_leads - Removed
telegram_mtproto__list_connectors - Removed
telegram_mtproto__list_scan_results - Removed
telegram_mtproto__list_scan_schedules - Removed
telegram_mtproto__list_scans - Removed
telegram_mtproto__run_scan - Removed
telegram_mtproto__suggest_targets - Removed
telegram_mtproto__trigger_scan_schedule - Removed
telegram_mtproto__update_scan_schedule - Added
trigger_scan_schedule - Added
update_scan_schedule
16 tool updates
- First observed
telegram_mtproto__clear_discovery_cache - First observed
telegram_mtproto__continue_scan - First observed
telegram_mtproto__create_scan_schedule - First observed
telegram_mtproto__delete_scan_schedule - First observed
telegram_mtproto__delete_scans - First observed
telegram_mtproto__get_discovery_analytics - First observed
telegram_mtproto__get_scan - First observed
telegram_mtproto__import_leads - First observed
telegram_mtproto__list_connectors - First observed
telegram_mtproto__list_scan_results - First observed
telegram_mtproto__list_scan_schedules - First observed
telegram_mtproto__list_scans - First observed
telegram_mtproto__run_scan - First observed
telegram_mtproto__suggest_targets - First observed
telegram_mtproto__trigger_scan_schedule - First observed
telegram_mtproto__update_scan_schedule
Related MCP Connectors
I use your Instagram Web browser session (Integrations → Instagram Web) via instagrapi, not Meta /…
Telegram: FASTEST real time Telegram API. Retrieve channel's info and messages in milliseconds..
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
Live Telegram data: trending topics, channel profiles & metrics, post history incl. edits/deletions.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with a user's Telegram account: list chats, read history, search, and send messages through Telegram's MTProto API.2MIT
- FlicenseNot gradedqualityBmaintenanceConnects AI assistants to Telegram through the MTProto API, enabling them to list dialogs and messages, send, edit, forward, and delete messages, create groups, manage folders, and mute, archive, or leave chats.-
- FlicenseBqualityDmaintenanceEnables interaction with Telegram groups via MTProto, including message retrieval, sending, and semantic search with RAG support.12-
- -licenseNot gradedqualityNot gradedmaintenanceA comprehensive integration that allows AI models to interact with Telegram accounts for messaging, group management, and contact synchronization. It enables automated tasks like chat history analysis, message scheduling, and webhook-based responses through the Model Context Protocol.-
Glama MCP Gateway
Add one secure layer between your agents and this server.