跳到主要内容

MCP 工具使用

FolderSpan 提供 36 个 MCP 工具,用于访问文件、书签、收藏、最近访问、文件任务、设备、网络位置和同步任务。连接 Codex 或 Claude Code 后,不需要手动编写工具参数,直接用自然语言说明目标即可;AI 会选择当前令牌允许使用的 folderspan_ 工具,并把结构化结果整理成回答。

本页说明每类工具适合怎样提问,以及调用后能够返回什么信息。

提问时需要说明什么​

一个清楚的提问通常包含以下内容:

  1. 来源:文件位于当前设备、其他设备、分享来源还是网络位置。
  2. 位置:给出来源名称和绝对路径;知道稳定 ID 时也可以直接提供。
  3. 操作:明确要查看、读取、写入、重命名、复制、移动、删除、分享还是运行同步。
  4. 处理规则:复制或移动时说明同名项目使用 error、skip、overwrite 还是 rename。
  5. 确认要求:涉及写入、覆盖、移动、删除、分享或连接时,可以要求 AI 先展示计划,得到确认后再执行。
  6. 回答格式:如果需要核对原始信息,可以要求 AI 保留 ID、路径、状态、时间和错误码,不要只给摘要。

可以直接使用下面的模板:

请使用 FolderSpan MCP 工具完成以下任务:
- 来源:<Local、Device、Share 或 Network,以及来源名称>
- 路径:<绝对路径>
- 目标:<目标来源和绝对路径,没有则删除本行>
- 操作:<要完成的操作>
- 冲突策略:<error、skip、overwrite 或 rename,没有则删除本行>
- 执行要求:先读取元数据并复述来源、目标和影响范围;涉及修改时等我确认。
- 回答要求:返回实际使用的工具、项目 ID、完整路径、执行状态和失败原因。
提示

不知道设备、网络位置、同步任务或文件任务的 ID 时,直接提供名称并要求 AI “先列出候选项,不要猜测 ID”。AI 可以先查询列表,再使用返回的 ID 执行下一步。

文件位置怎么描述​

所有文件工具都通过 protocol、sourceId 和 path 定位项目。调用工具不会切换 FolderSpan 当前显示的目录。

来源提问中的说法sourceIdpath
Local“当前设备”或“本机”空字符串当前设备中的绝对路径
Device“设备‘办公室电脑’”已连接设备的稳定 ID目标设备使用的绝对路径
Share“分享来源 <名称或 ID>”当前可用分享来源的稳定 ID分享来源使用的绝对路径
Network“网络位置‘备份盘’”已连接网络位置的稳定 ID远程端点使用的绝对路径

例如:

列出当前设备 `/Documents` 的直接子项,返回每项的完整路径、类型、大小和更新时间,不要修改文件。
先列出已配置的网络位置,找到名称为“备份盘”的条目并告诉我它的 ID 和连接状态。先不要连接。

Device、Share 和 Network 来源必须当前可用;否则工具会返回 not_connected 或 not_found。路径必须是对应端点认可的绝对路径,不能包含 .、.. 等路径穿越片段。

如何理解 AI 的回答​

FolderSpan 会同时返回文本形式的 JSON 和结构化结果。AI 客户端通常不会原样显示全部 JSON,而是把字段整理成自然语言。需要核对细节时,可以继续说:

请不要省略工具返回字段,列出 ID、protocol、sourceId、path、状态、时间和 nextCursor。

常见返回规则如下:

  • 列表结果:返回 items 和 nextCursor。nextCursor 非空表示还有下一页,可以要求 AI “继续读取下一页直到结束”。
  • 分页参数:limit 默认为 50,范围为 1 至 200;cursor 是不透明游标,不应自行编辑。
  • 时间字段:createdAt、updatedAt、lastAccessed、expiresAt 等返回时间戳。可以要求 AI 同时转换为本地日期时间。
  • 修改结果:创建、编辑、写入或连接成功后,通常返回修改后的完整对象;删除类工具返回布尔值或删除数量。
  • 异步文件任务:复制、移动和删除只返回 taskId,需要继续查询任务才能得到进度和失败信息。
  • 错误结果:返回 code 和 message,AI 应说明失败原因,而不是把失败描述成成功。

浏览和读取文件​

如何提问​

列出本机 `/Documents` 的直接子项,按“目录、文档、其他文件”分组。每项显示完整路径、大小、更新时间和可执行权限;如果还有下一页就继续读取。
读取本机 `/Documents/report.txt`。先返回文件大小和更新时间,再分段读取全文并总结要点;不要修改文件。

工具和返回信息​

工具所需权限提问用途返回信息
folderspan_files_listfiles.read“列出某目录的直接子项”items、nextCursor;每项包含名称、路径、是否目录、MIME 类型、大小、创建/更新时间、来源、可用权限、隐藏/符号链接和敏感项信息
folderspan_file_infofiles.read“查看这个文件或目录的详细信息”单个项目的完整元数据,字段与目录列表中的项目相同
folderspan_file_readfiles.read“读取或总结这个文件”totalSize、offset、returnedLength、hasMore、encoding 和 data

目录项中的 permissions 会分别说明当前端点是否允许 read、write、rename、delete 和 share。endpoint 会返回实际使用的 protocol 和 sourceId。

folderspan_file_read 默认从 offset=0 开始读取 262144 字节,单次允许读取 1 至 4194304 字节;文本使用 utf8,二进制内容使用 base64。当 hasMore 为 true 时,应使用新的偏移量继续读取。

AI 通常会把结果整理成下面这种回答:

已读取 Local `/Documents/report.txt`:
- 文件总大小:<totalSize> 字节
- 本次范围:从 <offset> 开始,共 <returnedLength> 字节
- 是否还有内容:<hasMore>
- 内容摘要:<根据 data 生成的摘要>

写入、建目录和重命名​

如何提问​

先读取本机 `/Notes/todo.txt` 的大小和更新时间。确认文件没有变化后,在末尾追加一行“完成备份”,并返回实际写入字节数和新的文件信息。
在本机 `/Documents` 下创建目录 `/Documents/Archive`。如果目录已经存在,只返回现有目录的信息,不要删除或覆盖任何内容。

工具和返回信息​

工具所需权限提问用途返回信息
folderspan_file_writefiles.write“新建、覆盖或追加文件内容”entry、bytesWritten、mode;entry 是写入后的完整文件元数据
folderspan_directory_createfiles.write“创建一层目录”新目录的完整元数据;目录已存在时返回现有目录
folderspan_file_renamefiles.write“把文件或目录改名为……”重命名后的完整项目元数据

写入模式包括 overwrite 和 append,默认为 overwrite。单次解码后的写入内容不能超过 524288 字节。为避免覆盖刚被其他程序修改的文件,可以让 AI 先调用 folderspan_file_info,再把返回的 size 和 updatedAt 作为 expectedSize、expectedUpdatedAt 写入;前提不一致时返回 conflict,不会写入数据。

复制、移动、删除和文件任务​

如何提问​

把本机 `/Documents/report.pdf` 复制到网络位置“备份盘”的 `/Reports`,同名时使用 `rename`。先检查来源和目标并展示计划,我确认后再执行。创建任务后持续查询,直到结束,再汇总进度和失败项。
准备删除本机 `/Downloads/old.zip`。先返回文件完整路径、大小和更新时间,等我确认后再删除,并查询任务最终状态。

创建任务​

工具所需权限提问用途首次返回
folderspan_files_copyfiles.write“复制这些文件到目标目录”taskId
folderspan_files_movefiles.write“移动这些文件到目标目录”taskId
folderspan_files_deletefiles.write“删除这些文件或目录”taskId

复制和移动支持 error、skip、overwrite 和 rename 冲突策略。移动任务只会在对应目标项复制完成后删除源项;如果删除源项失败,重试时不会重复复制。

查询和控制任务​

工具所需权限适合怎样追问返回信息
folderspan_tasks_listtasks.read“列出最近的文件任务及进度”分页任务列表
folderspan_tasks_gettasks.read“查询任务 <taskId> 的当前状态”单个任务详情
folderspan_tasks_pausetasks.control“暂停任务 <taskId>”操作后的任务详情
folderspan_tasks_resumetasks.control“继续任务 <taskId>”操作后的任务详情
folderspan_tasks_canceltasks.control“取消任务 <taskId>”操作后的任务详情
folderspan_tasks_deletetasks.control“删除已经结束的任务记录 <taskId>”deleted

任务详情包含:

  • id、type、status:任务标识、类型和当前状态。
  • protocol、sourceId、values:任务来源和不含令牌、密码的任务参数。
  • progressCurrent、progressTotal:当前进度和总量。
  • failureCount、failurePath、failureMessage:失败数量及最近的失败路径和原因。
  • availableActions:当前允许执行的 pause、resume、cancel 或 delete 操作。

运行中或已暂停的任务不能直接删除。可以要求 AI 按 availableActions 判断下一步,不要盲目尝试不允许的操作。

书签​

如何提问​

列出本机书签,显示书签 ID、名称、类型、路径、排序值和来源是否可用。
在本机创建名为“工作文档”的书签,类型为 `document`,路径为 `/Documents/Work`。创建后返回书签 ID 和完整信息。

工具和返回信息​

工具所需权限操作返回信息
folderspan_bookmarks_listbookmarks.read查看指定 protocol 和 sourceId 下的书签items、nextCursor
folderspan_bookmarks_createbookmarks.write创建书签新建书签的完整信息
folderspan_bookmarks_updatebookmarks.write按书签 ID 修改名称、类型、路径、图标或排序修改后的完整书签信息
folderspan_bookmarks_deletebookmarks.write按书签 ID 删除deleted

每条书签包含 id、protocol、sourceId、name、type、path、icon、sort、createdAt、updatedAt 和 sourceAvailable。书签类型可使用 home、image、audio、video、document、download 或 custom。

收藏和最近访问​

如何提问​

列出全部收藏,优先显示已置顶项目;每项返回 ID、文件位置、类型、大小和更新时间。
把本机 `/Documents/manual.pdf` 加入收藏。先读取文件信息,成功后返回收藏 ID;如果已经收藏,只返回现有记录。

收藏工具​

工具所需权限操作返回信息
folderspan_favorites_listfavorites.read查看收藏items、nextCursor
folderspan_favorites_addfavorites.write、files.read按文件位置添加收藏新建或已有收藏的完整信息
folderspan_favorites_removefavorites.write、files.read按文件位置移除收藏removed
folderspan_favorites_pinfavorites.write按收藏 ID 置顶或取消置顶修改后的完整收藏信息

收藏记录包含 id、locator、name、isDirectory、mimeType、size、createdAt、updatedAt 和 pinned。其中 locator 包含来源端点和完整路径。

最近访问工具​

工具所需权限适合怎样提问返回信息
folderspan_recents_listrecents.read“列出最近访问记录”items、nextCursor;每项包含 ID、位置、名称、类型、大小、创建/更新时间和 lastAccessed
folderspan_recents_deleterecents.write“删除这些最近访问记录 ID”deletedCount
folderspan_recents_clearrecents.write“清空全部最近访问记录”deletedCount

最近访问工具只管理已有记录,不会创建虚假的访问记录。清空操作影响全部记录,应先让 AI 返回当前数量并等待确认。

HTTP 设备和 WebRTC 设备​

如何提问​

列出当前发现的 HTTP 设备,按“已连接、连接中、等待对方批准、已发现”分组,显示设备 ID、名称、地址、平台和状态。先不要连接。

查看和连接工具​

工具所需权限操作返回信息
folderspan_devices_listdevices.read查看当前在线的 HTTP 设备按连接状态分组的设备列表
folderspan_device_connectdevices.connect按设备 ID 连接 HTTP 设备连接后的设备详情
folderspan_webrtc_devices_listdevices.read查看当前发现的 WebRTC 设备按连接状态分组的设备列表
folderspan_webrtc_device_connectdevices.connect按设备 ID 连接 WebRTC 设备连接后的设备详情

设备工具只使用 FolderSpan 已经发现的在线设备,不会主动扫描网段。设备列表按 connected、connecting、approvalRequired 和 discovered 分组。每台设备包含 id、name、host、port、platform、transport 和 status。连接工具不会绕过证书检查或对方设备的审批。

网络位置​

如何提问​

列出已配置的网络位置,显示 ID、名称、协议、Host、稳定来源 ID、是否已连接和是否已保存。不要返回任何凭据。
在网络位置列表中找到名称为“备份盘”的唯一条目。先告诉我 ID 和当前状态;我确认后再测试并连接。
工具所需权限操作返回信息
folderspan_networks_listnetworks.read查看已配置网络位置items、nextCursor
folderspan_network_connectnetworks.connect按网络位置 ID 验证根目录并连接连接后的网络位置详情

每个网络位置包含 id、sourceId、name、protocol、host、connected 和 persisted。工具不会返回保存的用户名、密码、私钥或其他凭据。连接失败时返回 not_connected。

同步任务​

如何提问​

列出同步任务,找到名称为“文档备份”的任务,返回任务 ID、启用状态、来源、目标、最近状态、上次运行时间和下次运行时间。先不要执行。
运行同步任务“文档备份”。先通过列表确认只有一个同名任务并告诉我来源和目标,我确认后再运行;返回触发后的状态。
工具所需权限操作返回信息
folderspan_sync_listsync.read查看同步任务items、nextCursor
folderspan_sync_runsync.run立即运行一个空闲任务触发后的同步任务详情

同步任务详情包含 id、name、enabled、sourceType、sourceRef、sourcePath、targetType、targetRef、targetPath、lastStatus、lastRunAt 和 nextRunAt。folderspan_sync_run 触发后立即返回,不会等待整次同步完成;任务已经排队或运行时返回 conflict。

分享文件​

如何提问​

为本机 `/Public/manual.pdf` 创建限时局域网链接分享,不显示隐藏文件、不允许上传。返回全部访问地址、过期时间和 HTTPS 安全指纹。
先列出已连接的 HTTP 设备。找到名称为“平板”的唯一设备后,把本机 `/Public/manual.pdf` 分享给它,不包含隐藏文件,并返回操作 ID 和接收状态。
工具所需权限操作返回信息
folderspan_files_share_linkfiles.share、files.read创建限时局域网链接urls、expiresAt、allowHidden、allowUpload、fileCount、tlsFingerprintSha256
folderspan_files_share_devicefiles.share、files.read分享到已连接的 HTTP 设备operationId、deviceId、status、fileCount

链接分享启用上传时,令牌还需要 files.write,并且 FolderSpan 主机必须已经允许上传。符号链接或端点不允许分享的项目会被拒绝。设备分享只接受当前在线且已连接的 HTTP 设备。

错误返回和继续提问​

工具失败时会返回 code 和 message。常见错误码如下:

错误码含义建议追问
invalid_argument参数、路径、编码、读取范围或端口不合法“指出哪个参数不合法,并用列表结果中的真实值重试。”
not_found文件、记录、任务、工具或来源不存在“重新列出候选项,返回 ID 和路径,不要猜测。”
permission_denied令牌权限不足,或端点、路径、敏感项不允许该操作“说明缺少哪个权限;不要尝试绕过限制。”
conflict目标已存在、写入前提变化,或同步任务已在运行“重新读取当前状态并告诉我冲突项,不要覆盖。”
invalid_state当前任务状态不允许请求的控制操作“返回 availableActions,只建议允许的操作。”
not_connected设备、分享来源或网络位置未连接“先列出连接状态,找到正确来源后再询问是否连接。”
unsupported当前端点或平台不支持该能力“说明哪个端点不支持,并给出可用替代操作。”
io_error端点发生文件读写错误“保留失败路径和消息,停止后续修改。”
cancelled操作已取消“返回取消前的任务进度和剩余操作。”
internal_error服务内部操作失败“保留错误码和操作上下文,不要重复执行破坏性操作。”

安全使用建议​

  • 把访问令牌配置在 MCP 客户端中,不要把完整令牌写入聊天提示词。
  • 首次接入先使用 仅查看 权限;确认来源、路径和返回内容正确后,再增加修改或控制权限。
  • 删除、覆盖、移动、分享和设备连接前,让 AI 复述目标、影响范围和冲突策略并等待确认。
  • 要求 AI 使用列表工具取得真实 ID,不要根据名称猜测 sourceId、设备 ID、任务 ID 或网络位置 ID。
  • 如果 AI 看不到某个工具,检查令牌是否具备对应权限,再让客户端刷新工具列表。
  • 大文件应分段读取;当 hasMore 为 true 时使用返回的偏移量继续,不要一次请求超出限制。