Skip to main content
Glama
montyanderson

transmission-mcp

README.md
# Transmission MCP Server

Model Context Protocol (MCP) server for the Transmission BitTorrent client. This server provides comprehensive tools to manage torrents, control the Transmission daemon, and monitor downloads through a standardized MCP interface.

## Features

- **Torrent Management**: Add, remove, pause, resume, and verify torrents
- **Queue Control**: Manage download queue order
- **Session Management**: Configure Transmission daemon settings
- **Real-time Monitoring**: Get torrent status, statistics, and progress
- **File Operations**: Move torrents, check free space
- **Flexible Output**: Support for both human-readable Markdown and machine-readable JSON formats

## Prerequisites

- Node.js 18 or higher
- Transmission daemon running locally or remotely
- Transmission RPC credentials (if authentication is enabled)

## Installation

```bash
npm install
npm run build
```

## Configuration

The server requires the Transmission daemon connection details via environment variables:

- `TRANSMISSION_URL` - Base URL of Transmission RPC (default: `http://localhost:9091`)
- `TRANSMISSION_USERNAME` - Username for authentication (optional)
- `TRANSMISSION_PASSWORD` - Password for authentication (optional)

Example:
```bash
export TRANSMISSION_URL="http://localhost:9091"
export TRANSMISSION_USERNAME="admin"
export TRANSMISSION_PASSWORD="password"
```

## Usage

### With Claude Desktop

Add to your Claude Desktop configuration:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "transmission": {
      "command": "node",
      "args": ["/path/to/transmission-mcp/dist/index.js"],
      "env": {
        "TRANSMISSION_URL": "http://localhost:9091",
        "TRANSMISSION_USERNAME": "your-username",
        "TRANSMISSION_PASSWORD": "your-password"
      }
    }
  }
}
```

### Standalone

```bash
npm start
```

## Available Tools

### Torrent Management

- `transmission_add_torrent` - Add torrent from magnet URI, URL, or base64-encoded .torrent file
- `transmission_list_torrents` - List all torrents with optional filtering
- `transmission_get_torrent` - Get detailed information about specific torrent(s)
- `transmission_remove_torrent` - Remove torrent with option to delete local files
- `transmission_pause_torrent` - Pause active torrent(s)
- `transmission_resume_torrent` - Resume paused torrent(s)
- `transmission_verify_torrent` - Verify torrent data integrity
- `transmission_reannounce_torrent` - Force tracker reannounce
- `transmission_move_torrent` - Move torrent to new location
- `transmission_set_torrent` - Update torrent settings (labels, priorities, limits)

### Queue Management

- `transmission_queue_move` - Move torrents in download queue (top/up/down/bottom)

### Session Management

- `transmission_get_session` - Get Transmission daemon configuration
- `transmission_set_session` - Update daemon settings
- `transmission_get_stats` - Get session statistics (current and cumulative)

### Utility

- `transmission_free_space` - Check available disk space

## Development

```bash
# Install dependencies
npm install

# Run in development mode with auto-reload
npm run dev

# Build the project
npm run build

# Clean build artifacts
npm run clean
```

## License

MIT

TDQS

A4.4/5.0

Scored across 15 tools

Disambiguation5/5

Each tool has a clearly distinct purpose covering all core operations on torrents and session. No two tools overlap confusingly.

Naming Consistency4/5

All tools use 'transmission_' prefix with a verb_noun pattern, except 'queue_move' which deviates slightly from the pattern, but overall consistency is high.

Tool Count5/5

15 tools is well-scoped for a torrent client MCP server, covering all essential operations without excess.

Completeness5/5

The tool set provides complete lifecycle management for torrents (add, remove, pause, resume, verify, move, set/ get settings) and session configuration, leaving no obvious gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues