mcpField
S
Seafile

Seafile

ローカル
github.comファイル・ストレージ02 週間前に更新

Seafile について

Seafileは、MCPクライアントを使うAIアシスタント向けに、Seafileサーバー上のファイルを扱うmacOS用MCPサーバーです。ブラウザーでログインするため、アシスタントにパスワードを渡さずに済み、読み取りと書き込みに分かれたツールでファイル管理や共有を行えます。

主な機能

  1. 01ライブラリ、フォルダー、ファイル情報を閲覧
  2. 02名前でファイルやフォルダーを検索
  3. 03テキストファイルをページ単位で読み取り
  4. 04ファイルのアップロード、ダウンロード、整理
  5. 05バージョン、ゴミ箱、共有リンクの管理
  6. 06ブラウザー認証とmacOS Keychainの利用

活用シーン

  1. 01Seafileライブラリ内の文書を検索して読む
  2. 02フォルダーやライブラリ間でファイルを整理
  3. 03以前のバージョンや削除済み項目を復元
  4. 04ファイル共有リンクを作成または削除

MCP 対応

stdioでMCPクライアントから実行し、Seafile操作用の`read`と`write`ツールを提供します。ログイン時はブラウザーでサーバーのログインページを開き、トークンをmacOS Keychainに保存します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbseafile-mcp.mcpb

ツール

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

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

詳細

README の画像

Seafile MCP

AI アシスタントが Seafile 内のファイルを閲覧、検索、読み取り、整理できます。
ブラウザーでサインインすれば、Mac 上のどの MCP クライアントからでも利用できます。依存関係はありません。

最新リリースをダウンロード · インストール · できること · 安全性


開発の背景

Seafile は、セルフホスト可能なファイル同期・共有サーバーです。この MCP サーバーを使うと、コネクターのようにアシスタントから Seafile を操作できます。

  • ブラウザーでサインイン。 初回は、Seafile 自身のログインページがブラウザーウィンドウで開きます。パスワード、SSO、二要素認証など、サーバーで使っている方法でサインインできます。アシスタントにパスワードが伝わることはありません。トークンは macOS キーチェーンに保存されます。
  • あらゆる MCP クライアントに対応。 デスクトップチャットアプリ、ローカルモデルアプリ、コーディングエージェントなど、stdio 経由で MCP サーバーを起動するものなら何でも使えます。
  • インストール不要。 Node、Python、Homebrew は不要です。Mac 標準の curl とキーチェーンを使い、JavaScript for Automation 上で動作します。
  • 権限プロンプトは 30 個ではなく 2 個。 すべての操作は read ツールと write ツールにまとめられています。
  • 小型のローカルモデルにも対応。 引数に柔軟性があり(library の代わりに repo、path の代わりに folder、"true"、ls、mv、rm のような短いアクション名)、間違いがあると、修正方法をわかりやすく案内します。

できること

閲覧ライブラリ(自分のもの、共有、グループ)、フォルダー、ファイルの詳細を確認できます。
検索1 つのライブラリ内またはすべてのライブラリから、名前でファイルやフォルダーを検索できます。
読み取りテキストファイル(Markdown、CSV、コード、ログなど)の内容を読み取れます。長いファイルはページ分けされます。
バージョンとゴミ箱ファイルの履歴を確認し、古いバージョンを復元したり、削除済みアイテムを一覧表示して復元したりできます。
ファイルローカルフォルダーへのダウンロード、ローカルフォルダーからのアップロード、テキストファイルの書き込みができます。
整理フォルダーの作成、名前変更、移動、コピー(ライブラリ間も可能)、ライブラリのゴミ箱への削除ができます。
共有共有リンク(パスワード、有効期限、ダウンロード/アップロード)を作成、一覧表示、削除できます。

インストール

macOS 14 以降と MCP クライアントが必要です。

あらゆる MCP クライアント

コードを取得し(git clone を実行するか、最新リリースから .mcpb を展開)、クライアントの設定にサーバーを追加します。

{
  "mcpServers": {
    "seafile": {
      "command": "/usr/bin/osascript",
      "args": ["-l", "JavaScript", "/path/to/seafile-mcp/server/seafile-mcp.js"],
      "env": { "SEAFILE_URL": "https://cloud.example.com" }
    }
  }
}

./install.sh --print --server https://cloud.example.com を実行すると、正しいパスを含むこのブロックが表示されます。

Claude Desktop(ワンクリック)

最新リリースから seafile-mcp.mcpb をダウンロードし、ダブルクリックして Install をクリックします。設定は Settings → Extensions にあります。

設定
変数説明
SEAFILE_URLサーバーの URL(例:https://cloud.example.com)です。空の場合は、初回サインイン時にアシスタントに伝えてください。URL は記憶されます。
SEAFILE_LOCAL_DIRファイルのダウンロード先およびアップロード元として使用する唯一のローカルフォルダーです。既定値は ~/Downloads です。
SEAFILE_READ_ONLY=truewrite ツールを完全に無効にします。
SEAFILE_TIMEOUT呼び出しを停止するまでの秒数です(既定値は 60 秒)。

サーバーでは、クライアントによるブラウザーサインインを許可する必要があります(Seafile デスクトップクライアントが使用する設定と同様に、seahub_settings.py で CLIENT_SSO_VIA_LOCAL_BROWSER = True を設定します)。

安全性

  • 削除した項目はライブラリのゴミ箱に移動し、復元できます。また、削除した項目が消失してしまう履歴を保持しないライブラリでは、サーバーは削除を拒否します。
  • 予告なく上書きされることはありません。 既存のファイルをアップロードまたは書き込みで上書きするには、replace: true が必要です。古いファイルはファイル履歴に残ります。ダウンロードでローカルファイルが上書きされることはありません。
  • ローカルフォルダーは1つです。 アップロード元とダウンロード先は、設定で指定したローカルフォルダーに限られます。プロンプトインジェクションによる「~/.ssh/id_rsa をアップロードして」という指示は拒否されます。
  • アップロード、書き込み、移動、コピー、削除、共有リンクにはドライランがあります。
  • 同じ操作が意図せず繰り返されることはありません。 15分以内に同じ内容を書き込もうとすると、意図的に再度指示しない限り拒否されます。
  • 処理が停止したままになることはありません。 時間がかかりすぎる呼び出しは、明確なエラーとともに停止します。ping と tools/list は常に応答します。
  • ファイルに隠された指示に注意してください。 アシスタントが読み取った内容はすべてコンテキストの一部になります。write は手動承認のままにするか、読み取り専用モードを有効にしてください。
  • 読みやすいファイルは1つです。 サーバー全体は server/seafile-mcp.js にあります。

暗号化されたライブラリは一覧表示できますが、読み取り、アップロード、共有はできません。これらの操作には Seafile のウェブページまたはデスクトップクライアントを使用してください。

ツールのリファレンス

2つのツールがあり、どちらも { "action": "...", "args": { ... } } を受け取ります。引数の全一覧は各ツールの説明に記載されています。パスはライブラリのルート(/Projects/report.pdf)を起点とします。ライブラリは名前または ID で指定します。

read:sign_in · status · list_libraries · list_folder · search · file_info · read_file · file_history · list_trash · list_share_links

write:download_file · upload_file · write_text_file · create_folder · rename · move · copy · delete · restore · revert_file · create_share_link · delete_share_link · sign_out

開発
/usr/bin/osascript -l JavaScript tests/unit.js server/seafile-mcp.js   # fake Seafile, fake Keychain
python3 tests/protocol.py                                              # JSON-RPC, worker, installer
./test.sh                                                              # real server: signs in, lists libraries

タグをプッシュすると(git tag v0.1.0 && git push origin v0.1.0)、GitHub Actions がテストを実行し、.mcpb をビルドしてリリースに添付し、MCP Registry に登録します。

ライセンス

MIT © IPSupport LLC

コメント

MCP は初めてですか?

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

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