Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for Chatroost — unofficial Telegram MCP server

Pod holds 16 of 16 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to Chatroost — unofficial Telegram MCP server.

Most discussed

Master daemon never recovers from a dropped MTProto connection — all tool calls fail with 'IPC call timeout' until killed

Summary

Once the master daemon loses its MTProto connection, it never recovers. It stays alive, keeps accepting IPC clients and keeps serving tool calls that can never complete, so every call from every client fails with IPC call timeout: <tool> until the master is killed by hand.

I hit this after the daemon had been up for ~22 hours. The process was healthy and listening on daemon.sock, but had zero TCP connections to Telegram:

$ cat ~/.mcp-telegram/daemon.lock
1836
$ ps -o…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/71) · 2026-07-27 · closed · external user · 2 comments

### edit_chat_settings — update group/channel title, description, permissions

## Description
Add `edit_chat_settings` tool to modify group/channel settings.

## Parameters
- `chatId` (required) — chat identifier
- `title` (optional) — new chat title
- `description` (optional) — new description/about
- `permissions` (optional) — member permissions object (send messages, media, polls, etc.)
- `slowMode` (optional) — slow mode delay in seconds (0 to disable)

## Telegram API
`channels.editTitle`, `channels.editAbout`, `channels.editBanned` for permissions

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/24) · 2026-04-05 · closed · 2 comments

### Windows + Node: server crashes at startup — IPC listens on a filesystem path (listen EACCES); needs \\.\pipe\ mapping on win32

## Summary

Since the master/client IPC architecture, the npm package cannot start on Windows with Node.js. `startOwner()` (dist/master.js) listens on `join(sessionDir, "daemon.sock")` — a filesystem path. On Windows, Node's `net.Server.listen(path)` only supports the named-pipe namespace (`\\.\pipe\` / `\\?\pipe\`, see [Node docs, "IPC support"](https://nodejs.org/api/net.html#identifying-paths-for-ipc-connections)), so the first launch (which becomes master) dies immediately:

```…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/69) · 2026-07-15 · closed · external user · 1 comment

### create_poll — create polls and quizzes

## Description
Add `create_poll` tool to create polls and quizzes in chats.

## Parameters
- `chatId` (required) — chat identifier
- `question` (required) — poll question
- `options` (required) — array of answer options (2-10)
- `isAnonymous` (optional) — anonymous voting (default: true)
- `type` (optional) — "regular" or "quiz"
- `correctOptionId` (optional) — correct answer index for quiz mode
- `multipleChoice` (optional) — allow multiple answers
- `closeDate` (optional) — auto-close…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/23) · 2026-04-05 · closed · 1 comment

### leave_chat — leave a group or channel

## Description
Add `leave_chat` tool to leave a group chat or unsubscribe from a channel.

## Parameters
- `chatId` (required) — chat identifier

## Why P0
Basic account management. Users need to leave unwanted groups/channels.

## Telegram API
`messages.deleteChatUser` (groups) / `channels.leaveChannel` (channels/supergroups)

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/21) · 2026-04-05 · closed · 1 comment

### get_chat_info — get full chat/user information

## Description
Add `get_chat_info` tool to get detailed information about a chat, group, channel, or user.

## Parameters
- `chatId` (required) — chat identifier or username

## Returns
- For users: phone, username, bio, online status, common groups count
- For groups: title, description, member count, permissions, invite link
- For channels: title, description, subscriber count, linked group

## Why P0
Currently `get_dialogs` gives limited info. Users need to inspect chats in detail — who is…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/20) · 2026-04-05 · closed · 1 comment

### mark_as_read — mark chat messages as read

## Description
Add `mark_as_read` tool to mark messages in a chat as read.

## Parameters
- `chatId` (required) — chat identifier
- `messageId` (optional) — mark up to this message ID (default: latest)

## Why P0
Users constantly mark chats as read. Without this, unread counts pile up. Also important for automation workflows.

## Telegram API
`messages.readHistory` / `channels.readHistory` via MTProto

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/19) · 2026-04-05 · closed · 1 comment

### edit_message — edit sent messages

## Description
Add `edit_message` tool to edit already sent messages.

## Parameters
- `chatId` (required) — chat identifier
- `messageId` (required) — ID of the message to edit
- `text` (required) — new message text
- `parseMode` (optional) — markdown/html formatting

## Why P0
Editing messages is one of the most basic Telegram actions. Every user does it constantly. Currently there's no way to correct a sent message.

## Telegram API
`messages.editMessage` via MTProto / GramJS…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/18) · 2026-04-05 · closed · 1 comment

## Most recent

### mute_chat — mute/unmute chat notifications

## Description
Add `mute_chat` tool to mute or unmute notifications for a specific chat.

## Parameters
- `chatId` (required) — chat identifier
- `muted` (required) — true to mute, false to unmute
- `duration` (optional) — mute duration in seconds (default: forever)

## Why P0
Notification management is essential. Users mute noisy groups constantly.

## Telegram API
`account.updateNotifySettings` via MTProto

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/22) · 2026-04-05 · closed · 0 comments

### send-message should return messageId

## Problem

`telegram-send-message` returns only `"Message sent to @username"` as a string. It doesn't return the `messageId` of the sent message.

This makes it impossible to use `telegram-edit-message` afterwards, since it requires `messageId`.

## Expected behavior

`telegram-send-message` should return a structured response including `messageId`, so that the message can later be edited or referenced.

## Current workaround

None — the only option is to send a new corrected message.

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/16) · 2026-03-31 · closed · 1 comment

### Add edit-message support

## Problem

After sending a message via `telegram-send-message`, there's no way to edit it. If there's a typo or formatting issue, the only option is to send a new message.

## Expected behavior

Add an `telegram-edit-message` tool that allows editing a previously sent message by its message ID.

## Use case

Sent a message with unnecessary parentheses around a URL. Wanted to edit it but had no way to do so — had to consider sending a corrected message instead.

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/15) · 2026-03-31 · closed · 1 comment

### Add user role info to get-chat-members and new get-my-role tool

## Problem

Currently `get-chat-members` returns only `id`, `name`, `username` — no role information (admin/creator/member).

There's also no way to check the current user's role in a chat.

## Use case

Building an AI agent (Mastra-based) that polls Telegram for unread messages. The agent should **only respond in chats where it's an admin or creator** — this is the natural permission boundary. Currently we have to hardcode a whitelist of chat IDs, which doesn't scale.

## Proposed solution…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/8) · 2026-03-28 · closed · 0 comments

### AUTH_KEY_DUPLICATED when using same session in two processes

## Problem

When the same session file is used in two processes simultaneously (e.g., K3s pod + local script), GramJS throws:

RPCError: 406: AUTH_KEY_DUPLICATED (caused by InvokeWithLayer)


## Possible solutions

1. Document the limitation — session can only be used by one process at a time
2. Session locking — detect and warn when session is already in use
3. Support creating multiple independent sessions per account

## Workaround

Create separate sessions for each environment:…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/6) · 2026-03-28 · closed · 0 comments

### Add telegram-create-group tool

## Problem

Cannot create Telegram groups programmatically via MCP tools. When building automated workflows (e.g., AI agent team chat), you have to create groups manually.

## Proposed solution

Add a `telegram-create-group` tool:

```typescript
// Input
{
  title: string,           // Group name
  users: string[],         // Usernames or IDs to add
  supergroup?: boolean,    // Create as supergroup (default: false)
  forum?: boolean,         // Enable topics (requires supergroup)…

[Read the thread](https://github.com/mcp-telegram/mcp-telegram/issues/5) · 2026-03-28 · closed · 0 comments

### Support SOCKS5/HTTP proxy for Telegram connection

## Problem

When running mcp-telegram inside a containerized environment (K3s pod), Telegram DC IPs (149.154.x.x) may be blocked or unreachable. GramJS supports proxy connections, but mcp-telegram doesn't expose this option.

## Current behavior

`TelegramClient` is created without proxy options:
```typescript
this.client = new TelegramClient(session, this.apiId, this.apiHash, {
  connectionRetries: 5,
});

This results in MCP error -32001: Request timed out when Telegram DCs are not…

Read the thread · 2026-03-28 · closed · 0 comments

ANSI escape codes in stdout break MCP JSON-RPC parsing in Claude Desktop

Bug Report

When running @overpod/mcp-telegram as an MCP server in Claude Desktop, the server emits ANSI color escape codes (e.g. \x1B[33m) to stdout instead of stderr. Since MCP communication over stdio uses stdout exclusively for JSON-RPC messages, these color codes corrupt the stream and cause repeated JSON parse errors in the client.

Error

SyntaxError: Unexpected token '', "\x1B[33m[2026"... is not valid JSON

This error repeats on every internal log line…

Read the thread · 2026-03-18 · closed · external user · 1 comment

The remaining reports are on the project's issue tracker.