Claude Ops Telegram Server

io.github.auroracapitalPublished by GitHub account auroracapitalv0.2.1Updated Oct 24, 2026

Telegram personal-account MCP (MTProto user-auth). Read DMs, send messages, search across chats.

The publisher's own server: Claude Platform Docs

Overview

AI-generated overview

Local MCP server that signs in as your personal Telegram account to list chats, read messages, search conversations and send replies.

What you can do
  • List recent conversations (DMs, groups, channels) with unread counts
  • Fetch messages from a specific chat
  • Search messages full-text across all conversations
  • Send a message to a chat or user
When to use it
Useful when you want an assistant to triage your own Telegram inbox — checking unread DMs, pulling message history, searching across chats and replying — which a BotFather bot cannot do because bots cannot read private user-to-user chats.
Requirements
Runs locally over stdio with Node.js and npm dependencies installed. Needs a personal Telegram application from my.telegram.org, plus the environment variables TELEGRAM_API_ID, TELEGRAM_API_HASH, TELEGRAM_PHONE and TELEGRAM_SESSION. The session is created once by running the auth command, which prompts for an SMS code and optional 2FA password. Network access to Telegram's API is required.
Before you install
The server authenticates as your personal account, so it can read and send real private messages. TELEGRAM_SESSION is equivalent to your password and is device-bound; keep it in a secret manager and never commit it, and revoke stolen sessions from Telegram's Devices settings. Sending messages writes to real conversations. Telegram enforces per-account rate limits.

Installation

In SourceWeft

  1. Open Claude Ops Telegram Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

claude-ops Telegram MCP Server

User-auth Telegram MCP server for the /ops:ops-inbox skill. Authenticates as a personal Telegram account via MTProto (gram.js), not as a BotFather bot, so it can read and reply to real DM conversations.

Why user-auth, not bot?

Bots cannot read messages sent in private chats between two users — only messages sent directly to the bot. For the /ops:ops-inbox use case (managing the owner's personal inbox), we must authenticate as the user's account.

Setup

1. Get API credentials

Go to https://my.telegram.org/apps and create a personal application (not a bot). You'll get:

  • api_id (integer)
  • api_hash (32-char string)

2. Install dependencies

bash
cd claude-ops/telegram-servernpm install

3. First-run authentication (interactive)

bash
TELEGRAM_API_ID=12345 \TELEGRAM_API_HASH=abcdef... \TELEGRAM_PHONE=+15551234567 \node index.js --auth

The script will prompt for an SMS code and (if enabled) your 2FA password. On success it prints a TELEGRAM_SESSION string — save this securely (it's your session token).

4. Configure MCP server in Claude Code

Add to ~/.claude/settings.json:

json
{  "mcpServers": {    "telegram": {      "command": "node",      "args": ["/path/to/claude-ops/telegram-server/index.js"],      "env": {        "TELEGRAM_API_ID": "${TELEGRAM_API_ID}",        "TELEGRAM_API_HASH": "${TELEGRAM_API_HASH}",        "TELEGRAM_SESSION": "${TELEGRAM_SESSION}",        "TELEGRAM_PHONE": "${TELEGRAM_PHONE}"      }    }  }}

Export the env vars from a secret manager (Doppler, 1Password, direnv — never commit):

bash
export TELEGRAM_API_ID="..."export TELEGRAM_API_HASH="..."export TELEGRAM_SESSION="..."   # from step 3export TELEGRAM_PHONE="+1..."export TELEGRAM_ENABLED=true    # enables in ops-unread detection

Restart Claude Code to load the MCP server.

Tools

ToolDescription
list_dialogsList recent conversations (DMs, groups, channels) with unread counts
get_messagesFetch messages from a specific chat
send_messageSend a message to a chat or user
search_messagesFull-text search across all conversations

Security

  • Never commit TELEGRAM_SESSION — it's equivalent to your password
  • Session tokens are device-bound; if stolen, log out via Telegram app → Settings → Devices
  • All credentials come from environment variables; nothing is hardcoded in this repo
  • The server runs over stdio (local only); no network exposure beyond Telegram's official API

Troubleshooting

"Session is no longer valid": Re-run node index.js --auth to generate a fresh session.

"TELEGRAM_API_ID is required": The env vars aren't being passed to the MCP server. Check your ~/.claude/settings.json env block.

Rate limiting: Telegram enforces per-account limits. If you hit one, wait 15-30 minutes before retrying.

Source: claude-ops/telegram-server/README.md at commit fea4d55

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Claude integrations