Telegram MCP Server
Conecte-se à sua conta do Telegram para ler e enviar mensagens.
Documentação
Telegram MCP Server
Conecte o Claude à sua conta do Telegram para ler e enviar mensagens.
Recursos
A maioria dos chats, usuários e grupos pode ser referenciada por ID numérico, @username,
número de telefone, link do t.me ou o literal "me" — o servidor resolve isso para
você (e aquece o cache de entidades do Telethon automaticamente para que IDs brutos também funcionem).
Ferramentas Disponíveis
Leitura
- get_me – Informações sobre a conta autenticada
- get_chats – Lista paginada de chats (nomes, IDs, contagens de não lidas, estado de fixação); suporta chats arquivados
- get_messages – Histórico de mensagens paginado de um chat (marca como lido); inclui informações de mídia e reações
- search_messages – Pesquisa por texto, globalmente ou em um único chat
- get_pinned_messages – Lista mensagens fixadas em um chat
- get_entity_info – Busca um usuário/grupo/canal por ID, nome de usuário, telefone ou link
- get_participants – Lista membros de um grupo ou canal
Envio e edição
- send_message – Envia texto (Markdown), opcionalmente como resposta
- edit_message – Edita uma mensagem que você enviou
- delete_messages – Exclui mensagens (para todos ou apenas para você)
- forward_messages – Encaminha mensagens entre chats
- send_reaction – Adiciona ou remove uma reação de emoji
- pin_message / unpin_message – Fixa ou desafixa mensagens
- mark_messages_read – Marca mensagens não lidas de um chat como lidas
Mídia
- send_file – Envia uma foto, vídeo, documento ou nota de voz do disco
- download_media – Baixa a mídia anexada de uma mensagem para o disco
Contatos e usuários
- get_contacts – Lista contatos salvos
- add_contact / delete_contact – Gerencia contatos
- block_user / unblock_user – Gerenciamento de bloqueio
Gerenciamento de chats e canais
- create_group – Cria um grupo básico
- create_channel – Cria um canal ou supergrupo
- join_chat / leave_chat – Entra (por nome de usuário ou link de convite) ou sai
- archive_chat – Arquiva / desarquiva um chat
- mute_chat – Silencia / ativa notificações
Redação com consciência de estilo
- get_conversation_context – Mensagens recentes + seu guia
convostyle.txtpara que o Claude combine com seu estilo de texto
Guia de Configuração
Passo 1: Obtenha as Credenciais da API do Telegram
- Acesse https://my.telegram.org/apps
- Faça login e crie um aplicativo
- Salve seu API ID e API Hash
Passo 2: Instalação
# Clone the repository
git clone https://github.com/alexandertsai/mcp-telegram
cd mcp-telegram
# Set up Python environment
pip install uv
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync
Passo 3: Configuração
# Copy the example file
cp .env.example .env
# Edit .env and add your API credentials:
# TELEGRAM_API_ID=your_api_id_here
# TELEGRAM_API_HASH=your_api_hash_here
Passo 4: Autenticação
A partir da raiz do repositório:
uv run telegram-auth
Siga as instruções:
- Digite seu número de telefone (com código do país, ex.: +1234567890)
- Digite o código enviado para seu Telegram
- Digite sua senha de 2FA, se tiver uma
Isso grava TELEGRAM_SESSION_STRING no seu .env.
Passo 5: Adicionar ao Claude Desktop
Encontre o arquivo de configuração do Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Adicione esta configuração (substitua o caminho pela localização do seu clone):
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-telegram", "run", "telegram-mcp"]
}
}
}
Se uv não estiver no PATH do Claude Desktop, use o caminho absoluto (which uv).
Alternativamente, aponte command para o Python do seu venv e use
["-m", "mcp_telegram"] como argumentos, com cwd definido para a raiz do repositório.
Reinicie o Claude Desktop.
Uso
Após a configuração, você pode pedir ao Claude para:
- "Verificar minhas mensagens do Telegram"
- "Enviar uma mensagem para [nome do contato]"
- "Quais são meus chats não lidos?"
- "Responder à última mensagem de [nome do contato]"
Guia de Estilo (Opcional)
Crie src/mcp_telegram/convostyle.txt para ajudar o Claude a combinar seu estilo de texto:
I text casually with friends, formally with work contacts.
I use emojis sparingly and prefer short messages.
Solução de Problemas
Problemas de Autenticação
Se a autenticação falhar:
- Verifique suas credenciais da API em
.env - Remova a linha TELEGRAM_SESSION_STRING de
.env - Execute
uv run telegram-authnovamente
Erros Comuns
- "Please set TELEGRAM_API_ID and TELEGRAM_API_HASH": Arquivo
.envou credenciais ausentes - "Session string is invalid or expired": Execute a autenticação novamente
- Senha de 2FA não aparecendo: Isso é normal - continue digitando
Requisitos
- Python 3.10+
- Claude Desktop
- Conta do Telegram
Licença
Apache 2.0