Syncthing MCP Server

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.

Category
Visit Server

README

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)

Tool Description
list_instances List configured instances and check connectivity
get_status System status: version, uptime, memory usage
get_connections Device connections with bandwidth and addresses
get_completion Sync completion % for a folder/device pair
list_folders All configured folders with labels, paths, types
get_folder_status Detailed folder sync state, file counts, errors
list_devices All configured devices with names and addresses
get_device_stats Per-device stats: last seen, connection duration
get_folder_stats Per-folder stats: last scan, last synced file
get_errors Current system errors
get_logs Recent log entries (filterable by timestamp)
get_pending_devices Devices requesting to connect
get_pending_folders Folders offered by remote devices
browse_folder Browse files/directories within a synced folder
health_check Quick up/down health check (no auth required)

Actions (8 tools)

Tool Description
scan_folder Trigger folder rescan (full or subfolder)
pause_device Pause syncing with a specific device
resume_device Resume syncing with a specific device
pause_all Pause all syncing
resume_all Resume all syncing
override_folder Force local state as authoritative (send-only folders)
revert_folder Revert local changes to match remote (receive-only folders)
clear_errors Clear system error log

Configuration (12 tools)

Tool Description
add_folder Add a new shared folder
update_folder Modify folder settings
remove_folder Remove a shared folder (files on disk unchanged)
add_device Add a new device by ID
update_device Modify device settings
remove_device Remove a device
accept_device Accept a pending device connection
reject_device Reject a pending device connection
accept_folder Accept a pending folder share
reject_folder Reject a pending folder share
get_config Get full config or a specific section
restart Restart 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured