Synology Chat
Read channels and posts, find users, send messages and files on any Synology Chat server.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «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"
}
}
}
}
متغيرات البيئة
SYNOLOGY_CHAT_URLإلزامي Base URL of your Synology Chat server, e.g. https://nas.example.com:5001SYNOLOGY_CHAT_USERإلزامي Username of the Synology account (no 2FA)SYNOLOGY_CHAT_PASSإلزامي سري Password of the Synology accountSYNOLOGY_CHAT_VERIFY_SSLSet to false for self-signed certificates
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على 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
الأسئلة الشائعة
ما هو Synology Chat؟
Read channels and posts, find users, send messages and files on any Synology Chat server.
كيف أثبّت Synology Chat؟
يعمل على جهازك. في 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. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Synology Chat إلى مفتاح API؟
نعم. يتطلب SYNOLOGY_CHAT_URL, SYNOLOGY_CHAT_USER, SYNOLOGY_CHAT_PASS، وتضبطها في إعداداته.
هل Synology Chat مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Synology Chat؟
ينشره Louis-Lastella. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.