文件管理服务器

一个用于管理Yandex Disk文件的MCP服务器,支持多种MCP客户端操作。

  • by Antiloop-git
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 Antiloop-git/yandex-disk-mcp

使用说明

Yandex磁盘MCP服务器

MCP服务器用于管理Yandex磁盘上的文件。适用于任何MCP客户端:Claude Desktop、Claude Code、Cursor等。

能力(18个工具)

工具描述 |---|---| | disk_info ≫磁盘信息(体积,使用过,回收站)→ | list_files –列出路径上的文件和文件夹。 | get_file_info –文件/文件夹元数据› | create_folder 创建文件夹 | delete –删除文件/文件夹(放入垃圾桶或永久)→ | copy 复制。 | move 搬家/改名 | get_download_link 获取下载链接。 | get_upload_link 获取下载文件的URL。 | upload_from_url 将文件加载到外部URL的磁盘上。 | publish 使文件/文件夹公开。 | unpublish 取消公共访问。 | list_public 列出所有公共资源。 | list_trash 篮子里的东西 | restore_from_trash 从篮子里找回。 | clear_trash 清理篮子。 | search_files –按类型搜索/过滤文件。 | last_uploaded 最近下载的文件 | operation_status 异步操作状态

安装

git clone <repo-url> yandex-disk-mcp
cd yandex-disk-mcp
npm install
npm run build

获取OAUTH令牌

  1. 转到https://oauth.yandex.ru
  2. 点击“创建应用程序”
  3. 输入名称(例如,“MCP Yandex Disk”)
  4. 在“平台”部分,选择“Web服务”,然后添加重定向URI: https://oauth.yandex.ru/verification_code
  5. 在“访问”部分,选择 YandexREST API磁盘 →标记所有必要的权利:
    • cloud_api:disk.app_folder -访问应用程序文件夹
    • cloud_api:disk.read -阅读
    • cloud_api:disk.write -记录
    • cloud_api:disk.info -磁盘信息
  6. 保存应用程序并复制 客户端ID
  7. 在浏览器中打开:
    https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ_CLIENT_ID
    
  8. 登录并复制收到的令牌

设置

克劳德桌面/克劳德代码

添加到MCP配置文件中(claude_desktop_config.json 或 settings.json):

{
  "mcpServers": {
    "yandex-disk": {
      "command": "node",
      "args": ["/path/to/yandex-disk-mcp/dist/index.js"],
      "env": {
        "YANDEX_DISK_TOKEN": "ваш_oauth_токен"
      }
    }
  }
}

Cursor/其他MCP客户端

同样-指定运行命令和环境变量 YANDEX_DISK_TOKEN.

通过NPX(在NPM中发布后)

{
  "mcpServers": {
    "yandex-disk": {
      "command": "npx",
      "args": ["yandex-disk-mcp"],
      "env": {
        "YANDEX_DISK_TOKEN": "ваш_oauth_токен"
      }
    }
  }
}

码头工人

图像构建

docker build -t yandex-disk-mcp .

发射

docker run -i --rm -e YANDEX_DISK_TOKEN=ваш_oauth_токен yandex-disk-mcp

或者通过Docker Compose(代币) .env 文件):

docker compose run --rm yandex-disk-mcp

使用Docker配置Claude Desktop

{
  "mcpServers": {
    "yandex-disk": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "YANDEX_DISK_TOKEN=ваш_oauth_токен", "yandex-disk-mcp"]
    }
  }
}

使用示例

连接到MCP客户端后,您可以请求:

  • “让我看看我的Yandex光盘上有什么”
  • 创建磁盘:/projects/new project文件夹
  • “将Disk:/Report.pdf文件复制到Disk:/Backup/Report.pdf”
  • “将disk:/photo.jpg文件公之于众并提供链接”
  • “篮子里是什么?”恢复最后删除的文件
  • 磁盘上还有多少空间?»

技术堆栈

  • TypeScript+Node.js
  • @模型上下文协议/sdk(stdio传输)
  • Yandex磁盘REST API v1

许可证

麻省理工学院