5S

5p00kyy/seafile-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 5 forks 质量 67 趋势 15MIT

MCP server for Seafile cloud storage - access your self-hosted files from AI assistants

概览

MCP (Model Context Protocol) server for Seafile cloud storage. Access your self-hosted files from AI assistants like Claude, OpenCode, and other MCP clients. - List, read, and write files in your Seafile libraries - Create and manage directories - Move, copy, and rename files - Search across libraries - Supports both account-based and library-specific authentication Create a .env file or set environment variables: - SEAFILE_SERVER_URL: Your Seafile server URL - SEAFILE_USERNAME: Your email - SEAFILE_PASSWORD: Your password - SEAFILE_REPO_TOKEN: API token from library settings - SEAFILE_REPO_ID: Library UUID - SEAFILE_MAX_READ_SIZE: Max file size to read (default: 1MB) - SEAFILE_MAX_WRITE_SIZE: Max upload size (default: 10MB) - SEAFILE_TIMEOUT: Request timeout in seconds (default: 30) - : Content returned directly (up to MAX_READ_SIZE) - : Returns metadata and download URL - : Returns download URL instead of content

README

以下为原文 README 节选,完整内容请查看原文。

Seafile MCP Server

MCP (Model Context Protocol) server for Seafile cloud storage. Access your self-hosted files from AI assistants like Claude, OpenCode, and other MCP clients.

Features

  • List, read, and write files in your Seafile libraries
  • Create and manage directories
  • Move, copy, and rename files
  • Search across libraries
  • Supports both account-based and library-specific authentication

Installation

Using pip

pip install seafile-mcp

From source

git clone https://github.com/5p00kyy/seafile-mcp.git
cd seafile-mcp
pip install -e .

Configuration

Create a .env file or set environment variables:

Required

  • SEAFILE_SERVER_URL: Your Seafile server URL

Authentication (choose one)

Option 1: Account Authentication (access all libraries)

  • SEAFILE_USERNAME: Your email
  • SEAFILE_PASSWORD: Your password

Option 2: Library Token (single library, more secure)

  • SEAFILE_REPO_TOKEN: API token from library settings
  • SEAFILE_REPO_ID: Library UUID

Optional

  • SEAFILE_MAX_READ_SIZE: Max file size to read (default: 1MB)
  • SEAFILE_MAX_WRITE_SIZE: Max upload size (default: 10MB)
  • SEAFILE_TIMEOUT: Request timeout in seconds (default: 30)

Usage with OpenCode

Add to your OpenCode MCP configuration:

{
  "mcpServers": {
    "seafile": {
      "command": "python",
      "args": ["-m", "seafile_mcp"],
      "env": {
        "SEAFILE_SERVER_URL": "https://your-seafile.com",
        "SEAFILE_USERNAME": "[email protected]",
        "SEAFILE_PASSWORD": "your-password"
      }
    }
  }
}

Or with library token:

{
  "mcpServers": {
    "seafile": {
      "command": "seafile-mcp",
      "env": {
        "SEAFILE_SERVER_URL": "https://your-seafile.com",
        "SEAFILE_REPO_TOKEN": "your-api-token",
        "SEAFILE_REPO_ID": "library-uuid"
      }
    }
  }
}

Available Tools

Tool Description
seafile_list_libraries List all accessible libraries
seafile_get_library_info Get library details
seafile_list_directory List directory contents
seafile_read_file Read file content
seafile_write_file Write text to a file
seafile_upload_file Upload binary file (base64)
seafile_create_directory Create a folder
seafile_delete Delete file or folder
seafile_move Move file or folder
seafile_copy Copy file or folder
seafile_rename Rename file or folder
seafile_get_file_info Get file metadata
seafile_get_download_link Get download URL
seafile_search Search files by name

File Handling

  • Text files: Content returned directly (up to MAX_READ_SIZE)
  • Binary files: Returns metadata and download URL
  • Large files: Returns download URL instead of content

Security Notes

  • Use library tokens for production (limits access to single library)
  • Never commit .env files with credentials
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "seafile": { "command": "python", "args": ["-m", "seafile_mcp"], "env": { "SEAFILE_SERVER_URL": "https://your-seafile.com", "SEAFILE_USERNAME": "[email protected]", "SEAFILE_PASSWORD": "your-password" } } } }