关于 FileSeal Secure Send
FileSeal Secure Send 是一款 MCP 服务,可将客户端加密的文件制成一次性下载链接,供通过 MCP 客户端分享文档的人使用。它支持链接或邮件交付,也可查询或撤销发送。
主要功能
- 01使用 AES-GCM-256 在客户端加密
- 02最多将 10 个文件放入同一链接
- 03选择链接或邮件交付
- 04查询状态、有效期和下载次数
- 05撤销发送
适用场景
- 01通过下载链接分享敏感文件
- 02将多个相关文件一并发送
- 03查看或撤销已有发送
MCP 相关
stdio MCP 服务提供创建安全发送、查看状态和撤销的工具,并调用 FileSeal Secure Send API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @fileseal/sendFILESEAL_API_KEY密钥FileSeal API key, created in Settings. Sent as a bearer token on every call.FILESEAL_API_BASE_URLFileSeal API origin. Defaults to https://fileseal.uk; change it only to point at another FileSeal instance.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| message | string | 否 | 向收件人显示的可选消息。两种模式下均不会加密:FileSeal 会以明文存储,任何拥有链接的人都能读取,因此切勿在此处填写密码或其他机密。 |
| filePath | string | 否 | 要发送的文件路径。优先使用绝对路径:相对路径将相对于此服务的工作目录解析,而非你的工作目录。 |
| filename | string | 否 | 文件名;如果省略,则根据 filePath 推断。 |
| mimeType | string | 否 | MIME 类型。使用 filePath 时根据扩展名推断;使用 fileBase64 时为必填项。 |
| fileBase64 | string | 否 | Base64 编码的文件字节(替代 filePath;需要 filename 和 mimeType)。 |
| senderName | string | 否 | 收件人看到的你的姓名或组织名称,会显示在邮件主题和下载页面上。由你自行声明,未经验证。在 email 模式下强烈建议填写:否则邮件会显示文件来自 "Someone",并建议收件人不要使用来自陌生发件人的链接。 |
| expiryHours | number | 否 | 发送内容在多少小时后过期(1-168,默认 48)。 |
| deliveryMode | enum | 否 | "link"(零知识,默认)或 "email"。link | email |
| recipientEmail | string | 否 | 收件人邮箱 — 当 deliveryMode 为 "email" 时必填。在 "link" 模式下会被忽略:不会发送邮件,也不会存储该地址,因此你必须自行分享链接。 |
详细介绍
fileseal-send(MCP 服务)
一个独立的 Model Context Protocol stdio
服务,用于封装 FileSeal Secure Send API(/v1/sends)。它会先在客户端使用
AES-GCM-256 加密文件,再将文件发送到 FileSeal,并向 MCP 客户端(例如 Claude)提供
三个工具。
此软件包可独立运行:它不会从 FileSeal Next
应用导入内容。其加密实现(crypto.mjs)与 FileSeal 服务端附件格式逐字节一致(12 字节 IV
后接 AES-GCM 密文,密钥以 base64url 编码并放在链接片段中),因此它生成的密文可在 FileSeal /receive/[id] 页面解密。该页面固定了此格式:更改 crypto.mjs 会导致链接无法打开。
工具
secure_send:加密一个或多个文件并创建一次发送。- 输入:
filePath,或filePaths(一个链接下最多 10 个文件), 或(fileBase64+filename+mimeType),recipientEmail?、deliveryMode(默认为'link'|'email')、expiryHours?(1-168,默认为 48)、message?、senderName?。 - link 模式(文件零知识):AES 密钥绝不会发送给 FileSeal;工具会返回完整的共享链接,密钥位于其
#k=片段中。 - email 模式:FileSeal 会向收件人发送可用链接,并在服务端存储密钥。需要提供
recipientEmail。也请传入senderName:否则邮件会显示文件来自“Someone”。 - **两种模式下均不加密:**文件名、
senderName和message。FileSeal 会以纯文本形式存储这些内容,任何拥有链接的人都能 读取,因此请勿在message中包含机密信息。 - **多个文件:**将文件作为
filePaths一起传入,即可在一个链接下发送。每个文件分别调用一次,则会生成各自独立的链接。 - **限制:**每次调用最多 10 个文件,总大小 3 MB。文件以 base64 形式直接放在 请求正文中,因此大小会受到限制;通过此工具无法达到 FileSeal 自身的单文件 10 MB 限制。支持类型:PDF、DOC、DOCX、TXT、 JPG、PNG。
- 输入:
send_status:{ id }→ 状态、过期时间、下载次数、审计事件。 只能查看使用同一个 API 密钥创建的发送记录。revoke_send:{ id }→ 链接立即失效,FileSeal 会尝试从其服务器删除加密文件。
环境变量
| 变量 | 必需 | 默认值 | 用途 |
|---|---|---|---|
FILESEAL_API_KEY | 是 | 无 | 每次调用时作为 Authorization: Bearer <key> 发送的 Bearer 令牌。如果未设置,服务会在启动时退出。 |
FILESEAL_API_BASE_URL | 否 | https://fileseal.uk | API 源地址。仅当要指向另一个 FileSeal 实例时才更改,例如开发 FileSeal 本身时使用 http://localhost:3000。路由为 <base>/v1/sends。0.1.3 之前的版本默认使用 http://localhost:3000,因此如果固定使用较旧版本,请显式设置此项。 |
运行
无需安装:npx 会获取并运行最新发布版本:
FILESEAL_API_KEY=fsk_... \
FILESEAL_API_BASE_URL=https://fileseal.uk \
npx -y @fileseal/send
此服务通过 stdio 使用 MCP,因此通常由 MCP 客户端启动,而不是手动运行。
从源码运行
# from this package's directory
npm install
FILESEAL_API_KEY=fsk_... \
FILESEAL_API_BASE_URL=https://fileseal.uk \
node index.mjs
接入 Claude(.mcp.json)
{
"mcpServers": {
"fileseal-send": {
"command": "npx",
"args": ["-y", "@fileseal/send"],
"env": {
"FILESEAL_API_KEY": "fsk_your_api_key_here",
"FILESEAL_API_BASE_URL": "https://fileseal.uk"
}
}
}
}
"fileseal-send" 键只是本地服务标签;npm 软件包为
@fileseal/send。若要改为运行本地检出版本,请将 command/args 指向
你的 index.mjs 副本。
作为 Claude Code 插件
claude-plugin/ 文件夹将此服务打包为 Claude
Code 插件,并附带一个指导 Claude 如何使用它的技能。启用插件时,它会请求你的
API 密钥,并将其保存在安全存储中,而不是设置文件里。要从此仓库安装:
/plugin marketplace add fileseal/mcp-send
/plugin install fileseal@fileseal
它仅适用于 Claude Code。插件的 README 解释了原因,并列出了它运行和发送的内容。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。