简体中文 / English / 日本語 / 한국어 / 繁體中文
For any questions, please create a new issue, or join the Telegram chat group for help: https://t.me/obsidian_users
For mainland China, the Tencent cnb.cool mirror repository is recommended: https://cnb.cool/haierkeys/fast-note-sync-service
High-performance, low-latency note syncing, online management, and remote REST API service platform
Built with Golang + Websocket + React
Data provision requires the use of the client plugin: Obsidian Fast Note Sync Plugin
🧰 Native MCP (Model Context Protocol) Support:
FNS can act as an MCP server connecting to Cherry Studio, Cursor, and other compatible AI clients. This grants AI the ability to read and write your private notes and attachments, with all changes syncing to all clients in real time.🚀 REST API Support:
💻 Web Management Panel:
🔄 Multi-device Note Syncing:
🖼️ Attachment Syncing Support:
⚙️ Configuration Syncing:
.obsidian configuration files.PDF progress states.📝 Note History:
🗑️ Recycle Bin:
🚫 Offline Sync Strategy:
🔗 Share Feature:
📂 Directory Syncing:
🌳 Git Automation:
☁️ Multi-Storage Backup & One-way Mirror Syncing:
🗄️ Multi-Database Support:
If you find this plugin useful and want its development to continue, please support me via the following channels:
| Ko-fi Non-China Region | WeChat QR Donation China Region | |
|---|---|---|
![]() | OR | ![]() |
Protobuf transmission format support, enhancing synchronization efficiency.We are continually improving. Here are our future development plans:
If you have improvement suggestions or new ideas, please submit an issue to share them with us. We will sincerely evaluate and adopt appropriate suggestions.
We offer multiple installation methods. We recommend utilizing the One-click Script or Docker.
Automatically detects the system environment, completes the installation, and registers the service.
bash <(curl -fsSL https://raw.githubusercontent.com/haierkeys/fast-note-sync-service/master/scripts/quest_install.sh)
Users in China can utilize the Tencent cnb.cool mirror source:
bash <(curl -fsSL https://cnb.cool/haierkeys/fast-note-sync-service/-/git/raw/master/scripts/quest_install.sh) --cnb
Main Script Actions:
/opt/fast-note, creating a global quick command abstractly named fns in /usr/local/bin/fns.fns [install|uninstall|start|stop|status|update|menu]fns directly to enter an interactive menu enabling installation/upgrade, service control, auto-start configuration, and switching between GitHub / CNB mirrors.# 1. Pull the image
docker pull haierkeys/fast-note-sync-service:latest
# 2. Start the container
docker run -tid --name fast-note-sync-service \
-p 9000:9000 \
-v /data/fast-note-sync/storage/:/fast-note-sync/storage/ \
-v /data/fast-note-sync/config/:/fast-note-sync/config/ \
haierkeys/fast-note-sync-service:latest
Create a docker-compose.yaml file:
version: '3'
services:
fast-note-sync-service:
image: haierkeys/fast-note-sync-service:latest
container_name: fast-note-sync-service
restart: always
ports:
- "9000:9000" # RESTful API & WebSocket ports where /api/user/sync is the WebSocket interface address
volumes:
- ./storage:/fast-note-sync/storage # Data storage
- ./config:/fast-note-sync/config # Configuration files
Start the service:
docker compose up -d
Download the latest version corresponding to your system from Releases, unzip, and run:
./fast-note-sync-service run -c config/config.yaml
http://{Server IP}:9000 via your browser.user.register-is-enable: false in the settings configuration file)The default configuration file is config.yaml. The application will search for it automatically in the Root Directory or the config/ directory.
View a complete configuration example: config/config.yaml
View a complete configuration example: https-nginx-example.conf
FNS natively supports MCP (Model Context Protocol).
You can directly incorporate FNS as an MCP server with Cherry Studio, Cursor, and similar compatible AI clients. Once configured, AI attains the capacity to interpret and write within your own private notes and attachments. Furthermore, WebSocket synchronizes all MCP-directed alterations in real time across the entirety of your devices.
FNS furnishes an MCP interface primarily through the SSE protocol. General parameter requirements are as follows:
http://<Your Server IP or Domain>:<Port>/api/mcp/sseAuthorization: Bearer <Your API Token> (Obtained from “Copy API Configuration” in the WebGUI).X-Default-Vault-Name: <Vault Name> (Identifies the default vault for MCP operations; utilized if the vault parameter is unspecified during a tool call)X-Client: <Client Type> (Relates to the client type connecting the MCP, e.g., Cherry Studio / OpenClaw)X-Client-Version: <Client Version> (Pertains to the client's actual version interfacing with the MCP, e.g., 1.1)X-Client-Name: <Client Name> (Designates the client's name linking with the MCP, e.g., Mac)Kindly incorporate the below JSON inside your MCP client configuration parameters:
(Note: Please swap <ServerIP>, <Port>, <Token>, and <VaultName> with your proper contextual details)
{
"mcpServers": {
"fns": {
"url": "http://<ServerIP>:<Port>/api/mcp/sse",
"type": "sse",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <Token>",
"X-Default-Vault-Name": "<VaultName>",
"X-Client": "<Client>",
"X-Client-Version": "<ClientVersion>",
"X-Client-Name": "<ClientName>"
}
}
}
}