使用说明
传输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-会话统计
安装
- 克隆此存储库:
git clone https://github.com/cronus42/transmission-mcp.git
cd transmission-mcp
- 运行安装脚本:
./setup.sh
- 配置您的传输服务器设置(可选):
cp .env.example .env
# Edit .env with your Transmission server details
- 确保您的传输守护进程正在运行并且启用了RPC。
测试
运行测试脚本以验证连接:
python test-transmission.py
使用MCP客户端
曲速终端集成
- 运行安装脚本:
./setup.sh
- 配置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。在您的传输设置中:
- 启用“允许远程访问”
- 设置RPC端口(通常为9091)
- 如果需要,配置身份验证(当前实现假定没有身份验证)
- 确保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保护
