Skip to main content
Glama

dsm-mcp

Synology DSM および Container Manager 用の Model Context Protocol サーバーです。MCP クライアント(Claude)が NAS を検査し、Synology Web API 経由でコンテナを直接管理できるようにします。ブラウザは不要で、リクエストごとの DSM ログインや 2FA も不要です。サーバーは専用サービスアカウントで一度ログインし、セッションを自ら維持します。これは実質的に、あなたが求めていた「期限切れにならないセッション」です。Claude が再認証することはありません。

arr-mcp の姉妹品です。同じ構成(Python、streamable-HTTP、ベアラ認証)で、ポートが異なり(8788)、Synology 専用のクライアントです。

ツール

領域

ツール

検出/ヘルス

dsm_healthdsm_api_discoverdsm_raw_call

システム

dsm_system_infodsm_storagedsm_utilization

コンテナ

dsm_docker_containersdsm_docker_containerdsm_docker_action*dsm_docker_logsdsm_docker_projects

* = 書き込みアクション(コンテナの開始/停止/再起動)。dsm_raw_call は任意の DSM メソッドを呼び出せます(書き込みも含む)。これは DSM の API のうちバージョンによって異なる部分のための逃げ道です。

DSM の API について(必読)

Synology の Web API はディスカバリ駆動型で、バージョン/モデルに依存します。各ツールは呼び出し時に SYNO.API.Info を介して正しい CGI パスとバージョンを解決するため、システム/ストレージ/利用状況ツールは堅牢です。Docker/Container Manager のメソッドは DSM のリリース間で一貫して文書化されていないことがあります。dsm_docker_logsdsm_docker_projects、またはアクションのパラメータがお使いの DSM と一致しない場合は、dsm_api_discoverSYNO.Docker または all をクエリ)を実行して NAS が公開している内容を正確に確認し、dsm_raw_call で操作してください。ライブで回避できないハードコードはありません。

Related MCP server: Synology MCP Server

サービスアカウント(最初にこれを行ってください)

これをメインの管理者に向けないでください。DSM で:

  1. コントロールパネル → ユーザーとグループ → 作成 でユーザー(例: claude-svc)を作成します。

  2. 必要なものだけを付与します: Container Manager アプリの権限、およびシステム/ストレージの読み取り。DSM のバージョンが管理者なしで Docker API を許可している場合は administrators グループから外してください。管理者が必要な場合は、ここでのみ使用する別の管理者グループアカウントを推奨します。

    • 注: 現時点では、コンテナマネージャのエンドポイントにアクセスするには、サービスアカウントが administrators グループのメンバーである必要があります。

  3. このアカウントで 2FA を無効 にします(デーモンは回転コードを入力できません)。ポリシーで 2FA が強制されている場合は、信頼できるデバイスを一度登録し、そのトークンを DSM_DEVICE_ID に設定します。

  4. オプションで LAN に制限します(コントロールパネル → セキュリティ → ファイアウォール / IP ルール)。MCP サーバーは LAN 上にあり、トンネルのみが公開されているためです。

セットアップ

cp config.example.env .env
# edit .env: DSM_URL, the service account + password, a strong MCP_AUTH_TOKEN.
# HTTPS with the self-signed cert? use :5001 and set DSM_VERIFY_SSL=false

docker compose up -d --build
docker logs -f dsm-mcp        # confirm it starts; auth runs on the first tool call

Docker なしで実行(開発用):

pip install -r requirements.txt
set -a; source .env; set +a
python server.py

Claude に公開する

エンドポイント: https://<your-hostname>/mcp。arr-mcp と同じです:

  1. トンネルを張ります(専用の cloudflared、または既存の Jellyfin トンネル上のホスト名 → http://dsm-mcp:8788)。理想的には Cloudflare Access の背後に置きます。

  2. Claude → 設定 → コネクタ → カスタムコネクタ → /mcp URL に、Authorization: Bearer <MCP_AUTH_TOKEN> を指定します。

セキュリティに関する注意

  • これはコンテナの再起動やシステム内部の読み取りが可能で、DSM ユーザーとして認証されます。アカウントは最小権限に保ち、2FA オフはその LAN アカウントのみに限定し、エンドポイントは常にベアラトークン(理想的には Cloudflare Access)の背後に置いてください。

  • 資格情報は .env(git/docker で無視)にのみ存在します。MCP クライアントがそれらを見ることはありません。ツールの結果のみを見ます。

  • アカウント削除、DSM 設定の変更、ボリューム/プールの破壊的なツールは公開されていません。dsm_raw_call は設計上強力です。エンドポイントの認証をそれに応じて扱ってください。

ファイル

  • server.py — MCP サーバー + ツール(streamable-HTTP + ベアラ認証)

  • dsm_client.py — Synology Web API クライアント(ディスカバリ、ログイン、セッション更新)

  • config.py — 環境変数からクライアントを構築

  • Dockerfile / docker-compose.yml — コンテナ + オプションのトンネル

  • config.example.env.env にコピー

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables managing Docker containers and Compose apps on a QNAP NAS via the Container Station API, including starting, stopping, restarting, and inspecting containers and applications.
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Synology NAS services including DSM, File Station, Calendar, Note Station, Contacts, Chat, Download Station, and Container Manager through a modular MCP interface with configurable safety modes.
    MIT

View all related MCP servers

Related MCP Connectors

  • Agent-first web hosting: deploy sites, apps, databases and domains over MCP.

  • MCP server for AI access to Swagger by SmartBear.

  • An authenticated remote MCP server for user-owned devices and one-shot capability invocation.

View all MCP Connectors

Latest Blog Posts

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/dogeared/dsm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server