{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"telegram-mcp-server","slug":"telegram-mcp-server","name":"Telegram MCP Server","type":"mcp","url":"https://github.com/nicholasgriffintn/telegram-mcp-server","page_url":"https://unfragile.ai/telegram-mcp-server","categories":["mcp-servers"],"tags":["telegram","messaging","bots","community"],"pricing":{"model":"free","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"telegram-mcp-server__cap_0","uri":"capability://tool.use.integration.message.sending.via.telegram.bot.api","name":"message-sending-via-telegram-bot-api","description":"Sends text messages, media files, and formatted content to Telegram chats and channels through the Telegram Bot API. Implements message routing logic that resolves chat identifiers (numeric IDs, usernames, or channel handles) to API endpoints, handles message formatting (Markdown/HTML), and manages delivery confirmation through API response parsing. Supports batch message operations and message editing after delivery.","intents":["Send notifications from an AI agent to a Telegram chat or channel","Deliver formatted alerts or reports to multiple Telegram recipients","Update previously sent messages with new information","Send media attachments (images, documents, audio) alongside text"],"best_for":["AI agents and assistants integrated with Telegram workflows","Notification systems requiring Telegram as a delivery channel","Teams building Telegram bots with MCP-compatible backends"],"limitations":["Message size limited by Telegram Bot API (4096 characters for text)","Media uploads require file size compliance with Telegram limits (up to 50MB for documents)","No built-in retry logic for failed deliveries — requires external error handling","Formatting support depends on Telegram Bot API version and client capabilities"],"requires":["Telegram Bot API token (obtained via @BotFather)","Valid chat ID or channel username","Network connectivity to Telegram Bot API endpoints","MCP server runtime with Telegram MCP Server installed"],"input_types":["text (plain or formatted with Markdown/HTML)","file paths (for media attachments)","structured message objects with metadata"],"output_types":["message ID (for tracking/editing)","delivery confirmation (success/failure status)","API response metadata (timestamp, chat info)"],"categories":["tool-use-integration","messaging-delivery"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_1","uri":"capability://memory.knowledge.message.retrieval.and.chat.history.reading","name":"message-retrieval-and-chat-history-reading","description":"Retrieves message history from Telegram chats and channels by querying the Telegram Bot API for recent messages, with filtering by date range, sender, or message type. Implements pagination logic to handle large message sets and parses API responses into structured message objects containing sender info, timestamps, content, and media metadata. Supports reading from both private chats and public channels.","intents":["Fetch recent messages from a Telegram chat to provide context to an AI agent","Build a conversation history for multi-turn dialogue with Telegram users","Analyze message patterns or extract structured data from chat archives","Monitor channel activity and react to new messages programmatically"],"best_for":["AI agents that need to understand recent Telegram conversation context","Chatbots requiring message history for coherent multi-turn interactions","Analytics or monitoring systems tracking Telegram channel activity"],"limitations":["Telegram Bot API limits message history retrieval to recent messages (typically last 100-1000 depending on API version)","Cannot retrieve deleted messages or messages from before bot was added to chat","Pagination requires multiple API calls, adding latency for large message sets","No full-text search capability — filtering must be done client-side after retrieval"],"requires":["Telegram Bot API token with appropriate permissions","Bot must be member of the target chat or channel","Chat ID or channel identifier","MCP server runtime"],"input_types":["chat ID (numeric or username)","optional filters (date range, message count limit)","pagination parameters (offset, limit)"],"output_types":["structured message array with sender, timestamp, content, media references","message metadata (message ID, edit history, reply chains)","pagination tokens for fetching additional messages"],"categories":["memory-knowledge","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_10","uri":"capability://tool.use.integration.webhook.based.update.handling.integration","name":"webhook-based-update-handling-integration","description":"Integrates with Telegram's webhook system to receive real-time updates (messages, callbacks, edits) via HTTP POST requests. The MCP server can be configured to work with webhook-based bots (alternative to polling), receiving updates from Telegram's servers and routing them to connected LLM clients. Supports update filtering and acknowledgment.","intents":["Enable real-time bot responses to Telegram messages without polling overhead","Integrate Telegram updates into event-driven LLM workflows","Reduce latency between user message and bot response by using webhooks"],"best_for":["Teams deploying Telegram bots in production with low-latency requirements","Developers building event-driven LLM agents triggered by Telegram messages","Builders scaling Telegram bots to handle high message volume"],"limitations":["Requires public HTTPS endpoint — cannot use on localhost or private networks","Webhook setup requires manual configuration via Telegram Bot API","No built-in retry logic if webhook delivery fails — Telegram retries are limited","Update processing must complete within Telegram's timeout window (~30 seconds)"],"requires":["Telegram Bot API token","Public HTTPS endpoint with valid SSL certificate","Webhook URL registered with Telegram via setWebhook","HTTP server implementation in MCP server"],"input_types":["HTTP POST body with Telegram update JSON"],"output_types":["HTTP 200 response to acknowledge update","event data routed to LLM client"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_11","uri":"capability://tool.use.integration.error.handling.and.api.response.mapping","name":"error-handling-and-api-response-mapping","description":"Translates Telegram Bot API errors and responses into structured MCP-compatible formats. The MCP server catches API failures (rate limits, invalid parameters, permission errors) and maps them to descriptive error objects that LLMs can reason about. Implements retry logic for transient failures and provides actionable error messages.","intents":["Provide LLMs with clear error information when Telegram operations fail","Enable LLM agents to handle failures gracefully (retry, fallback, notify user)","Debug integration issues by exposing detailed API error responses"],"best_for":["Developers building robust Telegram bots that handle failures gracefully","Teams deploying LLM agents that need to recover from Telegram API errors","Builders debugging Telegram integration issues"],"limitations":["Retry logic is basic — no exponential backoff or sophisticated retry strategies","Error messages depend on Telegram API responses — may be cryptic","Rate limit handling is reactive — no proactive rate limit tracking","No built-in circuit breaker for cascading failures"],"requires":["Telegram Bot API token","HTTP client with error handling","Logging or monitoring infrastructure for debugging"],"input_types":["Telegram API error response"],"output_types":["structured error object with error_code, description, and recovery suggestions"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_2","uri":"capability://tool.use.integration.bot.command.handler.registration.and.dispatch","name":"bot-command-handler-registration-and-dispatch","description":"Registers custom bot commands (e.g., /start, /help, /custom) and routes incoming Telegram messages containing those commands to handler functions. Implements command parsing logic that extracts command names and arguments from message text, matches them against registered handlers, and invokes the appropriate handler with parsed parameters. Supports command help text generation and command discovery via /help.","intents":["Define custom commands that trigger specific AI agent behaviors when users type them in Telegram","Parse command arguments and pass them to agent logic","Provide users with discoverable command lists and help documentation","Route different message types (commands vs. free-form text) to different handlers"],"best_for":["Telegram bot developers building command-driven interfaces","AI agents that need structured user input through Telegram commands","Teams implementing multi-function bots with clear command hierarchies"],"limitations":["Command parsing is regex-based and may not handle complex argument structures (e.g., quoted strings with spaces)","No built-in rate limiting — handlers must implement their own throttling","Command registration is static at server startup; dynamic command registration requires server restart","No automatic command validation or schema enforcement for arguments"],"requires":["Telegram Bot API token","MCP server runtime with Telegram MCP Server","Handler function definitions (JavaScript/TypeScript)","Bot must be set up with Telegram's command menu (via @BotFather or API)"],"input_types":["command string (e.g., '/start', '/help arg1 arg2')","message object with sender and chat context","optional argument strings"],"output_types":["handler function invocation result","command help text","command list for discovery"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_3","uri":"capability://memory.knowledge.chat.and.channel.metadata.retrieval","name":"chat-and-channel-metadata-retrieval","description":"Fetches metadata about Telegram chats and channels including member counts, titles, descriptions, pinned messages, and permissions. Queries the Telegram Bot API for chat information and parses responses into structured objects. Supports both private chats and public channels, with different metadata availability depending on bot permissions and chat type.","intents":["Retrieve information about a Telegram chat to understand its context and purpose","Check bot permissions and capabilities in a specific chat","Get member count or other statistics about a channel","Fetch pinned messages or chat descriptions for context"],"best_for":["Agents that need to understand chat context before taking actions","Moderation bots that check permissions and member status","Analytics systems tracking channel metadata changes"],"limitations":["Some metadata fields require specific bot permissions (e.g., member list requires admin rights)","Private chat metadata is limited compared to public channels","No real-time updates — metadata is point-in-time snapshots requiring repeated queries","Member list retrieval is paginated and slow for large groups"],"requires":["Telegram Bot API token","Bot must be member of the target chat or channel","Appropriate permissions in the chat (varies by metadata type)","Chat ID or channel identifier"],"input_types":["chat ID (numeric or username)","optional metadata field filters"],"output_types":["structured chat metadata object (title, description, member count, etc.)","permission flags (can_post_messages, can_delete_messages, etc.)","pinned message references"],"categories":["memory-knowledge","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_4","uri":"capability://memory.knowledge.user.and.member.information.lookup","name":"user-and-member-information-lookup","description":"Retrieves information about Telegram users and chat members including usernames, first/last names, profile pictures, and member status (admin, restricted, etc.). Queries the Telegram Bot API for user objects and member information, with support for looking up users by ID or username. Returns structured user profiles with permission and status flags.","intents":["Look up user information to personalize agent responses","Check if a user is an admin or has specific permissions in a chat","Build user profiles for context-aware interactions","Verify user identity or status before executing sensitive commands"],"best_for":["Moderation bots that need to check user status and permissions","Personalization systems that adapt responses based on user info","Security-conscious bots that verify user identity before actions"],"limitations":["User lookup by username requires the user to have a public username set","Profile picture URLs are temporary and expire after a few hours","Member status information requires bot to be in the same chat","No access to user's private information (email, phone) via Bot API"],"requires":["Telegram Bot API token","User ID or username (for lookup)","Bot must be in the same chat as the user (for member status)","MCP server runtime"],"input_types":["user ID (numeric)","username (string, with or without @)","chat ID (for member status lookup)"],"output_types":["structured user object (ID, username, first_name, last_name, is_bot, etc.)","member status object (status, permissions, restricted_until, etc.)","profile picture URL"],"categories":["memory-knowledge","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_5","uri":"capability://tool.use.integration.message.editing.and.deletion","name":"message-editing-and-deletion","description":"Edits or deletes previously sent messages in Telegram chats by message ID. Implements message lifecycle management through Telegram Bot API endpoints, supporting text content updates, media replacement, and inline keyboard modifications. Handles permission checks and error cases (e.g., message too old to edit, insufficient permissions).","intents":["Update a message sent by the bot with new information or corrections","Delete messages that are no longer relevant or contain errors","Modify interactive elements (buttons) in previously sent messages","Implement message lifecycle management for temporary notifications"],"best_for":["Interactive bots that update message state based on user interactions","Notification systems that need to correct or update sent messages","Moderation bots that remove inappropriate content"],"limitations":["Messages can only be edited within 48 hours of sending","Only the bot that sent the message can edit or delete it","Editing media requires replacing the entire message (no partial media updates)","Deletion is permanent and cannot be undone"],"requires":["Telegram Bot API token","Message ID of the message to edit/delete","Chat ID where the message was sent","For editing: message must be less than 48 hours old"],"input_types":["message ID (numeric)","chat ID","new message content (for edits)","formatting options (Markdown/HTML)"],"output_types":["updated message object (for edits)","deletion confirmation (boolean)","error details if operation fails"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_6","uri":"capability://tool.use.integration.inline.keyboard.and.callback.button.handling","name":"inline-keyboard-and-callback-button-handling","description":"Creates interactive inline keyboards with buttons that trigger callback queries when clicked, and handles incoming callback data from button presses. Implements button registration and callback routing logic that maps button IDs to handler functions. Supports button state management and dynamic keyboard updates based on user interactions.","intents":["Create interactive buttons in Telegram messages for user choices","Handle button clicks and route them to appropriate agent logic","Build multi-step interactive flows with button-based navigation","Update button states or keyboard layouts based on user interactions"],"best_for":["Interactive bots with button-driven user interfaces","Agents that need structured user input through clickable options","Workflow bots that guide users through multi-step processes"],"limitations":["Callback data is limited to 64 bytes per button","Button callbacks must be handled within 30 seconds or Telegram shows timeout","No built-in state management — button handlers must manage conversation state externally","Keyboard updates require sending a new message or editing the existing one"],"requires":["Telegram Bot API token","Message ID for keyboard updates","Chat ID","Callback handler function definitions","MCP server runtime with callback query listener"],"input_types":["button definition objects (text, callback_data)","keyboard layout specification (rows, columns)","callback query data (from button clicks)"],"output_types":["message with inline keyboard","callback handler invocation result","updated keyboard after state changes"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_7","uri":"capability://tool.use.integration.file.upload.and.media.handling","name":"file-upload-and-media-handling","description":"Uploads files and media to Telegram chats through the Telegram Bot API, supporting documents, images, audio, video, and other file types. Implements file type detection, size validation, and upload streaming for large files. Handles file ID caching to avoid re-uploading identical files and manages media metadata (captions, thumbnails, duration).","intents":["Send generated files (PDFs, images, documents) to Telegram users","Upload media attachments alongside messages","Share large files with proper streaming and progress tracking","Attach metadata (captions, titles) to media uploads"],"best_for":["Report generation bots that send PDF or document outputs","Image processing agents that deliver generated or edited images","File sharing bots that handle document distribution"],"limitations":["File size limits vary by type (documents up to 50MB, photos up to 10MB, etc.)","Upload speed depends on network bandwidth and Telegram server load","File ID caching requires persistent storage to avoid re-uploads","No built-in progress tracking for large uploads"],"requires":["Telegram Bot API token","File path or file stream","Chat ID for upload destination","File must comply with Telegram size and type restrictions","Network connectivity for upload"],"input_types":["file path (local filesystem)","file stream or buffer","file type specification","media metadata (caption, title, duration)"],"output_types":["file ID (for future reference)","message object with media","upload status (success/failure)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_8","uri":"capability://tool.use.integration.group.and.channel.management.operations","name":"group-and-channel-management-operations","description":"Performs administrative operations on Telegram groups and channels including adding/removing members, setting permissions, pinning messages, and managing group settings. Implements permission-aware operations that check bot admin status before executing changes. Supports bulk operations (e.g., removing multiple members) and permission configuration through structured objects.","intents":["Add or remove users from a Telegram group programmatically","Set group permissions (who can post, edit messages, etc.)","Pin important messages to the top of a chat","Configure group settings (title, description, photo) automatically"],"best_for":["Moderation bots that manage group membership and permissions","Automation systems that configure groups on creation","Admin assistants that handle routine group management tasks"],"limitations":["Bot must be group admin with appropriate permissions to execute operations","Some operations (e.g., changing group owner) are not available via Bot API","Bulk operations require multiple API calls, adding latency","Permission changes apply to all future members but don't affect existing members retroactively"],"requires":["Telegram Bot API token","Bot must be admin in the target group/channel","Appropriate admin permissions for the operation","Group/channel ID","User IDs (for member operations)"],"input_types":["group/channel ID","user IDs (for member operations)","permission objects (structured permission flags)","group settings (title, description, photo)"],"output_types":["operation success/failure status","updated group metadata","permission configuration confirmation"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__cap_9","uri":"capability://tool.use.integration.webhook.and.polling.based.message.listening","name":"webhook-and-polling-based-message-listening","description":"Listens for incoming Telegram messages and events through either webhook (push-based) or long-polling (pull-based) mechanisms. Implements event routing that dispatches incoming messages to registered handlers based on message type (text, command, media, etc.). Supports both update types and provides abstraction over the transport mechanism (webhook vs. polling).","intents":["Receive and react to messages sent to the bot in real-time","Listen for specific message types (commands, media, etc.) and trigger handlers","Implement event-driven bot logic that responds to user interactions","Monitor multiple chats and channels for activity"],"best_for":["Real-time bots that need to respond immediately to messages","Event-driven agents that react to user input","Monitoring systems that track Telegram activity"],"limitations":["Webhook requires HTTPS and a publicly accessible server (polling is simpler for development)","Polling adds latency (typically 1-2 seconds) compared to webhooks","No built-in message deduplication — handlers must manage duplicate processing","Event ordering is not guaranteed across multiple updates"],"requires":["Telegram Bot API token","For webhooks: HTTPS server with valid SSL certificate","For polling: MCP server runtime with polling loop","Handler function definitions","Network connectivity to Telegram API"],"input_types":["Telegram update objects (messages, callbacks, etc.)","event type filters (optional)"],"output_types":["parsed message objects","handler invocation results","event routing decisions"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"telegram-mcp-server__headline","uri":"capability://tool.use.integration.telegram.mcp.server","name":"telegram mcp server","description":"A community-driven MCP server for the Telegram messaging platform that facilitates message management, chat handling, and bot command execution through the Telegram Bot API.","intents":["best MCP server for Telegram","MCP server for managing Telegram bots","Telegram messaging server for community use","how to set up a Telegram MCP server","Telegram bot API server solutions"],"best_for":["developers building Telegram bots","communities using Telegram for messaging"],"limitations":[],"requires":[],"input_types":[],"output_types":[],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":63,"verified":false,"data_access_risk":"high","permissions":["Telegram Bot API token (obtained via @BotFather)","Valid chat ID or channel username","Network connectivity to Telegram Bot API endpoints","MCP server runtime with Telegram MCP Server installed","Telegram Bot API token with appropriate permissions","Bot must be member of the target chat or channel","Chat ID or channel identifier","MCP server runtime","Telegram Bot API token","Public HTTPS endpoint with valid SSL certificate"],"failure_modes":["Message size limited by Telegram Bot API (4096 characters for text)","Media uploads require file size compliance with Telegram limits (up to 50MB for documents)","No built-in retry logic for failed deliveries — requires external error handling","Formatting support depends on Telegram Bot API version and client capabilities","Telegram Bot API limits message history retrieval to recent messages (typically last 100-1000 depending on API version)","Cannot retrieve deleted messages or messages from before bot was added to chat","Pagination requires multiple API calls, adding latency for large message sets","No full-text search capability — filtering must be done client-side after retrieval","Requires public HTTPS endpoint — cannot use on localhost or private networks","Webhook setup requires manual configuration via Telegram Bot API","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.7,"quality":0.9,"ecosystem":0.52,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:05.296Z","last_scraped_at":null,"last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=telegram-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=telegram-mcp-server"}},"signature":"WoOvkuso/fOe9EzX3DI9KauayPYhA1EneItYbip79DCddlB4/cbXOvzjE/trsm+eV7I4Nf4kR3nucP2PNSKaCA==","signedAt":"2026-06-22T11:51:05.475Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/telegram-mcp-server","artifact":"https://unfragile.ai/telegram-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=telegram-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}