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, speedtransmission_torrent_add— Add torrent by magnet link, URL, or base64 .torrenttransmission_torrent_remove— Remove torrents (optionally delete files; uses elicitation for confirmation, falls back toconfirmDeleteparameter)transmission_torrent_start— Start torrents (with queue bypass option)transmission_torrent_stop— Stop/pause torrentstransmission_torrent_verify— Verify local data integritytransmission_torrent_reannounce— Force tracker announcetransmission_torrent_details— Detailed info: files, trackers, peerstransmission_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 totalstransmission_session_get— Session configurationtransmission_session_set— Modify session settings (speed limits, directories, etc.)
System:
transmission_free_space— Check disk spacetransmission_port_test— Test peer port accessibilitytransmission_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
| Variable | Description | Default |
|---|---|---|
TRANSMISSION_URL | Transmission RPC endpoint | http://localhost:9091/transmission/rpc |
TRANSMISSION_USERNAME | HTTP Basic Auth username | (none) |
TRANSMISSION_PASSWORD | HTTP Basic Auth password | (none) |
MCP_HTTP_PORT | Optional HTTP/SSE transport port | (disabled) |
MCP_HTTP_HOST | Bind address for HTTP transport | 127.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.