telegram-slack-mcp
mcp-name: io.github.nileshpatil6/telegram-slack-mcp
MCP servers that give Claude access to your personal Telegram and Slack accounts. Python distribution of telegram-slack-mcp.
There is also an npm build of the same servers if you prefer Node:
npx -y telegram-slack-mcp telegram.
Install
uvx telegram-slack-mcp telegram # or: pipx install telegram-slack-mcp
Register with Claude Code:
claude mcp add telegram -- uvx telegram-slack-mcp telegram
claude mcp add slack -- uvx telegram-slack-mcp slack
Telegram
Uses MTProto as your account, so it sees your real DMs, groups and channels, not just messages sent to a bot.
- Get an
api_idandapi_hashfrom https://my.telegram.org → API development tools. - Set
TELEGRAM_API_IDandTELEGRAM_API_HASH. - Ask Claude to log you in: it calls
login_startwith your phone, you paste the code Telegram sends, it callslogin_complete. One time only.
Tools: login_start, login_complete, whoami, list_chats, read_chat,
search_messages, unread_summary, send_message.
Slack
Reads and posts across all your workspaces at once.
- Create an app at https://api.slack.com/apps from the manifest in the repo.
- Install it to each workspace, copying the User OAuth Token (
xoxp-...) each time. - Set
SLACK_USER_TOKENSto all of them, comma separated.
Tools: whoami, list_channels, list_dms, read_channel, read_thread,
search_messages, unread_summary, send_message. Every tool takes an optional
workspace filter.
Environment
| variable | meaning |
|---|---|
TELEGRAM_API_ID / TELEGRAM_API_HASH |
from my.telegram.org |
TELEGRAM_ALLOW_SEND |
1 to allow sending as you (default off) |
SLACK_USER_TOKENS |
one xoxp- token per workspace, comma separated |
SLACK_ALLOW_SEND |
1 to allow posting as you (default off) |
CHAT_MCP_DATA_DIR |
where sessions live (default ~/.chat-mcp) |
Privacy
Nothing is sent to any server belonging to this project. There is no such server.
Everything runs on your machine. The only outbound traffic is to Telegram's and Slack's own APIs with your own credentials. No telemetry, no analytics, no phone-home.
Credentials never reach Claude — they stay in ~/.chat-mcp and your environment. What
reaches Claude is only the chat content you ask it to read, handled under Anthropic's
privacy policy like any text you paste in yourself. The servers are passive and read
nothing in the background.
Security
These act as you, not as a bot. Sending is off by default in both servers.
The Telegram session file and Slack xoxp- tokens are full account credentials —
keep them out of git. Automating a personal Telegram account is a userbot, which
Telegram's ToS restricts; light personal use is common, bulk automation risks a ban.
Anything Claude reads enters the model's context.
MIT licensed. Full docs: https://github.com/nileshpatil6/telegram-slack-mcp
Metadata
Release files for telegram-slack-mcp 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| telegram_slack_mcp-0.2.2.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| telegram_slack_mcp-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.9 kB
Release files / telegram_slack_mcp-0.2.2.tar.gz
| Download URL | telegram_slack_mcp-0.2.2.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0e832d29a596f95294e28161c43d619f1a8ab9df50d6de3b29445fe157e3393
|
|
BLAKE2b-256 checksum How to use checksums |
8e30cd5fbbcf701a6e01a5f78ff8581ad4eb7e5af60baa409cd23b4ea5a65072
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / telegram_slack_mcp-0.2.2-py3-none-any.whl
| Download URL | telegram_slack_mcp-0.2.2-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acbc60fdea9443ef065eaba656dc054376b17ba06abee52481b442eb95818e29
|
|
BLAKE2b-256 checksum How to use checksums |
f1c2f12c3710d65cd68f21694a32230c727b45daba7db58e2b184bf3ad0ba28c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|