MCP Hub
Back to servers

Syncthing MCP Server

A comprehensive MCP server providing 35 tools for monitoring and managing multiple Syncthing file synchronization instances. It enables users to track sync status, manage device connections, and modify folder configurations through natural language commands.

glama
Updated
Feb 8, 2026

Syncthing MCP Server

A Model Context Protocol (MCP) server for managing and monitoring Syncthing file synchronization instances. Built with FastMCP.

Features

  • 35 tools for complete Syncthing management
  • Multi-instance support - manage multiple Syncthing nodes from one server
  • Three transport modes - streamable-http, SSE, and stdio
  • Async throughout - non-blocking httpx client with connection pooling

Quick Start

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

Configuration

Single Instance

SYNCTHING_URL=http://localhost:8384
SYNCTHING_API_KEY=your-api-key-here

Multiple Instances

SYNCTHING_INSTANCES=server1|http://host1:8384|key1,server2|http://host2:8384|key2

Server Options

SERVER_HOST=0.0.0.0
SERVER_PORT=8088
TRANSPORT=streamable-http   # streamable-http, sse, or stdio
LOG_LEVEL=INFO

Tools

Monitoring (15 tools, read-only)

ToolDescription
list_instancesList configured instances and check connectivity
get_statusSystem status: version, uptime, memory usage
get_connectionsDevice connections with bandwidth and addresses
get_completionSync completion % for a folder/device pair
list_foldersAll configured folders with labels, paths, types
get_folder_statusDetailed folder sync state, file counts, errors
list_devicesAll configured devices with names and addresses
get_device_statsPer-device stats: last seen, connection duration
get_folder_statsPer-folder stats: last scan, last synced file
get_errorsCurrent system errors
get_logsRecent log entries (filterable by timestamp)
get_pending_devicesDevices requesting to connect
get_pending_foldersFolders offered by remote devices
browse_folderBrowse files/directories within a synced folder
health_checkQuick up/down health check (no auth required)

Actions (8 tools)

ToolDescription
scan_folderTrigger folder rescan (full or subfolder)
pause_devicePause syncing with a specific device
resume_deviceResume syncing with a specific device
pause_allPause all syncing
resume_allResume all syncing
override_folderForce local state as authoritative (send-only folders)
revert_folderRevert local changes to match remote (receive-only folders)
clear_errorsClear system error log

Configuration (12 tools)

ToolDescription
add_folderAdd a new shared folder
update_folderModify folder settings
remove_folderRemove a shared folder (files on disk unchanged)
add_deviceAdd a new device by ID
update_deviceModify device settings
remove_deviceRemove a device
accept_deviceAccept a pending device connection
reject_deviceReject a pending device connection
accept_folderAccept a pending folder share
reject_folderReject a pending folder share
get_configGet full config or a specific section
restartRestart the Syncthing service

Client Configuration

Claude Desktop

{
  "mcpServers": {
    "syncthing": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-remote", "http://your-host:8088/mcp"]
    }
  }
}

Claude Code

claude mcp add syncthing http://your-host:8088/mcp

stdio mode

{
  "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"
      }
    }
  }
}

Deployment (systemd)

sudo cp syncthing-mcp.service /etc/systemd/system/
sudo systemctl enable --now syncthing-mcp

Development

uv sync --dev
uv run pytest tests/ -v
uv run ruff check .
uv run ruff format --check .

License

MIT

Reviews

No reviews yet

Sign in to write a review