Seafile

io.github.ipsupport-llc由 GitHub 账号 ipsupport-llc 发布v0.1.1更新于 Oct 25, 2026

Seafile libraries, folders, files and share links for any MCP client. Browser sign-in, no deps.

已验证STDIO仅桌面文件与存储知识与记忆

概览

AI 生成的概览

仅限 macOS 的 MCP 服务器,让助手通过浏览器登录浏览、搜索、读取和整理自建 Seafile 服务器中的文件。

可以做什么
浏览资料库、文件夹和文件详情,按名称在单个或全部资料库中搜索文件与文件夹,并查看登录状态、通过浏览器登录页登录或退出。读取文本文件内容(长文件分页),查看文件的历史版本。将文件下载到唯一的本地文件夹、从该文件夹上传,以及写入文本文件。创建文件夹、重命名、移动和复制(也可跨资料库),删除时移入资料库回收站。列出并恢复已删除项目,将文件还原到旧版本。创建、列出和删除带密码、有效期及下载或上传权限的分享链接。
适用场景
适合把文档存放在自建 Seafile 服务器、并希望在 Mac 上让助手查找、阅读、整理或分享这些文件而无需切换到网页界面的场景。适用于通过 stdio 启动 MCP 服务器的桌面聊天应用、本地模型应用和编码代理。
运行要求
macOS 14 或更高版本及一个 MCP 客户端;通过 osascript 本地运行,无需 Node 或 Python。Seafile 服务器须允许客户端使用浏览器登录。设置项:SEAFILE_URL(服务器地址,可在首次登录时提供)、SEAFILE_LOCAL_DIR(唯一的上传下载文件夹,默认 ~/Downloads)、SEAFILE_READ_ONLY、SEAFILE_TIMEOUT。登录令牌保存在 macOS 钥匙串中。
安装前请注意
write 工具可上传、覆盖(仅在 replace: true 时)、移动、复制、删除、恢复文件并创建分享链接;建议保持手动批准或设置 SEAFILE_READ_ONLY=true。助手读取的文件可能夹带隐藏指令,应将其内容视为不可信。分享链接可能把文件暴露给他人。加密资料库只能列出,无法读取、上传或分享。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Seafile,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[图片]

Seafile MCP

Let your AI assistant browse, search, read and organize the files in your Seafile —
with a browser sign-in, from any MCP client on a Mac. No dependencies.

Download the latest release · Install · What it can do · Safety


Why this exists

Seafile is a self-hosted file sync and share server. This MCP server lets an assistant work with it the way a connector would:

  • Browser sign-in. The first time, a browser window opens on your Seafile's own login page — password, SSO or two-factor, whatever your server uses. The assistant never sees your password; the token goes into the macOS Keychain.
  • Any MCP client. Desktop chat apps, local-model apps, coding agents — anything that starts an MCP server over stdio.
  • Nothing to install. No Node, no Python, no Homebrew: it runs on JavaScript for Automation with the Mac's own curl and Keychain.
  • Two permission prompts, not thirty. Everything is grouped into a read tool and a write tool.
  • Works with small local models too. Arguments are forgiving (repo for library, folder for path, "true", short action names like ls, mv, rm), and every mistake comes back with a plain "how to fix".

What it can do

BrowseLibraries (yours, shared, group), folders, file details.
SearchFiles and folders by name, in one library or all.
ReadThe text of text files (Markdown, CSV, code, logs…), paged for long ones.
Versions & trashA file's history, bring back an old version, list and restore deleted items.
FilesDownload into your local folder, upload from it, write a text file.
OrganizeCreate folders, rename, move and copy (also between libraries), delete to the library trash.
ShareCreate share links (password, expiry, download/upload), list and remove them.

Install

You need macOS 14 or later and an MCP client.

Any MCP client

Get the code (git clone, or unzip the .mcpb from the latest release) and add the server to your client's config:

json
{  "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 prints this block with the right path.

Claude Desktop (one click)

Download seafile-mcp.mcpb from the latest release, double-click it and click Install. Settings live in Settings → Extensions.

Settings

VariableWhat it does
SEAFILE_URLYour server, e.g. https://cloud.example.com. If empty, tell the assistant at the first sign-in; it is remembered.
SEAFILE_LOCAL_DIRThe only local folder files are downloaded to and uploaded from. Default ~/Downloads.
SEAFILE_READ_ONLY=trueRemoves the write tool entirely.
SEAFILE_TIMEOUTSeconds one call may take before it is stopped (default 60).

The server must allow browser sign-in for clients (CLIENT_SSO_VIA_LOCAL_BROWSER = True in seahub_settings.py, as the Seafile desktop client uses).

Safety

  • Deletes go to the library trash and can be restored — and the server refuses to delete in a library that keeps no history (where deleted items would be gone).
  • Nothing is overwritten by surprise. Uploading or writing over an existing file needs replace: true, and the old one stays in the file history. Downloads never overwrite local files.
  • One local folder. Uploads come only from, and downloads go only to, the local folder in the settings — a prompt-injected "upload ~/.ssh/id_rsa" is refused.
  • Dry runs for upload, write, move, copy, delete and share links.
  • No accidental repeats. The same write twice within 15 minutes is refused unless asked again on purpose.
  • Nothing hangs. A call that takes too long is stopped with a clear error; ping and tools/list always answer.
  • Watch out for instructions hidden in files. Anything the assistant reads becomes part of its context. Keep write on manual approval, or turn on read-only mode.
  • One readable file. The whole server is server/seafile-mcp.js.

Encrypted libraries can be listed, but not read, uploaded to or shared here — use the Seafile web page or desktop client for those.

Tool reference

Two tools, each taking { "action": "...", "args": { ... } }; the full argument list is in each tool's description. Paths start at the library root (/Projects/report.pdf); libraries are given by name or 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

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

Push a tag (git tag v0.1.0 && git push origin v0.1.0) and GitHub Actions runs the tests, builds the .mcpb, attaches it to a release and lists it in the MCP Registry.

License

MIT © IPSupport LLC

来源:README.md,提交 8ee180d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Oct 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分