Transmission Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Transmission Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A simple MCP server for controlling your Transmission torrent daemon. Supports both direct connection and SOCKS5 proxy for remote access.
git clone <this-repo>
cd transmission-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtCopy the configuration from claude-desktop-config.json to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Important: Update the paths to match your system and use the venv Python: /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"
}
}
}
}Use the use_socks5: true parameter in your commands to Claude
TRANSMISSION_HOST: IP address of Transmission daemon (default: 192.168.1.205)TRANSMISSION_PORT: Port number (default: 9091)TRANSMISSION_USERNAME: Username for authenticationTRANSMISSION_PASSWORD: Password for authenticationUSE_SOCKS5: Enable SOCKS5 proxy (true/false, default: false)SOCKS5_HOST: SOCKS5 proxy host (default: 127.0.0.1)SOCKS5_PORT: SOCKS5 proxy port (default: 1080)TRANSMISSION_TIMEOUT: Request timeout in seconds (default: 30)add_torrentAdd a new torrent via magnet link, URL, or local .torrent file.
magnet_or_url: Magnet link, torrent file URL, or local .torrent file pathdownload_dir: Optional custom download directorystart_torrent: Start torrent immediately after adding (default: true)use_socks5: Use SOCKS5 proxy for this request (default: false)Local file support: When you provide a local .torrent file path, the server reads the file, base64 encodes it, and sends it to the remote Transmission daemon via the RPC API's metainfo parameter.
control_torrentStart, stop, or remove torrents.
action: "start", "stop", or "remove"torrent_ids: Array of torrent IDsdelete_data: Whether to delete local data when removing (default: false)use_socks5: Use SOCKS5 proxy for this request (default: false)get_free_spaceCheck available disk space for downloads.
path: Optional directory path to checkuse_socks5: Use SOCKS5 proxy for this request (default: false)list_torrentsList all torrents with their status, progress, and download directories.
use_socks5: Use SOCKS5 proxy for this request (default: false)get_session_infoGet information about the Transmission daemon session, including version, settings, and statistics.
use_socks5: Use SOCKS5 proxy for this request (default: false)After setting up Claude Desktop, you can use these commands:
Direct connection (local network):
Via SOCKS5 proxy (remote access):
Use when your laptop is on the same network as the Transmission server.
Set up a SOCKS5 tunnel when away from home, then use use_socks5: true in your commands:
# SSH tunnel with SOCKS5
ssh -D 1080 -N [email protected]Then tell Claude: "Use SOCKS5 to add this magnet link..."
The server is contained in a single file (src/server.py) for simplicity. It uses:
httpx for HTTP requestspydantic for configuration managementmcp for the Model Context Protocol integrationMIT License - see LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.