Skip to main content
Glama
rollecode

Transmission MCP server

by rollecode

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TRANSMISSION_URLNoThe URL of the Transmission RPC endpoint. Defaults to http://127.0.0.1:9091/transmission/rpc if not set.http://127.0.0.1:9091/transmission/rpc
TRANSMISSION_PASSWORDNoPassword for Transmission RPC authentication. Only required if rpc-authentication-required is enabled.
TRANSMISSION_USERNAMENoUsername for Transmission RPC authentication. Only required if rpc-authentication-required is enabled.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_result_pageA

Read more of a result that was too large to return in one piece.

Any tool whose answer is too large returns its first page with a paging block. Pass that block's result_id here. Nothing is fetched again: the stored result is paged, filtered and narrowed.

Args: result_id: From the paging block of the earlier answer. offset: First item to return, usually the previous next_offset. limit: At most this many items. Fewer come back if they would not fit. fields: Only these keys of each item. Dots reach nested keys, such as "statistics.sizeOnDisk". The paging.fields list shows what exists. match: Keep only items whose field contains this text, ignoring case, for example {"title": "alien", "year": "1979"}. path: Which list to page when the result holds several, as named in paging.lists. Defaults to the largest.

list_torrentsA

List torrents with their state, progress and speeds.

Args: ids: Torrent ids or hash strings, or the literal "recently-active" for everything that changed since the last such call. Omit for all torrents. fields: Which fields to return. Omit for every field. Naming a few keeps the response small on a large library.

get_torrentA

Get every field for one torrent, including files, peers and trackers.

Args: id: A torrent id or hash string.

list_torrent_fieldsA

List every field list_torrents can ask for.

add_torrentA

Add a torrent from a magnet link, a URL, a local file or raw metainfo.

Args: filename: A magnet link or the URL of a .torrent file. torrent_file: Path to a .torrent file on this machine, read and encoded for you. metainfo: Base64 .torrent contents, if you already have them. download_dir: Where to put the data. Defaults to the session setting. paused: Add without starting. labels: Labels to attach. peer_limit: Maximum peers for this torrent. bandwidth_priority: -1 low, 0 normal, 1 high. files_wanted: Indices of files to download. Omit for all. files_unwanted: Indices of files to skip. priority_high: Indices of files to fetch first. priority_low: Indices of files to fetch last. priority_normal: Indices of files at normal priority. cookies: Cookies to send when fetching a .torrent URL. sequential_download: Download pieces in order rather than rarest first.

remove_torrentA

Remove torrents, optionally deleting their downloaded files.

Args: ids: Torrent ids or hash strings. Required -- this tool never defaults to every torrent. delete_local_data: True also erases the downloaded files from disk. This cannot be undone.

start_torrentsA

Start torrents, respecting the download queue.

Args: ids: Torrent ids or hash strings. Omit to start every torrent.

start_torrents_nowA

Start torrents immediately, jumping the download queue.

Args: ids: Torrent ids or hash strings. Omit for every torrent.

stop_torrentsA

Stop torrents.

Args: ids: Torrent ids or hash strings. Omit to stop every torrent.

verify_torrentsA

Re-check torrent data against its hashes.

Verification restarts the torrent's progress from zero while it runs.

Args: ids: Torrent ids or hash strings. Omit for every torrent.

reannounce_torrentsB

Ask the trackers for more peers now.

Args: ids: Torrent ids or hash strings. Omit for every torrent.

set_torrentA

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.

move_torrent_dataA

Move a torrent's data to another directory, or tell it where the data is.

Args: ids: Torrent ids or hash strings. location: The target directory. move: True moves the existing files there. False only updates the recorded path, for data you already moved yourself.

rename_torrent_pathA

Rename a file or directory inside one torrent.

Args: id: A single torrent id or hash string. Renaming is one torrent at a time. path: The current path, relative to the torrent's own root. name: The new name for that one path segment.

queue_move_topB

Move torrents to the front of the queue.

Args: ids: Torrent ids or hash strings.

queue_move_upB

Move torrents one place up the queue.

Args: ids: Torrent ids or hash strings.

queue_move_downB

Move torrents one place down the queue.

Args: ids: Torrent ids or hash strings.

queue_move_bottomA

Move torrents to the back of the queue.

Args: ids: Torrent ids or hash strings.

get_sessionA

Get every session setting and the daemon's version.

get_session_statsA

Get transfer totals, active torrent counts and current speeds.

set_sessionA

Change session settings.

Args: settings: Setting names exactly as get_session reports them, mapped to new values. For example {"speed-limit-down": 5000, "speed-limit-down-enabled": true} or {"download-dir": "/mnt/media"}. Read get_session first to see the current names and values, which differ between Transmission 3 and 4.

test_portA

Check whether the peer port is reachable from outside.

update_blocklistA

Download a fresh copy of the blocklist and report its size.

get_free_spaceA

Get free space in a directory the daemon can see.

Args: path: A directory path on the machine running Transmission, not on this one.

shutdown_daemonA

Shut the Transmission daemon down.

Every torrent stops and the daemon exits. Nothing here can start it again.

get_bandwidth_groupsA

Get bandwidth groups and their speed limits.

Args: group: One group name. Omit for every group.

set_bandwidth_groupA

Create or change a bandwidth group.

Args: name: Group name. A name that does not exist yet is created. honors_session_limits: Whether the session's own limits also apply. speed_limit_down: Download cap for the group in kB/s. speed_limit_down_enabled: Whether the download cap applies. speed_limit_up: Upload cap for the group in kB/s. speed_limit_up_enabled: Whether the upload cap applies.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 27 tools

Disambiguation4/5

Almost every tool targets a distinct resource+action, and descriptions are unusually thorough about differences (e.g. set_torrent's location vs move_torrent_data, start_torrents vs start_torrents_now). The only mild confusions are the start_torrents/start_torrents_now pair and set_torrent overlapping move/queue operations, but documentation resolves them.

Naming Consistency5/5

All names use a consistent snake_case verb_noun pattern (get_session, set_torrent, list_torrents, add_torrent, remove_torrent, move_torrent_data). Variants like queue_move_top and start_torrents_now stay within the same convention and remain readable.

Tool Count3/5

27 tools is heavy for a single daemon client and exceeds the comfortable range. Some could consolidate (e.g. the four queue_move_* tools into one parameterized tool), though each tool does map to a real, distinct RPC capability.

Completeness5/5

The surface covers the full torrent lifecycle (add/get/list/remove/set/move/rename/verify), queue control, bandwidth groups, session settings, blocklist, port test, free space, and even result paging. No obvious gaps or dead ends for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues