What the Synology Chat MCP server does
The Synology Chat MCP server gives an MCP client access to a self-hosted Synology Chat instance. It uses a DSM account rather than a dedicated bot identity, so the available conversations reflect that account's access. This includes joined channels and direct-message conversations.
The server can enumerate channels and direct messages, inspect recent messages and files, search for users by username, identify the one-to-one conversation associated with a user, post text, and upload a local file. Direct messages are returned with the type anonymous, which is Synology Chat's label for one-to-one conversations.
How it works
At startup, the process logs into the configured Synology Chat endpoint through the Synology Web API. MCP clients communicate with the process over the normal server command configuration, while the server uses the authenticated DSM session for Chat operations.
The available tools are:
list_channels() returns joined channels and direct messages, including identifiers, names, types, members, and unread state.
find_user(name_query) searches usernames using a partial match.
get_recent_posts(channel_id, limit=20) reads recent messages and files from a channel or direct message.
dm_channel_for_user(user_id) returns an existing one-to-one channel identifier, or null when no such conversation exists.
send_message(channel_id, message) publishes text to a conversation.
send_file(channel_id, file_path, message="") uploads a local file and can then post an optional message.
The Synology Chat MCP server does not require bot or webhook configuration. The account's normal Chat visibility and permissions determine what the tools can access.
Setup and configuration
The server requires uv when launched directly with uvx. A client can run it from GitHub without cloning the repository, using the package source git+https://github.com/Louis-Lastella/synology-chat-mcp. A local checkout can instead be prepared with uv sync and started with uv from the project directory. Docker is also supported through the image ghcr.io/louis-lastella/synology-chat-mcp.
Set these environment variables in the MCP client configuration:
SYNOLOGY_CHAT_URL: the Synology Chat address. URLs without a scheme default to HTTPS; the default port is 443 for HTTPS and 80 for HTTP.
SYNOLOGY_CHAT_USER: the DSM username.
SYNOLOGY_CHAT_PASS: the DSM password.
SYNOLOGY_CHAT_VERIFY_SSL: optional; set to false for a self-signed certificate. It defaults to true.
Example client configurations are provided for Claude Desktop, Claude Code, and Hermes. The project is also listed in the official MCP Registry.
Limitations and notes
DSM accounts with two-factor authentication are not supported because the Web API requires a fresh one-time password during login. Use an account without 2FA for this connection.
User lookup checks only usernames, not display names. File uploads are supported, but downloading attachments is not currently exposed as an MCP tool. The project notes that an authenticated session is available internally and documents a direct Web API request for retrieving a file when custom code needs that behavior.
The project is released under the MIT license.