Seafile
io.github.ipsupport-llcPublished by GitHub account ipsupport-llcv0.1.1Updated Oct 25, 2026
Seafile libraries, folders, files and share links for any MCP client. Browser sign-in, no deps.
Overview
A macOS-only MCP server that lets an assistant browse, search, read and organize files in a self-hosted Seafile server, with browser sign-in.
- What you can do
- Browse libraries, folders and file details, and search files and folders by name across one library or all of them, plus check sign-in status and sign in or out via the browser login page. Read the text of text files, paged for long ones, and inspect a file's version history. Download files into a single local folder, upload from it, and write text files. Create folders, rename, move and copy items, including between libraries, and delete to the library trash. List and restore deleted items and revert files to older versions. Create, list and remove share links with password, expiry and download or upload options.
- When to use it
- Useful when you keep documents on a self-hosted Seafile server and want an assistant on a Mac to find, read, tidy up or share them without switching to the web interface. It suits desktop chat apps, local-model apps and coding agents that start MCP servers over stdio.
- Requirements
- macOS 14 or later and an MCP client; runs locally via osascript with no Node or Python. The Seafile server must allow browser sign-in for clients. Settings: SEAFILE_URL (server address, can be given at first sign-in), SEAFILE_LOCAL_DIR (the only folder for uploads and downloads, default ~/Downloads), SEAFILE_READ_ONLY, SEAFILE_TIMEOUT. Sign-in token is stored in the macOS Keychain.
Installation
In SourceWeft
- Open Seafile in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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
curland Keychain. - Two permission prompts, not thirty. Everything is grouped into a
readtool and awritetool. - Works with small local models too. Arguments are forgiving (
repoforlibrary,folderforpath,"true", short action names likels,mv,rm), and every mistake comes back with a plain "how to fix".
What it can do
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:
./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
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
writeon 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
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
Source: README.md at commit 8ee180d
Tools
0Version history
1- v0.1.1LatestOct 17, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts