All checks were successful
Build and Push Docker Image / build (push) Successful in 7s
Transmission MCP Server
A multi-instance Transmission BitTorrent client MCP server following the "Hybrid MCP Light" pattern.
Features
- Multi-instance support: Connect to multiple Transmission daemons simultaneously
- Default instance: Configure a default instance for convenience
- Full API coverage: Pass-through tool for any Transmission RPC method
- Embedded documentation: API reference available as an MCP resource
Quick Start
-
Copy the environment template:
cp .env.example .env -
Edit
.envwith your Transmission instances:TRANSMISSION_INSTANCES='[ {"name": "home", "url": "http://localhost:9091", "username": "admin", "password": "secret"}, {"name": "seedbox", "url": "https://seedbox.example.com/transmission"} ]' TRANSMISSION_DEFAULT_INSTANCE=home -
Run with Docker:
docker-compose up -dOr run directly:
pip install . python server.py
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
TRANSMISSION_INSTANCES |
Yes | JSON array of instance configurations |
TRANSMISSION_DEFAULT_INSTANCE |
No | Name of the default instance |
HOST |
No | Server bind address (default: 0.0.0.0) |
PORT |
No | Server port (default: 8000) |
Instance Configuration
Each instance in TRANSMISSION_INSTANCES supports:
| Field | Required | Description |
|---|---|---|
name |
Yes | Unique identifier for this instance |
url |
Yes | Full URL to Transmission RPC endpoint |
username |
No | Username for HTTP Basic Auth |
password |
No | Password for HTTP Basic Auth |
MCP Tools
list_instances
Returns all configured Transmission instances with connectivity status.
get_torrents
Get torrent list with common fields for a specific instance.
Parameters:
instance(optional): Instance name (uses default if not specified)ids(optional): Specific torrent IDs to fetch
get_session_stats
Get session statistics including speeds and torrent counts.
Parameters:
instance(optional): Instance name (uses default if not specified)
rpc_call
Execute any Transmission RPC method directly.
Parameters:
method: RPC method name (e.g.,torrent_get,session_set)params(optional): JSON string of method parametersinstance(optional): Instance name (uses default if not specified)
MCP Resources
transmission://api-reference
Embedded Transmission RPC API documentation for AI agent reference.
Examples
List all torrents on default instance
{"tool": "get_torrents"}
Get torrents from specific instance
{"tool": "get_torrents", "arguments": {"instance": "seedbox"}}
Add a torrent via pass-through
{
"tool": "rpc_call",
"arguments": {
"method": "torrent_add",
"params": "{\"filename\": \"magnet:?xt=urn:btih:...\"}"
}
}
Pause all torrents
{
"tool": "rpc_call",
"arguments": {
"method": "torrent_stop",
"params": "{}"
}
}
Health Check
The server exposes a /health endpoint for Docker health checks and monitoring.
curl http://localhost:8000/health
License
MIT
Description
Languages
Python
98.5%
Dockerfile
1.5%