Skip to main content
Glama
mrhegit

yifangyun-mcp-server

by mrhegit

yifangyun-mcp-server

亿方云 OpenAPI 的 MCP Server。当前版本 1.1.0-beta.3

默认能力:网盘浏览、检索、元数据读取、受控下载。可选启用 Workspace(业务范围约束)和 Inventory(完整目录清单与缺失审计)。

能力边界(必读)

要点

说明

yfy_download 做什么

下载、版本校验、哈希、临时落盘,并返回交付句柄

文件怎么拿到

stdio:返回本机绝对路径 local_pathHTTP:返回需认证的 fetch_url

本服务不做什么

不解析 PDF/DOCX/XLSX/PPTX,不做 OCR;正文解析由 Host 端工具完成

下载成功意味着什么

字节已就绪,表示模型已读过文件正文

搜索能否证明不存在

不能。Provider 搜索是索引候选,非穷尽;“不存在”只能依据完整 Inventory 的终态结论

Related MCP server: Yuque MCP Server

核心工具

工具

用途

yfy_status

查看身份、配置、下载交付方式、可用工作流

yfy_browse

浏览个人盘、协作空间、部门、文件夹或 Workspace

yfy_search

非穷尽候选搜索;需消歧,并用 yfy_get 确认当前是否存在

yfy_resolve

按精确相对路径解析;遇同名返回候选,不自动猜测

yfy_get / yfy_get_many

获取当前元数据

yfy_versions

列出当前版与可复制的历史 VersionRef

yfy_download

下载当前版或历史版;返回 path/URL、哈希、大小、TTL

yfy_download_batch

将 1-20 个同身份的当前文件/文件夹打包为一个结构已校验的 ZIP

yfy_download_release

可选:提前释放临时下载(幂等)

yfy_workspace_validate

校验已配置的命名 Workspace

yfy_membership_check

判断文件是否在 Workspace 内 / 外 / 证据不足

yfy_inventory_*

创建、查询、取消、释放目录清单(见下方「术语」)

按需 toolset:organizationcollaborationmutationadmintransfer写操作Provider transfer URL 默认均不注册。

术语速查(文档中常见难词)

说法

实际含义

Workspace

配置里划定的业务目录边界(根文件夹 + 访问身份);额外授予云盘权限

membership

文件是否仍落在该 Workspace 根目录子树内

staged 下载

HTTP 模式下,文件先落盘,再通过 /staged/v1/... 受认证 GET 取回

临时配额 / 预留(reservation)

下载前先占住临时空间额度,成功后按实际大小计入;不足则拒绝新下载

Inventory

对 Workspace(或子树)做递归只读扫描,结果落本地 SQLite

commit_watermark(水位)

已成功写入本地库的扫描进度标记;查询/分页绑定该值,避免读到未提交数据

frontier

尚未扫完的文件夹/分页任务队列

safe_to_claim_absence

清单已完整终态时,才允许在扫描范围内声明“某类文件不存在”

推荐下载流程

已知精确路径:

  1. yfy_resolve({ path, from })

  2. yfy_get({ ref })

  3. yfy_download({ file })

  4. Host 打开 download.local_path,或带认证 GET download.fetch_url

  5. (可选)yfy_download_release({ download_id })

限制在 Workspace 内下载:

  1. yfy_workspace_validate({ workspace })

  2. 在同一 Workspace 内 resolve / browse 得到目标文件

  3. yfy_download({ workspace, file, version?, expected? })

传入 workspace 后,服务会在下载前、后各做一次 membership 校验。结果为 outsideunavailable不会返回可用文件。

历史版本: 必须原样复制 yfy_versions 返回的 VersionRef。当前版请省略 version,不要自行构造“当前版”引用。

批量 ZIP: yfy_download_batch({ items, workspace?, expected? }) 接受 1-20 个同一非外协访问身份下的 FileRef/FolderRef。20 是本服务的请求放大保护上限,不是 Provider OpenAPI 上限。它只打包当前内容,不接受 VersionRef;服务校验 ZIP 中央目录、成员路径和本地文件头,并返回成员数、展开总大小及整个归档的哈希。该校验不证明 Provider 已包含每个文件夹的全部语义内容,调用方应避免同时传入文件夹及其子项。

stdio 与 HTTP

模式

默认交付

适用场景

stdio

download.local_path

MCP Host 与 Server 同机

http

download.fetch_url

远程 Host;通过受认证 staged GET 取文件

  • stdio 启动 HTTP staged 服务,因此必须 YFY_DOWNLOAD_EXPOSE_LOCAL_PATH=enabled

  • HTTP 可同时开启 path 与 staged URL;远程部署通常只开放 fetch_url

staged 路由:

GET /staged/v1/{download_id}/{optional_file_name}

/mcp 共用 Bearer、Host、Origin 防护。URL 过期、显式 release、完整性校验失败,或抓取次数用尽后均不可用。 每个 staged GET 还受 YFY_DOWNLOAD_WALL_TIMEOUT_MS 限制;慢客户端不能无限占用读租约或阻塞关闭。

最小配置

YFY_CLIENT_ID=your-client-id
YFY_CLIENT_SECRET=your-client-secret
YFY_ENTERPRISE_ID=115
YFY_DEFAULT_USER_ID=530
YFY_TOOLSETS=drive
YFY_TRANSPORT=stdio

招投标(Tender)工作流:

YFY_TOOLSETS=drive,workspace,inventory
YFY_WORKFLOW_PROFILES=tender
YFY_WORKSPACES_JSON=[{"id":"tender_public","root_folder_id":"501000000000","access_context":"default","tags":["tender"]}]

远程 HTTP 示例:

YFY_TRANSPORT=http
YFY_HTTP_HOST=0.0.0.0
YFY_HTTP_PORT=3000
YFY_HTTP_BEARER_TOKEN=replace-with-a-long-random-token
YFY_HTTP_ALLOWED_HOSTS=mcp.example.com
YFY_HTTP_ALLOWED_ORIGINS=https://agent.example.com
YFY_DOWNLOAD_EXPOSE_LOCAL_PATH=disabled
YFY_DOWNLOAD_STAGED_HTTP=enabled
YFY_DOWNLOAD_STAGED_MAX_CONCURRENT_READS=20
YFY_DOWNLOAD_STAGED_PUBLIC_BASE_URL=https://mcp.example.com

非回环监听,或 staged 对外 base URL 指向远程主机时:必须配置 Bearer、允许的 Host 与 Origin。 staged 响应从受保护本地文件句柄单遍流式输出;默认并发读 20,硬上限 40。生产建议由反向代理终止 TLS。

Provider 请求默认:同一访问身份并发 20,全局并发 40。预签名文件下载按身份单独限流,避免单身份占满全局容量。

Inventory 的 SQLite 在专用 Worker 线程中运行。Worker 异常退出后,新的 Inventory 请求会立即失败;服务关闭不会等待已失效的 RPC。

临时存储

下载中与已登记下载共用 YFY_MAX_TEMP_BYTES。服务不会为腾出空间而删除尚未过期的旧下载;空间不足返回 YFY_LOCAL_STORAGE_INSUFFICIENT

YFY_TEMP_DIR 下由服务独占管理:

目录

作用

artifacts/

Provider 流先写入的候选文件

downloads/{identity}/{download_id}/

校验通过后移入;含 manifest,支持崩溃恢复与 TTL 清理

启动时:先清理已过期或无效的 download,再对仍有效文件做配额校验。 release 仅在物理删除成功后才成功并扣减配额;删除失败会返回错误,不会假成功。

不要YFY_STATE_DB 或其他业务文件放进 artifacts/downloads/

运行与验证

npm ci
npm run build
npm test
npm run test:perf
npm pack --dry-run

启动(需 Node.js >=24):

# 本地构建产物 + 项目根 .env
node --env-file=.env dist/index.js

HTTP 模式(npx,跨平台)

检出本仓库(脚本不随全局 npm 包分发)。无需本地 npm install 业务依赖、无需 build,通过 npx 拉发布包启动:

# 1) 准备脚本同目录环境文件
cp scripts/http.env.example scripts/.env   # Windows: Copy-Item scripts\http.env.example scripts\.env
# 编辑 scripts/.env,填写 Client ID/Secret 等,并保持 YFY_TRANSPORT=http

# 2) 启动(默认读 scripts/.env)
node scripts/start-npx.mjs
# 或: npm run start:http:npx

# 指定其它 env 文件(优先级更高)
node scripts/start-npx.mjs --env-file ./http.prod.env

本机验证:curl http://127.0.0.1:3000/health(若 YFY_HTTP_HOST=0.0.0.0,仍用 127.0.0.1 探测)。完整说明见 部署指南 · HTTP 模式启动

文档索引

文档

内容

配置指南

环境变量、toolset、传输与下载交付

工具参考

各工具契约、参数与错误

架构与安全

模块边界、下载与 staged 完整性

部署指南

stdio/HTTP、npx 启动、反向代理、容器与监控

OpenAPI 覆盖

Provider 能力与工具映射

测试指南

单元 / 性能 / Live 测试

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
19Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrhegit/yifangyun-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server