Transmission MCP Server

Un servidor MCP para controlar el demonio de torrents Transmission.

Documentación

Transmission MCP Server

Un servidor MCP sencillo para controlar tu demonio de torrents Transmission. Admite tanto conexión directa como proxy SOCKS5 para acceso remoto.

Configuración rápida

  1. Clonar y configurar:

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

    Copia la configuración de claude-desktop-config.json a tu archivo de configuración de Claude Desktop:

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

    Importante: Actualiza las rutas para que coincidan con tu sistema y usa el Python del 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 con proxy SOCKS5 (cuando estés fuera de casa): Usa el parámetro use_socks5: true en tus comandos a Claude

Variables de entorno

  • TRANSMISSION_HOST: Dirección IP del demonio de Transmission (predeterminado: 192.168.1.205)
  • TRANSMISSION_PORT: Número de puerto (predeterminado: 9091)
  • TRANSMISSION_USERNAME: Nombre de usuario para autenticación
  • TRANSMISSION_PASSWORD: Contraseña para autenticación
  • USE_SOCKS5: Habilitar proxy SOCKS5 (verdadero/falso, predeterminado: falso)
  • SOCKS5_HOST: Host del proxy SOCKS5 (predeterminado: 127.0.0.1)
  • SOCKS5_PORT: Puerto del proxy SOCKS5 (predeterminado: 1080)
  • TRANSMISSION_TIMEOUT: Tiempo de espera de solicitud en segundos (predeterminado: 30)

Herramientas disponibles

add_torrent

Agregar un nuevo torrent mediante enlace magnético o URL.

  • magnet_or_url: Enlace magnético o URL del archivo torrent
  • download_dir: Directorio de descarga personalizado opcional
  • use_socks5: Usar proxy SOCKS5 para esta solicitud (predeterminado: falso)

control_torrent

Iniciar, detener o eliminar torrents.

  • action: "start", "stop" o "remove"
  • torrent_ids: Matriz de IDs de torrents
  • delete_data: Si se deben eliminar los datos locales al eliminar (predeterminado: falso)
  • use_socks5: Usar proxy SOCKS5 para esta solicitud (predeterminado: falso)

get_free_space

Verificar el espacio disponible en disco para descargas.

  • path: Ruta de directorio opcional para verificar
  • use_socks5: Usar proxy SOCKS5 para esta solicitud (predeterminado: falso)

list_torrents

Listar todos los torrents con su estado, progreso y directorios de descarga.

  • use_socks5: Usar proxy SOCKS5 para esta solicitud (predeterminado: falso)

get_session_info

Obtener información sobre la sesión del demonio de Transmission, incluidos versión, configuración y estadísticas.

  • use_socks5: Usar proxy SOCKS5 para esta solicitud (predeterminado: falso)

Ejemplos de uso

Después de configurar Claude Desktop, puedes usar estos comandos:

Conexión directa (red local):

  • "Muéstrame todos mis torrents"
  • "Agrega este enlace magnético: magnet:?xt=urn:btih:..."
  • "Detén el torrent ID 5"
  • "¿Cuánto espacio libre tengo?"

Mediante proxy SOCKS5 (acceso remoto):

  • "Usa SOCKS5 para mostrarme todos mis torrents"
  • "Usa proxy SOCKS5 para agregar este enlace magnético: magnet:?xt=urn:btih:..."
  • "Usa SOCKS5 para detener el torrent ID 5"
  • "Usa SOCKS5 para obtener el espacio libre"

Configuración de red

Conexión directa (red local)

Úsala cuando tu laptop esté en la misma red que el servidor de Transmission.

Proxy SOCKS5 (acceso remoto)

Configura un túnel SOCKS5 cuando estés fuera de casa, luego usa use_socks5: true en tus comandos:

# SSH tunnel with SOCKS5
ssh -D 1080 -N user@your-home-server.com

Luego dile a Claude: "Usa SOCKS5 para agregar este enlace magnético..."

Solución de problemas

Problemas de conexión

  • Verifica que el demonio de Transmission esté en ejecución y sea accesible
  • Revisa la configuración del firewall en el servidor de Transmission
  • Asegúrate de que RPC esté habilitado en la configuración de Transmission
  • Verifica el nombre de usuario/contraseña si se requiere autenticación

Problemas con SOCKS5

  • Confirma que el proxy SOCKS5 esté en ejecución en el host:puerto especificado
  • Prueba la conectividad SOCKS5 con otra herramienta primero
  • Verifica si se requiere autenticación para tu proxy SOCKS5

Problemas de autenticación

  • Verifica el nombre de usuario/contraseña en las variables de entorno
  • Comprueba si Transmission requiere autenticación
  • Asegúrate de que la lista blanca de RPC incluya la IP de tu cliente

Desarrollo

El servidor está contenido en un solo archivo (src/server.py) por simplicidad. Utiliza:

  • httpx para solicitudes HTTP
  • pydantic para la gestión de configuración
  • mcp para la integración del Model Context Protocol

Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.