Skip to main content
Glama
rollecode

Transmission MCP server

by rollecode

set_torrent

Idempotent

Change per-torrent settings for bandwidth limits, file priorities, tracker lists, seeding rules, and queue position.

Instructions

Change any per-torrent setting. Every mutator the RPC accepts is here.

Args: ids: Torrent ids or hash strings. bandwidth_priority: -1 low, 0 normal, 1 high. download_limit: Download cap in kB/s. download_limited: Whether download_limit applies. files_wanted: Indices of files to download. files_unwanted: Indices of files to skip. group: Bandwidth group name. honors_session_limits: Whether session speed limits apply. labels: Replace the torrent's labels. location: New data directory. This only records the path; use move_torrent_data to move the files. peer_limit: Maximum peers. priority_high: File indices to fetch first. priority_low: File indices to fetch last. priority_normal: File indices at normal priority. queue_position: Position in the queue, counting from 0. seed_idle_limit: Minutes of no activity before seeding stops. seed_idle_mode: 0 global setting, 1 seed_idle_limit, 2 unlimited. seed_ratio_limit: Stop seeding at this ratio. seed_ratio_mode: 0 global setting, 1 seed_ratio_limit, 2 unlimited. sequential_download: Download pieces in order. tracker_add: Tracker announce URLs to add. Deprecated by Transmission in favour of tracker_list. tracker_list: The whole tracker list as text: URLs separated by newlines, tiers separated by a blank line. tracker_remove: Tracker ids to remove. Deprecated in favour of tracker_list. tracker_replace: Pairs of tracker id and new URL. Deprecated in favour of tracker_list. upload_limit: Upload cap in kB/s. upload_limited: Whether upload_limit applies.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsYes
groupNo
labelsNo
locationNo
peer_limitNo
tracker_addNo
files_wantedNo
priority_lowNo
tracker_listNo
upload_limitNo
priority_highNo
download_limitNo
files_unwantedNo
queue_positionNo
seed_idle_modeNo
tracker_removeNo
upload_limitedNo
priority_normalNo
seed_idle_limitNo
seed_ratio_modeNo
tracker_replaceNo
download_limitedNo
seed_ratio_limitNo
bandwidth_priorityNo
sequential_downloadNo
honors_session_limitsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as readOnly=false and destructive=false; the description consistently says 'Change' and adds useful behavioral details—for example that location only records a path, labels are replaced, tracker_list is the whole list, and deprecated tracker_* fields are superseded by tracker_list. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is long only because there are 26 parameters to document. The opening one-liner states the purpose, and the Arg list is compact with no filler. Deprecation notes are inline where they matter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 26-parameter mutation tool, the description covers every accepted argument, highlights cross-tool behavior via move_torrent_data, and an output schema exists so return-value documentation is not needed. The main remaining value-add, explicitly stating that unspecified settings are left unchanged, is minor because the schema shows only ids as required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full responsibility for 26 parameters. It delivers: every parameter gets a unit, allowed mode, or format (e.g., '-1 low, 0 normal, 1 high', 'kB/s', 'URLs separated by newlines, tiers by blank line'), which the bare schema completely lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence says 'Change any per-torrent setting,' which is a specific verb, resource, and scope. It clearly separates this tool from siblings like set_session and set_bandwidth_group (session- or group-level mutations) and from action-oriented siblings like start_torrents or move_torrent_data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing for one common overlap: changing location only records the path and instructs to 'use move_torrent_data to move the files.' It does not systematically enumerate when to prefer start/stop/remove/queue siblings, but the scope 'per-torrent setting' plus the sibling names make the main boundary clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.