{"name":"io.github.Mesteriis/tg-account-mcp","slug":"mesteriis-tg-account-mcp","title":"TG multi-account MCP","description":"Self-hosted, consent-based access to Telegram accounts and bots for MCP clients","url":"https://mcp.market/server/mesteriis-tg-account-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":31,"stars":0,"forks":0,"downloads_week":435,"last_push_at":"2026-09-18T05:21:36.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Mesteriis/tg-account-mcp","website":"https://github.com/Mesteriis/tg-account-mcp","version":"0.5.2","remotes":[],"packages":[{"registryType":"pypi","identifier":"tg-account-mcp","version":"0.5.2","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://127.0.0.1:8000/mcp","headers":[{"value":"Bearer {mcp_token}","variables":{"mcp_token":{"description":"Token returned by tg-mcp show-token","isRequired":true,"format":"string","isSecret":true}},"name":"Authorization"}]},"packageArguments":[{"value":"serve","type":"positional"}],"environmentVariables":[{"description":"Private directory initialized with tg-mcp setup","format":"filepath","name":"TG_MCP_STATE_DIR"}]}],"tools":[{"name":"cancel_scheduled_message","description":"Cancel one scheduled message by ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_agent_token","description":"Create a scoped bearer token. The plaintext token is returned only once.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_draft","description":"Save a private local message draft without contacting Telegram.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_draft","description":"Delete one local draft.","write_action":true,"price_micros":0,"input_schema":null},{"name":"download_attachment","description":"Download one image or file attachment up to 10 MB from a message.","write_action":false,"price_micros":0,"input_schema":null},{"name":"download_attachment_chunk","description":"Read a base64 chunk from an attachment of any size accepted by Telegram.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_own_message","description":"Edit a text message previously sent by the selected personal account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_chats","description":"Find dialogs by title or contact name across the latest 500 dialogs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forward_messages","description":"Forward 1–100 existing messages as the selected personal account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_capabilities","description":"Describe server features, limits and currently configured identities.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_chat_history","description":"Read history newest first, optionally inside an inclusive YYYY-MM-DD range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_chat_info","description":"Return normalized identity and type metadata for a chat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_conversation_snapshot","description":"Get chat metadata, recent history and its latest pinned message.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_folder_messages","description":"Merge messages from chats in a named folder, newest first, with date filters.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_inbox_context","description":"Return prioritized unread dialogs with recent message context in one call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_message","description":"Get one message by its stable chat and message IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_message_context","description":"Get a target message with bounded messages immediately before and after it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_recent_mentions","description":"List recent messages that mention this account, globally or in one chat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_reply_thread","description":"Return a message, its reply ancestry and bounded direct replies.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_status","description":"Return aggregate readiness counts for configured accounts and bots.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_unread_inbox","description":"List unread dialogs with mention, reaction and latest-message context.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_accounts","description":"List stable user account IDs and their readiness state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_agent_tokens","description":"List scoped agent tokens without revealing their token material or hash.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_attachments","description":"List attachment-bearing messages by kind and inclusive calendar range.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_bots","description":"List stable bot IDs and their readiness state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_chats","description":"List chats for one account. Use next_cursor for further pages.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_drafts","description":"List private local drafts visible to the current agent token.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_folders","description":"List Telegram chat folders for one account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_scheduled_messages","description":"List scheduled messages in one chat.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_topics","description":"List forum topics for a supergroup.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_chat_read","description":"Mark a chat read through an optional message ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"poll_updates","description":"Poll new, edited, deleted, read and reaction events after a signed cursor.","write_action":false,"price_micros":0,"input_schema":null},{"name":"react_to_message","description":"Set a standard emoji reaction, or remove the account's reaction with null.","write_action":false,"price_micros":0,"input_schema":null},{"name":"resolve_message_link","description":"Resolve a public or private t.me message link to chat, topic and message IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"resolve_peer","description":"Resolve a numeric ID, username, t.me link or fuzzy chat title.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revoke_agent_token","description":"Revoke one scoped agent bearer token.","write_action":false,"price_micros":0,"input_schema":null},{"name":"schedule_message","description":"Schedule a plain-text message 10 seconds to 365 days in the future.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_all_messages","description":"Search every dialog, optionally filtering by date, sender and attachment kind.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_chat_content","description":"Find links, polls, GIFs, video notes, voice notes or pinned messages.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_messages","description":"Search within one chat for one account; the cursor is bound to both.","write_action":false,"price_micros":0,"input_schema":null},{"name":"send_as_bot","description":"Send plain text as the selected bot. Never falls back to a user or another bot.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_as_user","description":"Send plain text as the selected personal account. Never falls back to another ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_attachment","description":"Send an existing Telegram attachment as the selected personal account.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_draft","description":"Send one pending draft; subsequent calls return its stored send receipt.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T21:13:49.363Z","report":{"scannerVersion":"0.1.8","scannedAt":"2026-09-19T21:13:49.395Z","components":{"code":{"score":25,"max":25,"notes":["26 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"tg-account-mcp","version":"0.5.2","found":true,"weeklyDownloads":435,"license":"Apache-2.0","dependencyCount":7,"publishedAt":"2026-09-18T05:22:18.103554Z","repositoryUrl":"https://github.com/Mesteriis/tg-account-mcp"}],"repo":{"found":true,"owner":"Mesteriis","repo":"tg-account-mcp","archived":false,"pushedAt":"2026-09-18T05:21:36Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/14878777?v=4","ownerCreatedAt":"2015-09-28T19:36:39Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/14878777?v=4&s=128","source":"registry"},"presence":{"stars":0,"forks":0,"downloadsWeek":435,"license":"Apache-2.0","lastPushAt":"2026-09-18T05:21:36.000Z","score":31}}}},"grade_history":[],"reviews":[]}