mcp-transmission

April 8, 2026 · View on GitHub

MCP (Model Context Protocol) server for managing Transmission BitTorrent client.

Built on top of go-transmission library.

Features

18 MCP tools covering the full Transmission RPC API:

Torrent Management:

  • transmission_torrent_list — List all torrents with status, progress, speed
  • transmission_torrent_add — Add torrent by magnet link, URL, or base64 .torrent
  • transmission_torrent_remove — Remove torrents (optionally delete files; uses elicitation for confirmation, falls back to confirmDelete parameter)
  • transmission_torrent_start — Start torrents (with queue bypass option)
  • transmission_torrent_stop — Stop/pause torrents
  • transmission_torrent_verify — Verify local data integrity
  • transmission_torrent_reannounce — Force tracker announce
  • transmission_torrent_details — Detailed info: files, trackers, peers
  • transmission_torrent_set — Modify torrent properties (limits, labels, etc.)
  • transmission_torrent_move — Move torrent data to new location

Session Management:

  • transmission_session_stats — Session statistics and transfer totals
  • transmission_session_get — Session configuration
  • transmission_session_set — Modify session settings (speed limits, directories, etc.)

System:

  • transmission_free_space — Check disk space
  • transmission_port_test — Test peer port accessibility
  • transmission_blocklist_update — Update IP blocklist

Queue & Bandwidth:

  • transmission_queue_move — Move torrents in queue (top/up/down/bottom)
  • transmission_bandwidth_group_get — Get bandwidth group configurations

Configuration

VariableDescriptionDefault
TRANSMISSION_URLTransmission RPC endpointhttp://localhost:9091/transmission/rpc
TRANSMISSION_USERNAMEHTTP Basic Auth username(none)
TRANSMISSION_PASSWORDHTTP Basic Auth password(none)
MCP_HTTP_PORTOptional HTTP/SSE transport port(disabled)
MCP_HTTP_HOSTBind address for HTTP transport127.0.0.1

Usage

With Claude Code (stdio)

Add to your .mcp.json:

{
  "mcpServers": {
    "mcp-transmission": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TRANSMISSION_URL",
        "-e", "TRANSMISSION_USERNAME",
        "-e", "TRANSMISSION_PASSWORD",
        "ghcr.io/lexfrei/mcp-transmission:latest"
      ],
      "env": {
        "TRANSMISSION_URL": "http://host.docker.internal:9091/transmission/rpc"
      }
    }
  }
}

Set TRANSMISSION_USERNAME and TRANSMISSION_PASSWORD as environment variables on your host if your Transmission instance requires authentication. They are passed through to the container via -e flags.

Direct binary

TRANSMISSION_URL=http://localhost:9091/transmission/rpc ./mcp-transmission

Container

Container images are published to GHCR on every release:

docker pull ghcr.io/lexfrei/mcp-transmission:latest
docker run --rm -i \
  -e TRANSMISSION_URL=http://host.docker.internal:9091/transmission/rpc \
  ghcr.io/lexfrei/mcp-transmission:latest

Images are signed with cosign (keyless). Verify:

cosign verify ghcr.io/lexfrei/mcp-transmission:latest \
  --certificate-identity-regexp=https://github.com/lexfrei/mcp-transmission \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com

Available platforms: linux/amd64, linux/arm64.

Requirements

  • Go 1.26.1 or later

Building

go build ./cmd/mcp-transmission

Container image

docker build --file Containerfile --tag mcp-transmission .

License

BSD 3-Clause License. See LICENSE.