
How to add Telegram MCP Server (chigwell) to Claude Desktop
Full Telegram user-account MCP via MTProto: read chats, manage groups, send messages Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 15, 2026 ยท 1.2kโ ยท stdio ยท apikey
Claude Desktop config for Telegram MCP Server (chigwell)
git clone https://github.com/chigwell/telegram-mcp && cd telegram-mcp && uv sync && uv run main.py{
"mcpServers": {
"telegram-mcp-server-chigwell": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/telegram-mcp",
"run",
"main.py"
],
"env": {
"TELEGRAM_API_ID": "<your-telegram-api-id>",
"TELEGRAM_API_HASH": "<your-telegram-api-hash>",
"TELEGRAM_SESSION_STRING": "<your-generated-session-string>"
}
}
}
}Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Telegram MCP Server (chigwell) config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Telegram MCP Server (chigwell)'s tools appear under the ๐ tools menu.
Before you start
- Python 3.10+ (uv recommended for dependency management)
- A Telegram account (this controls a real user account, not a bot)
- TELEGRAM_API_ID and TELEGRAM_API_HASH obtained from https://my.telegram.org/apps
- A Telegram session string generated with the bundled session_string_generator.py (QR or phone login)
- An MCP client such as Claude Desktop or Cursor
What Telegram MCP Server (chigwell) can do in Claude Desktop
get_chats / list_chatsPaginated/filterable list of chats with metadata
send_messageSend a message to a user, group, or channel
edit_message / delete_messageEdit or delete an existing message
forward_messageForward a message to another chat
search_messagesSearch message history across chats
create_group / create_channelCreate new groups or channels
invite_user / manage admins, bans, permissionsGroup administration: invites, admin rights, bans, permissions, slow mode
list_contacts / add_contact / block / unblockContact management including block/unblock and import/export
Security
Connects as a full Telegram user account, so the session string grants complete access to your account โ treat it like a password and never share it. Pin to a release tag/commit when cloning to avoid pulling unreviewed upstream changes.
Telegram MCP Server (chigwell) + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Telegram MCP Server (chigwell) config there under the "mcpServers" key and restart the client.
Is Telegram MCP Server (chigwell) safe to use with Claude Desktop?
Connects as a full Telegram user account, so the session string grants complete access to your account โ treat it like a password and never share it. Pin to a release tag/commit when cloning to avoid pulling unreviewed upstream changes.
Is this a bot or my real account?
It logs in as your real Telegram user account via MTProto/Telethon, so it has full access your account has โ not the limited Telegram Bot API surface.
Where do I get the API credentials?
Create an application at https://my.telegram.org/apps to obtain your API_ID and API_HASH; there is no charge.
How does login work โ do I re-enter a code every time?
No. You generate a session string once with the bundled session_string_generator.py (QR or phone), store it in .env, and it reuses that session.