同步MCP服务器
A. 模型上下文协议 用于管理和监控的(MCP)服务器 同步 文件同步实例。内置于 FastMCP.
特性
- 35工具 实现完整的同步管理
- 多实例支持 -从一台服务器管理多个Syncthing节点
- 三种运输方式 -可流式传输的http、SSE和stdio
- 异步贯穿始终 -具有连接池的非阻塞httpx客户端
快速开始
git clone https://github.com/zaphodsdad/syncthing-mcp.git
cd syncthing-mcp
cp .env.example .env
# Edit .env with your Syncthing instance details
uv sync
uv run syncthing-mcp
配置
单个实例
SYNCTHING_URL=http://localhost:8384
SYNCTHING_API_KEY=your-api-key-here
多个实例
SYNCTHING_INSTANCES=server1|http://host1:8384|key1,server2|http://host2:8384|key2
服务器选项
SERVER_HOST=0.0.0.0
SERVER_PORT=8088
TRANSPORT=streamable-http # streamable-http, sse, or stdio
LOG_LEVEL=INFO
工具
监控(15个工具,只读)
| 工具 | 说明 |
|---|
list_instances | 列出已配置的实例并检查连接 |
get_status | 系统状态:版本、正常运行时间、内存使用情况 |
get_connections | 具有带宽和地址的设备连接 |
get_completion | 文件夹/设备对的同步完成百分比 |
list_folders | 所有配置了标签、路径和类型的文件夹 |
get_folder_status | 详细的文件夹同步状态、文件计数、错误 |
list_devices | 所有已配置的设备及其名称和地址 |
get_device_stats | 每台设备统计数据:最后一次看到,连接持续时间 |
get_folder_stats | 每个文件夹统计信息:上次扫描、上次同步文件 |
get_errors | 当前系统错误 |
get_logs | 最近的日志条目(可按时间戳过滤) |
get_pending_devices | 请求连接的设备 |
get_pending_folders | 远程设备提供的文件夹 |
browse_folder | 浏览同步文件夹中的文件/目录 |
health_check | 快速上/下健康检查(无需身份验证) |
行动(8个工具)
| 工具 | 说明 |
|---|
scan_folder | 触发器文件夹重新扫描(完整或子文件夹) |
pause_device | 暂停与特定设备的同步 |
resume_device | 恢复与特定设备的同步 |
pause_all | 暂停所有同步 |
resume_all | 恢复所有同步 |
override_folder | 强制本地状态为权威状态(仅发送文件夹) |
revert_folder | 还原本地更改以匹配远程(仅接收文件夹) |
clear_errors | 清除系统错误日志 |
配置(12个工具)
| 工具 | 说明 |
|---|
add_folder | 添加新的共享文件夹 |
update_folder | 修改文件夹设置 |
remove_folder | 删除共享文件夹(磁盘上的文件不变) |
add_device | 按ID添加新设备 |
update_device | 修改设备设置 |
remove_device | 删除设备 |
accept_device | 接受挂起的设备连接 |
reject_device | 拒绝挂起的设备连接 |
accept_folder | 接受挂起的文件夹共享 |
reject_folder | 拒绝挂起的文件夹共享 |
get_config | 获取完整配置或特定部分 |
restart | 重新启动Syncthing服务 |
客户端配置
克劳德桌面版
{
"mcpServers": {
"syncthing": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-remote", "http://your-host:8088/mcp"]
}
}
}
克劳德代码
claude mcp add syncthing http://your-host:8088/mcp
stdio模式
{
"mcpServers": {
"syncthing": {
"command": "uv",
"args": ["--directory", "/path/to/syncthing-mcp", "run", "syncthing-mcp"],
"env": {
"SYNCTHING_URL": "http://localhost:8384",
"SYNCTHING_API_KEY": "your-key",
"TRANSPORT": "stdio"
}
}
}
}
部署(systemd)
sudo cp syncthing-mcp.service /etc/systemd/system/
sudo systemctl enable --now syncthing-mcp
发展
uv sync --dev
uv run pytest tests/ -v
uv run ruff check .
uv run ruff format --check .
许可证
麻省理工学院