Synology Chat
Read channels and posts, find users, send messages and files on any Synology Chat server.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
ghcr.io/louis-lastella/synology-chat-mcp:0.2.0claude mcp add synology-chat -e 'SYNOLOGY_CHAT_URL=<SYNOLOGY_CHAT_URL>' -e 'SYNOLOGY_CHAT_USER=<SYNOLOGY_CHAT_USER>' -e 'SYNOLOGY_CHAT_PASS=<your synology_chat_pass>' -e 'SYNOLOGY_CHAT_VERIFY_SSL=true' -- docker run -i --rm ghcr.io/louis-lastella/synology-chat-mcp:0.2.0
{
"mcpServers": {
"synology-chat": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/louis-lastella/synology-chat-mcp:0.2.0"
],
"env": {
"SYNOLOGY_CHAT_URL": "<SYNOLOGY_CHAT_URL>",
"SYNOLOGY_CHAT_USER": "<SYNOLOGY_CHAT_USER>",
"SYNOLOGY_CHAT_PASS": "<your synology_chat_pass>",
"SYNOLOGY_CHAT_VERIFY_SSL": "true"
}
}
}
}
Variables d'environnement
SYNOLOGY_CHAT_URLobligatoire Base URL of your Synology Chat server, e.g. https://nas.example.com:5001SYNOLOGY_CHAT_USERobligatoire Username of the Synology account (no 2FA)SYNOLOGY_CHAT_PASSobligatoire secret Password of the Synology accountSYNOLOGY_CHAT_VERIFY_SSLSet to false for self-signed certificates
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
synology-chat-mcp
MCP server for Synology Chat. Works with any self-hosted Synology Chat instance: list channels, read recent posts, find users, send messages and upload files from any MCP client (Claude Desktop, Claude Code, Hermes, ...).
It logs in as a normal DSM user through the Synology Web API, so it sees exactly what that user sees in Chat (channels and DMs), no bot or webhook setup needed.
Tools
| Tool | What it does |
|---|---|
list_channels() | Joined channels and DMs (id, name, type, members, unread) |
find_user(name_query) | Find users by partial username |
get_recent_posts(channel_id, limit=20) | Most recent messages/files in a channel or DM |
dm_channel_for_user(user_id) | 1:1 DM channel id for a user, or null if none exists yet |
send_message(channel_id, message) | Post a text message |
send_file(channel_id, file_path, message="") | Upload a local file, optionally followed by a message |
Configuration
All config comes from environment variables, set them in your MCP client config:
| Variable | Required | Example |
|---|---|---|
SYNOLOGY_CHAT_URL | yes | https://chat.example.com, https://nas.local:5001, http://192.168.1.10:5000 |
SYNOLOGY_CHAT_USER | yes | DSM username |
SYNOLOGY_CHAT_PASS | yes | DSM password |
SYNOLOGY_CHAT_VERIFY_SSL | no | false for self-signed certificates (default true) |
A URL without scheme means https, without port it uses 443 (https) or 80 (http).
Install
Needs uv. No clone required, uvx runs it straight from GitHub.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"synology-chat": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Louis-Lastella/synology-chat-mcp", "synology-chat-mcp"],
"env": {
"SYNOLOGY_CHAT_URL": "https://chat.example.com",
"SYNOLOGY_CHAT_USER": "your-username",
"SYNOLOGY_CHAT_PASS": "your-password"
}
}
}
}
Claude Code:
claude mcp add synology-chat \
-e SYNOLOGY_CHAT_URL=https://chat.example.com \
-e SYNOLOGY_CHAT_USER=your-username \
-e SYNOLOGY_CHAT_PASS=your-password \
-- uvx --from git+https://github.com/Louis-Lastella/synology-chat-mcp synology-chat-mcp
Hermes (~/.hermes/config.yaml):
mcp_servers:
synology-chat:
command: uvx
args: [--from, git+https://github.com/Louis-Lastella/synology-chat-mcp, synology-chat-mcp]
env:
SYNOLOGY_CHAT_URL: https://chat.example.com
SYNOLOGY_CHAT_USER: your-username
SYNOLOGY_CHAT_PASS: your-password
From a local clone instead: git clone, uv sync, then use uv with args --directory /path/to/synology-chat-mcp run synology-chat-mcp.
Docker (no uv needed), image ghcr.io/louis-lastella/synology-chat-mcp:
{
"mcpServers": {
"synology-chat": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "SYNOLOGY_CHAT_URL", "-e", "SYNOLOGY_CHAT_USER", "-e", "SYNOLOGY_CHAT_PASS",
"ghcr.io/louis-lastella/synology-chat-mcp"],
"env": {
"SYNOLOGY_CHAT_URL": "https://chat.example.com",
"SYNOLOGY_CHAT_USER": "your-username",
"SYNOLOGY_CHAT_PASS": "your-password"
}
}
}
}
Also listed in the official MCP Registry as io.github.Louis-Lastella/synology-chat-mcp.
Notes
- Accounts with 2-factor authentication are not supported (the Web API wants a fresh OTP per login). Use an account without 2FA.
- DMs show up with type
anonymous, that is Synology's name for 1:1 conversations. find_useronly matches theusername, not display names.- Downloading attachments is not a tool yet. The session is available via
synology_chat_mcp._client().session; callGET /webapi/entry.cgi?api=SYNO.Chat.Post.File&method=get&version=2&post_id=<id>&_sid=<sid>with the headerX-SYNO-TOKEN: <session.syno_token>.
Development
uv sync
uv run python tests/test_parse_url.py
License
MIT
Questions fréquentes
Qu'est-ce que Synology Chat ?
Read channels and posts, find users, send messages and files on any Synology Chat server.
Comment installer Synology Chat ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add synology-chat -e 'SYNOLOGY_CHAT_URL=<SYNOLOGY_CHAT_URL>' -e 'SYNOLOGY_CHAT_USER=<SYNOLOGY_CHAT_USER>' -e 'SYNOLOGY_CHAT_PASS=<your synology_chat_pass>' -e 'SYNOLOGY_CHAT_VERIFY_SSL=true' -- docker run -i --rm ghcr.io/louis-lastella/synology-chat-mcp:0.2.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Synology Chat ?
Oui. Il attend SYNOLOGY_CHAT_URL, SYNOLOGY_CHAT_USER, SYNOLOGY_CHAT_PASS, à renseigner dans sa configuration.
Synology Chat est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Synology Chat ?
Il est publié par Louis-Lastella. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.