Telegram MCP
Um servidor MCP para interagir com o serviço de mensagens Telegram usando a biblioteca mtcute.
Documentação
telegram-mcp
Um servidor Model Context Protocol (MCP) para interagir com o Telegram usando mtcute.
Recursos
- Enviar mensagens de texto para chats
- Aguardar mensagens recebidas em chats específicos
- Ler mensagens de chats
- Pesquisar mensagens
- Listar e obter informações sobre diálogos (chats)
- Obter mensagens recentes de todos os chats
- Definir e inspecionar IDs de status de emoji para contas e canais
Configuração
Instalação
Opção 1: Baixar Binário Pré-compilado
Baixe a versão mais recente para sua plataforma na página de releases:
- macOS (Apple Silicon):
telegram-mcp-darwin-arm64.tar.gz - macOS (Intel):
telegram-mcp-darwin-x64.tar.gz - Linux:
telegram-mcp-linux-x64.tar.gz - Windows:
telegram-mcp-win-x64.exe.zip
Extraia o arquivo e torne o binário executável (sistemas Unix):
tar -xzf telegram-mcp-*.tar.gz
chmod +x telegram-mcp
Opção 2: Compilar a partir do Código-fonte
-
Clone o repositório e instale as dependências:
git clone git@github.com:zhigang1992/telegram-mcp.git cd telegram-mcp bun install -
Compile o executável:
bun run build
Configuração Inicial (Somente na Primeira Vez)
-
Obtenha suas credenciais da API do Telegram em https://my.telegram.org
-
Execute a configuração inicial para autenticar com o Telegram:
export API_ID=your_api_id export API_HASH=your_api_hash ./telegram-mcpO servidor irá:
- Solicitar que você insira seu número de telefone
- Enviar um código de verificação via Telegram
- Pedir o código de verificação
- Exibir o caminho absoluto de armazenamento (você precisará dele para a configuração do MCP)
-
Anote o caminho de armazenamento exibido na saída. Ele será algo como:
Storage path: /Users/username/telegram-mcp/bot-data/session
Uso
Como Servidor MCP
Adicione à configuração do Claude Desktop usando o caminho de armazenamento da configuração inicial:
{
"mcpServers": {
"telegram": {
"command": "/path/to/telegram-mcp",
"env": {
"API_ID": "your_api_id",
"API_HASH": "your_api_hash",
"TELEGRAM_STORAGE_PATH": "/absolute/path/from/initial/setup"
}
}
}
}
Importante: O TELEGRAM_STORAGE_PATH deve ser o caminho absoluto exibido durante a configuração inicial. Isso garante que o servidor MCP use a sessão autenticada.
Ferramentas Disponíveis
Ferramentas de Mensagem
-
messages_sendText- Enviar uma mensagem de texto para um chatchatId(obrigatório): ID do Chat/Usuário ou nome de usuáriotext(obrigatório): Texto da mensagem a enviarreplyToMessageId: ID opcional da mensagem para responder
-
messages_getHistory- Obter histórico de mensagens de um chatchatId(obrigatório): ID do Chat/Usuário ou nome de usuáriolimit: Número de mensagens (padrão: 100, máximo: 100)offsetId: ID da mensagem para paginação
-
messages_search- Pesquisar mensagensquery(obrigatório): Consulta de pesquisachatId: Chat específico para pesquisar (opcional)limit: Número de resultados (padrão: 50)
-
messages_getRecent- Obter mensagens recentes de todos os chatslimit: Número de chats (padrão: 10)messagesPerChat: Mensagens por chat (padrão: 10)
Ferramentas Interativas
wait_for_reply- Aguardar a próxima mensagem em um chatchatId(obrigatório): ID do Chat/Usuário ou nome de usuário para aguardar uma mensagemtimeoutSeconds: Tempo limite em segundos (padrão: 60, máximo: 300)
Ferramentas de Status
-
status_getCurrent- Obter o status de emoji atual de um peerpeerId: Peer de destino, padrão éself
-
status_setEmoji- Definir ou limpar um status de emojipeerId: Peer de destino, padrão éselfemojiId: ID do documento de emoji personalizado, obrigatório a menos queclear=trueisCollectible: DefinatruequandoemojiIdfor um ID colecionáveluntil: Carimbo de data/hora ISO-8601 opcional ou string de carimbo de data/hora Unixclear: Limpar o status atual em vez de definir um
-
status_listAvailable- Listar IDs de status de emoji padrão disponíveisscope:selfouchannel(padrão:self)limit: Máximo de IDs a retornar (padrão: 100)
-
status_listCollectibles- Listar IDs colecionáveis próprios utilizáveis como status de emoji pessoalowner: Peer para inspecionar, padrão éselflimit: Máximo de colecionáveis a retornar (padrão: 100)
Ferramentas de Diálogo
-
dialogs_list- Listar todos os diálogoslimit: Máximo de diálogos (padrão: 50)filter: Opções de filtro (onlyUsers, onlyGroups, onlyChannels)
-
dialogs_getInfo- Obter informações detalhadas do diálogochatId(obrigatório): ID do Chat/Usuário ou nome de usuário
Desenvolvimento
Execute em modo de desenvolvimento:
bun run dev
O servidor armazena dados de sessão no diretório bot-data/.