# Syncthing MCP

> Syncthing. Take full, conversational control over your private file synchronization networks. This MCP lets you monitor every connected device, check folder completion status across remote nodes, and manage the sync process—all without touching a terminal window. You can verify directory structures remotely or pause specific devices instantly, making it ideal for system admins managing distributed data backups.

## Overview
- **Category:** loved-by-devs
- **Price:** Free
- **Tags:** file-synchronization, p2p, data-backup, file-management, remote-access, distributed-storage

## Description

Managing peer-to-peer file synchronization used to mean running multiple command-line tools just to get an overview of what was happening across your network. Now, you connect this MCP and talk to your agent about your infrastructure like natural conversation. You tell it, 'What's the status of my backups?' and it handles the complexity of checking connection health, folder completeness, and device stats. It gives you a single pane of glass view of your entire sync setup.

Whether you need to pause syncing on one machine because of an outage or browse a specific directory path across multiple nodes just to verify file integrity, your agent can execute those commands. This capability moves deep system control out of the terminal and into chat. By connecting this MCP via Vinkius, you get reliable access to manage complex data flows from any compatible AI client.

It's about gaining visibility and granular control over a distributed network—the kind of operational oversight that used to require specialized knowledge and dozens of manual checks.

## Tools

### system_browse
Lists directories based on a provided file path.

### system_connections
Retrieves all configured devices and their active connection status.

### get_db_completion
Provides the current synchronization completion percentage for a folder or device.

### get_db_file
Retrieves detailed metadata and status information about one specific file.

### scan_db
Triggers an immediate synchronization scan request for a specified folder.

### get_db_status
Checks the overall database status of a synchronized folder.

### get_device_stats
Gets detailed performance and resource statistics for a connected device.

### get_events
Polls the system to check for recent synchronization or connection events.

### get_folder_stats
Retrieves comprehensive statistics and usage data for a specific synchronized folder.

### get_config
Fetches the complete, current system configuration settings.

### get_db_ignores
Retrieves the list of ignore patterns set for a specific folder's database.

### get_device
Fetches the detailed configuration settings for one specified device ID.

### get_devices
Retrieves a list of all configured devices and their current connection details.

### get_folder
Fetches the detailed configuration settings for one specified folder path.

### get_folders
Retrieves a list of all configured folders and their respective paths.

### get_health
Performs a simple, non-authenticated check to confirm the overall operational status of the instance.

### system_pause
Temporarily halts synchronization activity on specified devices or all devices if no ID is given.

### get_random_string
Generates a strong, random alphanumeric string for use in configuration files.

### system_reset
Resets the index database for one or more specified folders.

### get_restart_required
Checks if a system configuration change mandates a full service restart.

### system_restart
Initiates a controlled restart of the entire Syncthing service instance.

### system_resume
Resumes synchronization activity on specified devices or all devices if no ID is given.

### set_config
Replaces the entire system configuration with a new set of parameters.

### set_db_ignores
Sets or updates the ignore patterns for a specified folder's database.

### system_shutdown
Gracefully shuts down the Syncthing service instance.

### system_status
Gets the current system status and resource usage metrics of the running process.

### verify_device_id
Validates and formats a raw device ID string into the required operational format.

### system_version
Retrieves the current software version number of the Syncthing instance.

## Prompt Examples

**Prompt:** 
```
Show me all connected devices and their current status.
```

**Response:** 
```
I've retrieved the connection status. You have 3 devices configured: 'Laptop-Main' (Connected), 'Backup-NAS' (Connected), and 'Phone-Sync' (Disconnected).
```

**Prompt:** 
```
Check the system status and resource usage of my Syncthing instance.
```

**Response:** 
```
The system is healthy. Uptime is 48 hours, memory usage is 156MB, and the current version is v1.27.2. No restart is currently required.
```

**Prompt:** 
```
List the directories inside the path '/data/backups/photos'.
```

**Response:** 
```
Browsing the path... I found 3 subdirectories: '2023-Vacation', 'Family-Events', and 'Work-Archive'.
```

## Capabilities

### Monitor Device Health
See which devices are connected, their current status, and overall connection metadata.

### Control Synchronization Flow
Pause or resume syncing for specific nodes, or restart the entire Syncthing process when needed.

### Check Folder Progress
Determine if a folder has completed synchronization and retrieve detailed status reports on database health.

### Inspect Data Structure
Remotely list directories matching specific paths across your entire sync network for auditing or verification.

### Manage System Settings
Retrieve the full system configuration, check if a restart is required, or even shutdown the service.

## Use Cases

### Verifying a Critical Backup Path
The data manager needs to confirm that the 'Q4-financial' directory synced correctly across three different NAS units. They ask their agent to use `system_browse` on specific paths and then run `get_folder_stats`. The agent replies with confirmation of the file count, eliminating manual checks.

### Troubleshooting a Frozen Sync
The ops engineer notices one device is stuck. Instead of guessing, they ask their agent to check both `get_device_stats` and `get_events`. The combined data points immediately to a resource bottleneck on the node, allowing them to use `system_pause` until it's fixed.

### Pre-Migration Data Audit
A power user needs an inventory of all sync locations before moving data. They instruct their agent to run `get_folders` and then use the resulting list to check the configuration for each one using `get_folder`, building a master checklist in minutes.

### Post-Change System Verification
After updating firewall rules, the sysadmin needs to confirm everything is okay. They first use `system_status` and then ask their agent to check device health via `get_health`. If both pass, they know the network is operational.

## Benefits

- You instantly gain visibility into the entire sync network. Instead of checking multiple dashboards, you ask for device status and get a consolidated report on connection health via `system_connections`.
- Avoid manual restarts or complex configuration changes. You can ask your agent to run `get_restart_required` first, ensuring you only restart the service when absolutely necessary, saving time and preventing downtime.
- Confirm data integrity with minimal effort. By asking your agent to list directories using `system_browse`, you verify file structures across remote nodes without needing SSH into each one.
- Maintain control over resource usage by pausing or resuming syncs on specific nodes. You can use `system_pause` if a device is experiencing high load, and resume it when the issue clears.
- Get deep operational stats instantly. Tools like `get_folder_stats` give you comprehensive reports on folder utilization and completion status faster than any manual check.

## How It Works

The bottom line is you get deep system control over complex file synchronization operations using plain language prompts.

1. Subscribe to this MCP and provide your Syncthing Web UI URL along with the necessary API key.
2. Authorize your AI client to interact with your private P2P sync network data.
3. Ask your agent a question, such as 'Check the status of the marketing folder' or 'Pause syncing on the main backup device', and it executes the required action.

## Frequently Asked Questions

**How do I check if my Syncthing setup needs a restart using the Syncthing MCP?**
You use the `get_restart_required` tool. It checks your current configuration against the running service parameters and tells you definitively if a full system restart is necessary before making changes.

**Can I list remote files using the Syncthing MCP?**
Yes, use `system_browse`. You provide the path, and the tool lists matching directories across your entire connected sync network, helping you audit file structures remotely.

**What is the difference between `get_folder` and `get_folders` in the Syncthing MCP?**
`get_devices` retrieves a list of all configured devices. In contrast, `get_folders` lists every synchronized folder path, while `get_folder` gets the deep configuration for just one specific path.

**How do I check if my backup is finished using Syncthing MCP?**
Use `get_db_completion`. This tool gives you a quantifiable status, reporting the percentage completion and ensuring the folder has fully synced across all connected nodes.

**If I change settings, should I use `set_config` or manually restart?**
Before changing anything, always run `get_restart_required`. If it indicates a change is needed, you then use the appropriate setter tool (like `set_config`) followed by `system_restart`.