mcpField
S
SynoLink MCP Server

SynoLink MCP Server

ローカル
github.com/Do-Booファイル・ストレージ2782 週間前に更新

SynoLink MCP Server について

SynoLink MCP サーバーは、Synology NAS のファイル操作を行う Node.js 製の MCP サーバーです。Claude などの AI アシスタントから、DSM 上のファイルやフォルダの一覧取得、転送、管理ができます。

主な機能

  1. 01Synology DSM へのログインとログアウト
  2. 02ファイルの一覧表示、アップロード、ダウンロード
  3. 03項目の作成、削除、移動、名前変更
  4. 04ファイルとフォルダのキーワード検索
  5. 05共有リンクとボリュームの容量情報

活用シーン

  1. 01AI アシスタントから NAS のフォルダを閲覧する
  2. 02指定したパスへファイルをアップロードする
  3. 03ストレージボリュームごとの容量使用状況を確認する

MCP 対応

本プロジェクトは MCP サーバーで、ログイン、ファイル管理、検索、共有リンク、サーバー情報取得のツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"MCP-SynoLink": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SynoLink MCP サーバー

Synology NAS のファイル操作のために Model Context Protocol (MCP) を実装した Node.js サーバーです。このサーバーにより、Claude やその他の互換性のある AI アシスタントを通じて Synology NAS デバイスとやり取りできます。

機能

  • Synology DSM へのログイン/ログアウト
  • ファイルとフォルダの一覧表示
  • ファイル内容のダウンロード
  • ファイルのアップロード
  • フォルダの作成
  • ファイル/フォルダの削除
  • ファイルとフォルダの移動/名前変更
  • 検索機能
  • 共有リンクの作成と一覧表示
  • サーバー情報の取得
  • クォータ情報の取得

前提条件

  • Node.js 18 以上
  • npm または yarn
  • DSM 6.0 以上の Synology NAS
  • Synology NAS へのネットワークアクセス

インストール

このリポジトリをクローンします:

git clone https://github.com/Do-Boo/MCP-SynoLink.git
cd MCP-SynoLink

依存関係をインストールします:

npm install

プロジェクトをビルドします:

npm run build

Claude Desktop での使用方法

Node.js 方式

claude_desktop_config.json に以下を追加します:

{
  "mcpServers": {
    "synolink": {
      "command": "node",
      "args": [
        "/path/to/MCP-SynoLink/dist/index.js",
        "https://your-synology-url:port",
        "your-username",
        "your-password"
      ]
    }
  }
}
Docker 方式

Docker イメージをビルドします:

docker build -t mcp/synolink .

次に、claude_desktop_config.json に以下を追加します:

{
  "mcpServers": {
    "synolink": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/synolink",
        "https://your-synology-url:port",
        "your-username",
        "your-password"
      ]
    }
  }
}
セキュリティに関する注意

認証情報の取り扱いには常に注意してください。現在の実装ではパスワードをコマンドライン引数として送信するため、プロセス一覧に表示される可能性があります。本番環境でのセキュリティを向上させるには、代替の認証方法の実装を検討してください。

API ドキュメント

サーバーは以下のツールを提供します:

認証ツール
  • login

    • Synology NAS で認証します
    • パラメータは不要です (コマンドラインの認証情報を使用します)
  • logout

    • Synology NAS からログアウトします
    • パラメータは不要です
ファイル管理ツール
  • list_folders

    • ディレクトリ内のファイルとフォルダを一覧表示します
    • 入力: path (文字列) - ファイルを一覧表示するパス (例: '/photos')
  • get_file

    • ファイルの内容を取得します
    • 入力: path (文字列) - Synology NAS 上のファイルへのフルパス
  • upload_file

    • Synology NAS にファイルをアップロードします
    • 入力:
      • path (文字列) - ファイル名を含む Synology NAS 上の宛先パス
      • content (文字列) - アップロードするファイルの内容
  • create_folder

    • 新しいフォルダを作成します
    • 入力:
      • path (文字列) - フォルダを作成するフルパス
      • name (文字列) - 新しいフォルダの名前
  • delete_item

    • ファイルまたはフォルダを削除します
    • 入力: path (文字列) - 削除するファイルまたはフォルダへのフルパス
  • move_item

    • ファイルまたはフォルダを移動または名前変更します
    • 入力:
      • source (文字列) - 移動元のファイルまたはフォルダへのフルパス
      • destination (文字列) - 移動先の場所へのフルパス
検索と情報ツール
  • search

    • ファイルとフォルダを検索します
    • 入力:
      • keyword (文字列) - 検索キーワード
      • path (文字列、任意) - 検索するパス (デフォルトは "/")
  • get_share_links

    • ファイルまたはフォルダの共有リンクを取得または作成します
    • 入力: path (文字列) - 共有リンクを取得するパス
  • get_server_info

    • Synology サーバーに関する情報を取得します
    • パラメータは不要です
  • get_quota_info

    • ボリュームのクォータ情報を取得します
    • 入力: volume (文字列、任意) - ボリューム名 (省略した場合はすべてのボリュームを表示します)

ライセンス

MIT License

謝辞

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。