Seafile libraries, folders, files and share links for any MCP client. Browser sign-in, no deps.
Seafile is a self-hosted file sync and share server. This MCP server lets an assistant work with it the way a connector would:
curl and Keychain.read tool and a write tool.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".| Browse | Libraries (yours, shared, group), folders, file details. |
| Search | Files and folders by name, in one library or all. |
| Read | The text of text files (Markdown, CSV, code, logs…), paged for long ones. |
| Versions & trash | A file's history, bring back an old version, list and restore deleted items. |
| Files | Download into your local folder, upload from it, write a text file. |
| Organize | Create folders, rename, move and copy (also between libraries), delete to the library trash. |
| Share | Create share links (password, expiry, download/upload), list and remove them. |
You need macOS 14 or later and an MCP client.
Get the code (git clone, or unzip the .mcpb from the latest release) and add the server to your client's config:
{
"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.
Download seafile-mcp.mcpb from the latest release, double-click it and click Install. Settings live in Settings → Extensions.
| Variable | What it does |
|---|---|
SEAFILE_URL | Your server, e.g. https://cloud.example.com. If empty, tell the assistant at the first sign-in; it is remembered. |
SEAFILE_LOCAL_DIR | The only local folder files are downloaded to and uploaded from. Default ~/Downloads. |
SEAFILE_READ_ONLY=true | Removes the write tool entirely. |
SEAFILE_TIMEOUT | Seconds 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).
replace: true, and the old one stays in the file history. Downloads never overwrite local files.write on manual approval, or turn on read-only mode.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.
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
/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
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.
MIT © IPSupport LLC
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.
https://github.com/ipsupport-llc/seafile-mcp/releases/download/v0.1.1/seafile-mcp.mcpbotherSeafile works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.