Skip to main content
Glama

Transmission MCP Server

by cronus42
MIT License

Transmission MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with the Transmission BitTorrent client via its RPC API.

Features

The server provides the following tools:

Torrent Management

  • add_torrent: Add new torrents by URL, magnet link, or base64-encoded .torrent file
  • remove_torrent: Remove torrents with optional local data deletion
  • start_torrent: Start/resume torrents by ID
  • stop_torrent: Stop/pause torrents by ID
  • get_torrent_info: Get detailed information about specific torrents
  • search_torrents: Search torrents by name with optional status filtering

Configuration

  • set_torrent_priority: Set download priority (high/normal/low) for individual torrents
  • set_speed_limits: Set global download/upload speed limits

Monitoring

  • get_session_stats: Get comprehensive Transmission session statistics

Resources

The server also provides these resources for browsing:

  • transmission://session - Current session information
  • transmission://torrents - List of all torrents
  • transmission://stats - Session statistics

Installation

  1. Clone this repository:
git clone https://github.com/cronus42/transmission-mcp.git cd transmission-mcp
  1. Run the setup script:
./setup.sh
  1. Configure your Transmission server settings (optional):
cp .env.example .env # Edit .env with your Transmission server details
  1. Ensure your Transmission daemon is running and RPC is enabled.

Testing

Run the test script to verify connectivity:

python test-transmission.py

Usage with MCP Client

Warp Terminal Integration

  1. Run the setup script:
./setup.sh
  1. Configure Warp to use the MCP server:
warp mcp add-server --config mcp_config.json

Or manually start the server:

./start_transmission_server.sh

Claude Desktop Configuration

Add to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{ "mcpServers": { "transmission": { "command": "/path/to/transmission-mcp/start_transmission_server.sh", "env": {}, "args": [] } } }

Example Commands

Once connected via an MCP client, you can use commands like:

  • "Add this magnet link: magnet:?xt=urn:..."
  • "Show me all torrents that are currently downloading"
  • "Stop torrent with ID 5"
  • "Get detailed info for torrent 3"
  • "Set global download limit to 500 KB/s"
  • "Search for torrents containing 'ubuntu'"
  • "Show transmission statistics"

Transmission Setup

Ensure your Transmission daemon has RPC enabled. In your Transmission settings:

  1. Enable "Allow remote access"
  2. Set RPC port (usually 9091)
  3. Configure authentication if needed (the current implementation assumes no auth)
  4. Ensure the RPC whitelist includes your client IP

For headless Transmission (transmission-daemon), edit /etc/transmission-daemon/settings.json:

{ "rpc-enabled": true, "rpc-port": 9091, "rpc-whitelist-enabled": false, "rpc-authentication-required": false }

Security Notes

  • The current implementation assumes no RPC authentication is required
  • For production use, consider implementing authentication
  • Ensure proper network security (firewall rules, VPN, etc.)
  • Configure the server connection using environment variables (.env file)

API Reference

The server handles Transmission RPC API calls including:

  • Session management with CSRF protection (X-Transmission-Session-Id header)
  • Automatic retry on 409 errors to fetch new session IDs
  • JSON RPC over HTTP POST requests
  • Comprehensive error handling and logging

Error Handling

The server includes robust error handling for:

  • Network connectivity issues
  • HTTP errors and status codes
  • Transmission RPC errors
  • Invalid torrent IDs or malformed requests
  • Session ID management and CSRF protection
-
security - not tested
A
license - permissive license
-
quality - not tested

Provides tools for interacting with the Transmission BitTorrent client via natural language, enabling users to manage torrents, configure download settings, and monitor download activity.

  1. Features
    1. Torrent Management
    2. Configuration
    3. Monitoring
    4. Resources
  2. Installation
    1. Testing
      1. Usage with MCP Client
        1. Warp Terminal Integration
        2. Claude Desktop Configuration
        3. Example Commands
      2. Transmission Setup
        1. Security Notes
          1. API Reference
            1. Error Handling

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                Enables Claude to interact with FTP servers through natural language commands, allowing users to list directories, download/upload files, create directories, and delete files/directories on FTP servers.
                Last updated -
                6
                8
                JavaScript
                MIT License
                • Linux
                • Apple
              • A
                security
                F
                license
                A
                quality
                Enables comprehensive GitHub operations through natural language including file management, repository administration, issue tracking, and advanced code searching.
                Last updated -
                47
                1
                1
                TypeScript
              • -
                security
                A
                license
                -
                quality
                A server interface for Bitrise CI/CD platform that enables app management, build operations, artifact management, and release management through natural language interactions.
                Last updated -
                25
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A service that provides programmatic access to qBittorrent's WebUI API, enabling management of torrents, trackers, tags, speed controls, and system information through natural language.
                Last updated -
                2
                Python

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/cronus42/transmission-mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server