Transmission MCP服务器

一个基于Model Context Protocol (MCP)的服务器,提供通过RPC API与Transmission BitTorrent客户端交互的工具。

  • by cronus42
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cronus42/transmission-mcp

使用说明

传输MCP服务器

一种模型上下文协议(MCP)服务器,提供通过其RPC API与传输BitTorrent客户端交互的工具。

特性

服务器提供以下工具:

洪流管理

  • add_torrent:通过URL、磁铁链接或base64编码的.torrent文件添加新的种子
  • remove_torrent:使用可选的本地数据删除功能删除种子
  • start_torrent:按ID启动/恢复种子
  • stop_torrent:按ID停止/暂停种子
  • get_torrent_info:获取特定种子的详细信息
  • 搜索_更正:通过可选的状态过滤按名称搜索种子

配置

  • 设置优先级:为单个种子设置下载优先级(高/正常/低)
  • 设定速度限制:设置全局下载/上传速度限制

监控

  • get_session_stats:获取全面的传输会话统计信息

资源

服务器还提供以下浏览资源:

  • transmission://session -当前会话信息
  • transmission://torrents -所有种子列表
  • transmission://stats -会话统计

安装

  1. 克隆此存储库:
git clone https://github.com/cronus42/transmission-mcp.git
cd transmission-mcp
  1. 运行安装脚本:
./setup.sh
  1. 配置您的传输服务器设置(可选):
cp .env.example .env
# Edit .env with your Transmission server details
  1. 确保您的传输守护进程正在运行并且启用了RPC。

测试

运行测试脚本以验证连接:

python test-transmission.py

使用MCP客户端

曲速终端集成

  1. 运行安装脚本:
./setup.sh
  1. 配置Warp以使用MCP服务器:
warp mcp add-server --config mcp_config.json

或者手动启动服务器:

./start_transmission_server.sh

Claude桌面配置

添加到您的Claude Desktop配置文件(~/Library/Application Support/Claude/claude_desktop_config.json 在 macOS 上:

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

示例命令

通过MCP客户端连接后,您可以使用以下命令:

  • “添加此磁铁链接:磁铁:?xt=urn:btih:…”
  • “显示当前正在下载的所有种子”
  • “停止ID为5的种子”
  • “获取torrent 3的详细信息”
  • “将全局下载限制设置为500 KB/s”
  • “搜索包含'ubuntu'的种子”
  • “显示传输统计信息”

变速器设置

确保您的传输守护进程已启用RPC。在您的传输设置中:

  1. 启用“允许远程访问”
  2. 设置RPC端口(通常为9091)
  3. 如果需要,配置身份验证(当前实现假定没有身份验证)
  4. 确保RPC白名单包括您的客户端IP

对于无头传输(传输守护进程),编辑 /etc/transmission-daemon/settings.json:

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

安全说明

  • 当前实现假定不需要RPC身份验证
  • 对于生产使用,考虑实施身份验证
  • 确保适当的网络安全(防火墙规则、VPN等)
  • 使用环境变量(.env文件)配置服务器连接

api参考

服务器处理传输RPC API调用,包括:

  • 具有CSRF保护的会话管理(X-Transmission-Session-Id标头)
  • 自动重试409个错误以获取新的会话ID
  • 基于HTTP POST请求的JSON RPC
  • 全面的错误处理和记录

错误处理

该服务器包括强大的错误处理功能,用于:

  • 网络连接问题
  • HTTP错误和状态代码
  • 传输RPC错误
  • 种子ID无效或请求格式错误
  • 会话ID管理和CSRF保护