云存储协议服务器

Seafile MCP服务器是一个为Seafile云存储设计的协议服务器,允许通过AI助手和其他MCP客户端访问和管理自托管文件。

  • by 5p00kyy
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 5p00kyy/seafile-mcp

使用说明

Seafile MCP服务器

MCP(模型上下文协议)服务器 文件 云存储。从Claude、OpenCode和其他MCP客户端等AI助手访问您的自托管文件。

特性

  • 在Seafile库中列出、读取和写入文件
  • 创建和管理目录
  • 移动、复制和重命名文件
  • 跨库搜索
  • 支持基于帐户和特定于库的身份验证

安装

使用pip

pip install seafile-mcp

来源

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

配置

创建 .env 文件或设置环境变量:

必需

  • SEAFILE_SERVER_URL:您的Seafile服务器URL

身份验证(选择一个)

选项1:帐户身份验证 (访问所有库)

  • SEAFILE_USERNAME:您的电子邮件
  • SEAFILE_PASSWORD:您的密码

选项2:库令牌 (单一库,更安全)

  • SEAFILE_REPO_TOKEN:库设置中的API令牌
  • SEAFILE_REPO_ID:库UUID

可选的

  • SEAFILE_MAX_READ_SIZE:要读取的最大文件大小(默认值:1MB)
  • SEAFILE_MAX_WRITE_SIZE:最大上传大小(默认值:10MB)
  • SEAFILE_TIMEOUT:请求超时(秒)(默认值:30)

使用OpenCode

添加到您的OpenCode MCP配置中:

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

或者使用库令牌:

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

可用工具

工具 说明
seafile_list_libraries 列出所有可访问的库
seafile_get_library_info 获取库详细信息
seafile_list_directory 列出目录内容
seafile_read_file 读取文件内容
seafile_write_file 将文本写入文件
seafile_upload_file 上传二进制文件(base64)
seafile_create_directory 创建文件夹
seafile_delete 删除文件或文件夹
seafile_move 移动文件或文件夹
seafile_copy 复制文件或文件夹
seafile_rename 重命名文件或文件夹
seafile_get_file_info 获取文件元数据
seafile_get_download_link 获取下载URL
seafile_search 按名称搜索文件

文件处理

  • 文本文件:直接返回内容(最大可达MAX_READ_SIZE)
  • 二进制文件:返回元数据和下载URL
  • 大文件:返回下载URL而不是内容

安全说明

  • 将库令牌用于生产(限制对单个库的访问)
  • 永不承诺 .env 带有凭据的文件
  • API令牌可以从Seafile web界面撤销

许可证

麻省理工学院