Instagram DMs
Envie DMs do Instagram via seu LLM
Documentação
Servidor MCP de DM do Instagram
Este é um servidor Model Context Protocol (MCP) para envio de Direct Messages do Instagram.
Com ele, você pode enviar Direct Messages do Instagram a partir da sua conta (mais recursos em breve).
Aqui está um exemplo do que você pode fazer quando conectado ao Claude.
Instagram_DM_MCP_Demo-2.mp4
Para receber atualizações sobre este e outros projetos em que trabalhamos, insira seu e-mail aqui
Instalação
Pré-requisitos
- Python 3.11+
- Aplicativo Anthropic Claude Desktop (ou Cursor)
- Pip (gerenciador de pacotes Python), instale com
python -m pip install - Uma conta do Instagram
Passos
- Clone este repositório
git clone https://github.com/trypeggy/instagram_dm_mcp.git
cd instagram_dm_mcp - Instale as dependências
- Usando uv (recomendado):
uv sync - Usando Pip:
pip install -r requirements.txt
- Configure as credenciais do Instagram
Você tem duas opções para fornecer suas credenciais do Instagram:
Opção A: Variáveis de Ambiente (Recomendado)
Configuração Rápida (Recomendado):
Execute o script auxiliar:
python setup_env.py
Isso solicitará interativamente suas credenciais e criará o arquivo.envcom segurança.
Configuração Manual:
Crie um arquivo.envna raiz do projeto:
cp env.example .env
Em seguida, edite.envcom suas credenciais reais:
INSTAGRAM_USERNAME=your_instagram_username
INSTAGRAM_PASSWORD=your_instagram_password
Opção B: Argumentos de Linha de Comando
Você ainda pode passar credenciais como argumentos de linha de comando (menos seguro).
2. Conecte-se ao servidor MCP
Para Claude Desktop:
Salve isso como claude_desktop_config.json no diretório de configuração do Claude Desktop em:
~/Library/Application Support/Claude/claude_desktop_config.json
Para Cursor:
Salve isso como mcp.json no diretório de configuração do Cursor em:
~/.cursor/mcp.json
Configuração com Variáveis de Ambiente (Recomendado):
- Usando uv
{
"mcpServers": {
"instagram_dms": {
"command": "uv",
"args": [
"run",
"--directory",
"PATH/TO/instagram_dm_mcp",
"python",
"src/mcp_server.py"
]
}
}
} - Usando Python
{
"mcpServers": {
"instagram_dms": {
"command": "python",
"args": [
"{{PATH_TO_SRC}}/instagram_dm_mcp/src/ mcp_server.py"
]
}
}
}
Configuração com Argumentos de Linha de Comando:
{
"mcpServers": {
"instagram_dms": {
"command": "python",
"args": [
"{{PATH_TO_SRC}}/instagram_dm_mcp/src/mcp_server.py",
"--username",
"{{YOUR_INSTAGRAM_USERNAME}}",
"--password",
"{{YOUR_INSTAGRAM_PASSWORD}}"
]
}
}
}
- Reinicie o Claude Desktop / Cursor
Abra o Claude Desktop e agora você deve ver o Instagram DM MCP como uma integração disponível.
Ou reinicie o Cursor.
Uso
Abaixo está uma lista de todas as ferramentas disponíveis e o que elas fazem:
| Nome da Ferramenta | Descrição |
|---|---|
| send_message | Envia uma mensagem direta do Instagram para um usuário por nome de usuário. |
| send_photo_message | Envia uma foto como mensagem direta do Instagram para um usuário por nome de usuário. |
| send_video_message | Envia um vídeo como mensagem direta do Instagram para um usuário por nome de usuário. |
| list_chats | Obtém os tópicos (conversas) de Mensagens Diretas do Instagram da sua conta, com filtros/limites opcionais. |
| list_messages | Obtém mensagens de um tópico específico de Mensagem Direta do Instagram pelo ID do tópico. Agora expõe item_type e informações de post/reel compartilhado para cada mensagem. Use isso para determinar qual ferramenta de download utilizar. |
| download_media_from_message | Baixa uma foto ou vídeo enviado diretamente de uma mensagem de DM (não para posts/reels/clipes compartilhados). |
| download_shared_post_from_message | Baixa mídia de um post, reel ou clipe compartilhado em uma mensagem de DM (não para envios diretos). |
| list_media_messages | Lista todas as mensagens contendo mídia enviada diretamente (foto/vídeo) em um tópico de DM. |
| mark_message_seen | Marca uma mensagem específica em um tópico de Mensagem Direta do Instagram como vista. |
| list_pending_chats | Obtém os tópicos de Mensagens Diretas do Instagram da sua caixa de entrada pendente. |
| search_threads | Pesquisa tópicos de Mensagens Diretas do Instagram por nome de usuário ou palavra-chave. |
| get_thread_by_participants | Obtém um tópico de Mensagem Direta do Instagram pelos IDs dos participantes. |
| get_thread_details | Obtém detalhes e mensagens de um tópico específico de Mensagem Direta do Instagram pelo ID do tópico. |
| get_user_id_from_username | Obtém o ID do usuário do Instagram para um determinado nome de usuário. |
| get_username_from_user_id | Obtém o nome de usuário do Instagram para um determinado ID de usuário. |
| get_user_info | Obtém informações sobre um usuário específico do Instagram por nome de usuário. |
| search_users | Pesquisa usuários do Instagram por nome de usuário |
| get_user_stories | Obtém as histórias recentes de um usuário específico do Instagram por nome de usuário. |
| like_media | Curte ou descurte uma publicação de mídia específica pelo ID da mídia. |
| get_user_followers | Obtém uma lista de seguidores de um usuário específico do Instagram por nome de usuário. |
| get_user_following | Obtém uma lista de usuários que um usuário específico do Instagram segue, por nome de usuário. |
| get_user_posts | Obtém as publicações recentes de um usuário específico do Instagram por nome de usuário. |
Solução de problemas
Login do Instagram travando: O servidor agora inclui gerenciamento automático de sessão para evitar travamentos no login. Os arquivos de sessão (ex.: username_session.json) são criados e reutilizados automaticamente para manter o estado de autenticação entre execuções.
Para mais soluções de problemas na integração com Claude Desktop, consulte a documentação do MCP. A documentação inclui dicas úteis para verificar logs e resolver problemas comuns.
Feedback
Seu feedback será imensamente apreciado. Por favor, conte-nos quais recursos dessa lista você gostaria de ver em seguida ou solicite novos recursos por completo.
Licença
Este projeto está licenciado sob a Licença MIT.