synology-office-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level: debug | info | warn | error | info |
| SYNO_HOST | Yes | NAS hostname or IP (e.g., 192.168.1.100 or nas.local) | |
| SYNO_PORT | No | DSM port (5000 HTTP, 5001 HTTPS) | 5001 |
| SYNO_HTTPS | No | Use HTTPS for MCP → DSM connection | true |
| MCP_SSE_HOST | No | Bind address for SSE | 127.0.0.1 |
| MCP_SSE_PORT | No | Port for SSE | 3100 |
| SYNO_SS_HOST | No | Host running the Spreadsheet API container (required if Spreadsheet module enabled) | |
| SYNO_SS_PORT | No | Spreadsheet API container port | 3000 |
| MCP_TRANSPORT | No | Transport mode: stdio or sse | stdio |
| SYNO_OTP_CODE | No | 2FA TOTP code (prefer app-specific passwords instead) | |
| SYNO_PASSWORD | Yes | DSM account password (use an app-specific password if 2FA is enabled) | |
| SYNO_SS_HTTPS | No | Use HTTPS for Spreadsheet API container connection | false |
| SYNO_USERNAME | Yes | DSM account username | |
| MCP_AUTH_TOKEN | No | Required when MCP_SSE_HOST is non-loopback | |
| SYNO_IGNORE_CERT | No | Accept self-signed cert (trusted home NAS only) | false |
| SYNO_SS_DSM_HOST | No | DSM host that the Spreadsheet container reaches (overrides SYNO_HOST for back-call) | |
| SYNO_SS_DSM_PORT | No | DSM port that the Spreadsheet container reaches (overrides SYNO_PORT for back-call) | |
| SYNO_SS_DSM_HTTPS | No | Use HTTPS for Spreadsheet container's back-call to DSM | false |
| SYNO_ENABLE_SPREADSHEET | No | Set to false to disable the Spreadsheet module | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| drive_list_filesA | List files and folders in a Synology Drive path. Supports pagination, sorting, and glob filtering. |
| drive_get_file_infoA | Get detailed metadata (size, owner, ACL, labels) for a specific Drive file or folder. |
| drive_search_filesA | Search for files across Synology Drive by name or keyword, with optional extension filter. |
| drive_upload_fileA | Upload a file to Synology Drive from a base64-encoded payload. Max recommended size: 50 MB. |
| drive_download_fileA | Download a file from Synology Drive and return it as base64-encoded content with metadata. |
| drive_create_folderA | Create a new folder in Synology Drive, optionally creating parent directories. |
| drive_move_fileA | Move or rename a file/folder in Synology Drive. Set confirm=true to execute; omit or set false for a dry-run check. |
| drive_delete_fileB | Delete a file or folder in Synology Drive (moves to trash by default). Set confirm=true to execute. |
| drive_list_labelsA | List all labels defined in Synology Drive (id, name, color). |
| drive_add_labelB | Add a label to a file or folder in Synology Drive. |
| drive_get_sharing_linkA | Generate or retrieve a sharing link for a Synology Drive file with configurable permission and optional expiry. |
| spreadsheet_listC | List all Synology Spreadsheet (.osheet) files in a Drive folder. |
| spreadsheet_get_infoA | Get metadata about a Synology Spreadsheet file: sheet names, row and column counts. Provide either file_id or name. |
| spreadsheet_read_sheetA | Read cell data from a Synology Spreadsheet sheet. Returns headers (first row), data rows, and totals. Provide either file_id or name. |
| spreadsheet_write_cellsA | Write values to a range of cells in a Synology Spreadsheet sheet. Provide either file_id or name. Set confirm=true to execute. |
| spreadsheet_append_rowsA | Append rows to the end of existing data in a Synology Spreadsheet sheet. Provide either file_id or name. Set confirm=true to execute. |
| spreadsheet_createA | Create a new empty Synology Spreadsheet (.osheet). Note: the Spreadsheet API has no notion of destination folder; use Drive tools to move the file afterwards if needed. |
| spreadsheet_add_sheetB | Add a new sheet tab to an existing Synology Spreadsheet file. Provide either file_id or name. |
| spreadsheet_exportA | Export a Synology Spreadsheet to xlsx or csv format. Returns the file content as base64. Provide either file_id or name. |
| spreadsheet_get_stylesB | Get cell styling information (fonts, colors, alignment, number formats) for a range in a Synology Spreadsheet. Provide either file_id or name. |
| spreadsheet_write_stylesA | Bulk overwrite cell styles (fonts, colors, alignment, number formats, borders) for a rectangular block in a Synology Spreadsheet. Uses offset-based PUT /styles endpoint — simpler than batch_update for style-only writes. Requires Synology Office >= 3.7.0. For mixed value+style edits use spreadsheet_batch_update. Provide either file_id or name. |
| spreadsheet_rename_sheetA | Rename a sheet tab in a Synology Spreadsheet. Provide either file_id or name. Set confirm=true to execute. |
| spreadsheet_delete_sheetA | Delete a sheet tab from a Synology Spreadsheet. This action cannot be undone. Provide either file_id or name. Set confirm=true to execute. |
| spreadsheet_delete_fileA | WARNING: Permanently delete an ENTIRE spreadsheet file (.osheet). Different from spreadsheet_delete_sheet which removes only one tab inside a file. Uses the dedicated Spreadsheet API endpoint (Synology Office >= 3.7.0) and also evicts the file from the local name cache. For non-spreadsheet files use drive_delete. Provide either file_id or name; set confirm=true to execute. |
| spreadsheet_batch_updateB | Insert or delete rows/columns in a Synology Spreadsheet. Provide either file_id or name. Set confirm=true to execute. |
| spreadsheet_registerA | Register a Synology Spreadsheet so it can be addressed by name in other tools. Provide the alphanumeric ID from the file URL /oo/r/{id}. |
| mailplus_list_foldersA | List all mail folders (IMAP-like folder tree) for the MailPlus account. |
| mailplus_list_messagesA | List email messages in a MailPlus folder with pagination, sort, and keyword search. |
| mailplus_get_messageA | Get the full content of a MailPlus email message, with optional attachment download. |
| mailplus_send_messageB | Send an email via Synology MailPlus. Requires confirm=true to execute. |
| mailplus_mark_messagesB | Mark MailPlus messages as read, unread, flagged, or unflagged. |
| mailplus_move_messagesB | Move MailPlus messages to another folder. Requires confirm=true to execute. |
| calendar_list_calendarsA | List all Synology Calendar calendars accessible to the authenticated user. |
| calendar_list_eventsA | List Synology Calendar events within a date range. ISO 8601 dates without a timezone offset are interpreted as NAS local time. |
| calendar_get_eventB | Get details of a specific Synology Calendar event. |
| calendar_create_eventB | Create a new Synology Calendar event. Requires confirm=true. ISO 8601 without timezone offset is interpreted as NAS local time. |
| calendar_update_eventA | Update an existing Synology Calendar event. Requires confirm=true. Only provided fields are changed. ISO 8601 without timezone offset is interpreted as NAS local time. |
| calendar_delete_eventB | Delete a Synology Calendar event permanently. Requires confirm=true. |
| calendar_create_calendarC | Create a new Synology Calendar. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize-spreadsheet | Summarize the content of a Synology Spreadsheet file, with optional focus area. |
| draft-email-from-spreadsheet | Draft an email using data from a specific row in a Synology Spreadsheet. |
| schedule-from-list | Create calendar events from rows in a Synology Spreadsheet list. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Drive files at /mydrive | File metadata at the /mydrive root path. Replace path segment as needed. |
| Drive folder listing at /mydrive | Lists files inside /mydrive. Replace path segment for other folders. |
| All calendars | Lists all calendars accessible to the authenticated user. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vocweb/synology-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server