A Model Context Protocol server that exposes Synology Drive, Spreadsheet, MailPlus, and Calendar as 37 typed tools for Claude, Cursor, and any MCP client. No third-party middleman. No data leaves your network.
Each module wraps the official Synology Office Suite REST API directly — no scraping, no shims, no third-party broker. Your agent calls a typed tool; the tool calls your NAS.
List, search, upload, label, share. The full file system, agent-native.
Read sheets, write cells, append rows. Batch updates with style retention.
| A | B | C | |
| 1 | Region | Q2 | Q3 |
| 2 | NA | 142k | 168k |
| 3 | EU | 88k | 104k |
| 4 | APAC | 52k | 71k |
Read inboxes. Send, move, mark. Triage by intent, not by hand.
Create events. Update times. Read across calendars. Plan tomorrow tonight.
Stateless tool calls over JSON-RPC 2.0. The MCP server holds the session — your client doesn't manage tokens, retries, or the Synology auth dance.
Claude Desktop, Claude Code, Cursor, GoClaw, or any MCP-compatible agent. Speaks JSON-RPC 2.0 over stdio or SSE.
Tools, resources, prompts. AuthManager + TokenCache. Path-guard, origin-guard, log redaction. Single ESM binary.
DSM 7.2.2+. Drive 3.5.2+. Office 3.6.0+. MailPlus 3.3.1+. Calendar 2.5.3+. HTTPS by default.
Each call independent. Session lives inside the server.
Writes require explicit confirm:true at tool boundary.
tsup → dist/. node dist/index.js. No runtime deps to install.
Every env var, every tool input. Fail-fast at startup.
Your NAS, your data, your network. No SaaS broker between your agent and your bytes.
Destructive operations refuse to run without an explicit confirm flag at the tool boundary.
Every Synology call goes through the official REST API. No reverse-engineered shims.
No telemetry. No outbound calls beyond your NAS. The server starts in the safest configuration; everything else is an explicit choice you make and we log.
Self-signed bypass is opt-in and logged loudly at startup.
POST with form body. Session id forwarded via Cookie header only.
Server refuses to start on non-loopback without MCP_AUTH_TOKEN set.
Every Drive path passes through path-guard at the tool boundary.
Passwords, tokens, sids never reach stdout. Configurable redactor.
Delete, move, batch_update — every write demands { confirm: true }.
Pick a client. Paste the snippet. Restart the agent. Your NAS is now a tool surface.
# 1. Install the binarynpm install -g synology-office-mcp# 2. Set NAS credentialsexport SYNO_HOST=192.168.1.100export SYNO_USERNAME=your_userexport SYNO_PASSWORD=your_pass# 3. Startsynology-mcp