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

  1. Clone e configure:

    git clone <this-repo>
    cd transmission-mcp-server
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  2. Configure o Claude Desktop:

    Copie a configuração de claude-desktop-config.json para o arquivo de configuração do seu Claude Desktop:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    Importante: 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"
          }
        }
      }
    }
    
  3. Para uso com proxy SOCKS5 (quando estiver fora de casa): Use o parâmetro use_socks5: true em 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ção
  • TRANSMISSION_PASSWORD: Senha para autenticação
  • USE_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 torrent
  • download_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 torrents
  • delete_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 verificar
  • use_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:

  • httpx para requisições HTTP
  • pydantic para gerenciamento de configuração
  • mcp para a integração com o Model Context Protocol

Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.