Transmission MCP Server
Um servidor MCP para controlar o daemon de torrent Transmission.
Documentação
Transmission MCP Server
Um servidor MCP simples para controlar seu daemon de torrents Transmission. Suporta tanto conexão direta quanto proxy SOCKS5 para acesso remoto.
Configuração Rápida
-
Clone e configure:
git clone <this-repo> cd transmission-mcp-server python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Configure o Claude Desktop:
Copie a configuração de
claude-desktop-config.jsonpara o arquivo de configuração do seu Claude Desktop:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonImportante: Atualize os caminhos para corresponder ao seu sistema e use o Python do venv:
/path/to/transmission-mcp-server/venv/bin/python{ "mcpServers": { "transmission": { "command": "/path/to/transmission-mcp-server/venv/bin/python", "args": ["/path/to/transmission-mcp-server/src/server.py"], "env": { "TRANSMISSION_HOST": "192.168.1.205", "TRANSMISSION_PORT": "9091", "TRANSMISSION_USERNAME": "your_username", "TRANSMISSION_PASSWORD": "your_password", "USE_SOCKS5": "false" } } } } -
Para uso com proxy SOCKS5 (quando estiver fora de casa): Use o parâmetro
use_socks5: trueem seus comandos para o Claude
Variáveis de Ambiente
TRANSMISSION_HOST: Endereço IP do daemon Transmission (padrão: 192.168.1.205)TRANSMISSION_PORT: Número da porta (padrão: 9091)TRANSMISSION_USERNAME: Nome de usuário para autenticaçãoTRANSMISSION_PASSWORD: Senha para autenticaçãoUSE_SOCKS5: Habilitar proxy SOCKS5 (true/false, padrão: false)SOCKS5_HOST: Host do proxy SOCKS5 (padrão: 127.0.0.1)SOCKS5_PORT: Porta do proxy SOCKS5 (padrão: 1080)TRANSMISSION_TIMEOUT: Tempo limite de requisição em segundos (padrão: 30)
Ferramentas Disponíveis
add_torrent
Adiciona um novo torrent via link magnético ou URL.
magnet_or_url: Link magnético ou URL do arquivo torrentdownload_dir: Diretório de download personalizado (opcional)use_socks5: Usar proxy SOCKS5 para esta requisição (padrão: false)
control_torrent
Inicia, para ou remove torrents.
action: "start", "stop" ou "remove"torrent_ids: Array de IDs de torrentsdelete_data: Se deve excluir dados locais ao remover (padrão: false)use_socks5: Usar proxy SOCKS5 para esta requisição (padrão: false)
get_free_space
Verifica o espaço em disco disponível para downloads.
path: Caminho do diretório opcional para verificaruse_socks5: Usar proxy SOCKS5 para esta requisição (padrão: false)
list_torrents
Lista todos os torrents com seu status, progresso e diretórios de download.
use_socks5: Usar proxy SOCKS5 para esta requisição (padrão: false)
get_session_info
Obtém informações sobre a sessão do daemon Transmission, incluindo versão, configurações e estatísticas.
use_socks5: Usar proxy SOCKS5 para esta requisição (padrão: false)
Exemplos de Uso
Após configurar o Claude Desktop, você pode usar estes comandos:
Conexão direta (rede local):
- "Mostre-me todos os meus torrents"
- "Adicione este link magnético: magnet:?xt=urn:btih:..."
- "Pare o torrent ID 5"
- "Quanto espaço livre eu tenho?"
Via proxy SOCKS5 (acesso remoto):
- "Use SOCKS5 para mostrar todos os meus torrents"
- "Use proxy SOCKS5 para adicionar este link magnético: magnet:?xt=urn:btih:..."
- "Use SOCKS5 para parar o torrent ID 5"
- "Use SOCKS5 para obter espaço livre"
Configuração de Rede
Conexão Direta (Rede Local)
Use quando seu laptop estiver na mesma rede que o servidor Transmission.
Proxy SOCKS5 (Acesso Remoto)
Configure um túnel SOCKS5 quando estiver fora de casa e use use_socks5: true em seus comandos:
# SSH tunnel with SOCKS5
ssh -D 1080 -N user@your-home-server.com
Depois diga ao Claude: "Use SOCKS5 para adicionar este link magnético..."
Solução de Problemas
Problemas de Conexão
- Verifique se o daemon Transmission está em execução e acessível
- Verifique as configurações de firewall no servidor Transmission
- Certifique-se de que o RPC está habilitado nas configurações do Transmission
- Verifique nome de usuário/senha se a autenticação for necessária
Problemas com SOCKS5
- Confirme se o proxy SOCKS5 está em execução no host:porta especificado
- Teste a conectividade SOCKS5 com outra ferramenta primeiro
- Verifique se a autenticação é necessária para o seu proxy SOCKS5
Problemas de Autenticação
- Verifique nome de usuário/senha nas variáveis de ambiente
- Verifique se o Transmission requer autenticação
- Certifique-se de que a lista de permissões do RPC inclui o IP do seu cliente
Desenvolvimento
O servidor está contido em um único arquivo (src/server.py) para simplicidade. Ele usa:
httpxpara requisições HTTPpydanticpara gerenciamento de configuraçãomcppara a integração com o Model Context Protocol
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.