stagenth · file-relay
REMOTE · STAGENTH.COM · SCANNED AUG 4
Cloud file relay: chunked uploads, folders, share links, inline text reads, ZIP packing.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 25 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3594 tokens (~143/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage94
- 96% of tools have a non-trivial description (not blank, and not just the tool's name).Partial
- 89% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · stagenth.com
claude mcp add --transport http com-stagenth-file-relay https://stagenth.com/mcp/file-relay/
[mcp_servers.com-stagenth-file-relay] url = "https://stagenth.com/mcp/file-relay/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-stagenth-file-relay": {
"type": "remote",
"url": "https://stagenth.com/mcp/file-relay/",
"enabled": true
}
}
} openclaw mcp add com-stagenth-file-relay --url https://stagenth.com/mcp/file-relay/ --transport streamable-http
mcp_servers:
com-stagenth-file-relay:
url: "https://stagenth.com/mcp/file-relay/" {
"mcpServers": {
"com-stagenth-file-relay": {
"type": "http",
"url": "https://stagenth.com/mcp/file-relay/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Probed https://stagenth.com/mcp/file-relay/
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=stagenth.com | CN=WoTrus RSA DV SSL CA 2,O=WoTrus CA Limited,C=CN | 29 Apr 2026 | 13 Nov 2026 | RSA 2048 | SHA256-RSA | 2236e5209bd5ee61d508cdd74f9369b4 |
| SANs: stagenth.com, www.stagenth.com | ||||||
| CN=WoTrus RSA DV SSL CA 2,O=WoTrus CA Limited,C=CN (CA) | CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB | 20 Aug 2025 | 19 Aug 2035 | RSA 3072 | SHA384-RSA | 8284f1ba29ad334d8a2d0cea65f84036 |
| CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB (CA) | CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US | 22 Mar 2021 | 18 Jan 2038 | RSA 4096 | SHA384-RSA | d27fbbc1de359e5216ad6149586099c4 |
| CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US (CA) | CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US | 1 Feb 2010 | 18 Jan 2038 | RSA 4096 | SHA384-RSA | 1fd6d30fca3ca51a81bbc640e35032d |
DNSSEC insecure
Validation of stagenth.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| stagenth.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://stagenth.com/mcp/file-relay/ | Verified | 200 | |
| http (plaintext) | http://stagenth.com/mcp/file-relay/ | HTTPS enforced | 301 | https://www.stagenth.com/mcp/file-relay/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
create_folder ~102
创建文件夹 (类似 ``mkdir -p``)。 幂等: 如果路径已经存在, 直接返回该文件夹元数据, 不抛错。
| Name | Type | Req | Description |
|---|---|---|---|
| folder_path | string | yes | 要创建的完整路径, 形如 '/工作/项目A/2026'。中间路径不存在时按 mkdir -p 语义递归创建; 末端已存在时直接返回原文件夹 (幂等). |
No output schema declared.
No examples provided.
create_share_link ~66
为文件生成一个分享链接。
| Name | Type | Req | Description |
|---|---|---|---|
| expires_in_seconds | — | — | 多少秒后过期;不传=永久 |
| file_id | integer | yes | 要分享的文件 ID |
| max_downloads | — | — | 最多下载次数 |
| password | — | — | 可选密码 |
No output schema declared.
No examples provided.
delete_file ~22
删除一个文件。
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | integer | yes | 文件 ID |
No output schema declared.
No examples provided.
delete_files ~79
批量删除文件(移入回收站,30 天内可在网页端恢复)。 逐个删除,单个失败不影响其余;返回每个 ID 的结果。
| Name | Type | Req | Description |
|---|---|---|---|
| file_ids | array | yes | 要删除的文件 ID 列表(list_files 可查),单次最多 100 个 |
No output schema declared.
No examples provided.
delete_folder ~142
删除文件夹 (类似 ``rmdir`` 或 ``rm -r``)。 内部 ready/locked 文件按"软删进回收站"处理, 30 天后才物删 OSS 字节; 用户可在该窗口期内通过回收站恢复。
| Name | Type | Req | Description |
|---|---|---|---|
| folder_path | string | yes | 要删除的文件夹完整路径 |
| recursive | boolean | — | False (默认): 文件夹必须为空 (无子文件夹 + 无文件), 否则报 folder_not_empty。True: 递归删除整棵子树, 内部所有文件软删进回收站 (类似 rm -rf). |
No output schema declared.
No examples provided.
delete_folders ~141
批量删除文件夹 (delete_folder 的批量版)。 逐个删除, 单个失败不影响其余; 返回每个路径的结果。 文件按软删进回收站处理, 30 天内可在网页端恢复。
| Name | Type | Req | Description |
|---|---|---|---|
| folder_paths | array | yes | 要删除的文件夹完整路径列表, 单次最多 50 个 |
| recursive | boolean | — | True (默认): 递归删除每棵子树, 内部文件软删进回收站 (类似 rm -rf)。False: 仅删除空文件夹, 非空的报 folder_not_empty. |
No output schema declared.
No examples provided.
download_file ~454
下载一个文件, 按 MCP spec 2025-06-18 的原生 content 类型返回。 根据文件 category 自动选择最合适的 MCP content block 类型: - image (jpg/png/webp/...) → content[0].type = "image" (base64 + mimeType; AI 客户端原生显示图片, 多模态 LLM 可直接看图) - audio (mp3/wav/...) → content[0].type = "audio" (base64 + mimeType; AI 客户端原生播放, 多模态模型可直接听) - text/code + as_text=true → content[0].type = "text" (UTF-8 字符串; 适合代码/文档阅读分析) - 其他所有 (video / document / archive / 大文本 / ...) → content[0].type = "resource_link" (15 分钟有效的 URL + mimeType + size; 签名自带, 无需 Authorization; AI 用 bash curl 拉字节, 或提示用户点链接在浏览器下载) 【限速】所有分支都遵守会员档位的 download_speed_bytes_per_sec 设定: - image / audio / text 分支走 astream_file(throttle=...) 读字节再 base64 - resource_link 分支: 链接指向 /api/v1/mcp-download/{token}, 目标路由 也用同一套 astream_file + throttle 算法 (详见 api/v1/mcp_download.py) 【零副作用】不再使用 share_service.create_share —— MCP 下载不会在你的 账号里留下任何公开分享记录, 不进分享面板, 不计分享审计。
| Name | Type | Req | Description |
|---|---|---|---|
| as_text | boolean | — | 【仅文本/代码文件】直接返 UTF-8 字符串文本内容。图片/音频等非文本文件不受此参数影响(它们按 MCP 原生 content type 返回)。 |
| file_id | — | — | — |
| file_uuid | — | — | — |
No output schema declared.
No examples provided.
download_shared_file ~128
通过分享链接下载文件(无需是文件拥有者)。 适合别人发给你一个 /s/<uuid> 链接,你想让 AI 直接读取其内容的场景。 不会占用你的存储配额。下载计入分享者的月流量。
| Name | Type | Req | Description |
|---|---|---|---|
| as_text | boolean | — | 对文本/代码文件直接返回字符串,不做 base64 |
| password | — | — | 分享密码,如有 |
| share_uuid | string | yes | 分享链接的 UUID(分享 URL 最后一段,如 /s/<uuid>) |
No output schema declared.
No examples provided.
file_read ~108
直接返回文本类文件的内容(txt/md/csv/json/日志/代码等),AI 免下载即读。 二进制文件(图片/压缩包/Office 等)请用 download_file;超长文本按 max_bytes 截断并标记。
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | integer | yes | 要读取的文本类文件 ID |
| max_bytes | integer | — | 最多返回字节数(默认 200KB,上限 500KB) |
No output schema declared.
No examples provided.
get_file_info ~45
查询单个文件详情。file_id 与 file_uuid 提供其一即可。
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | — | — | 文件 ID |
| file_uuid | — | — | 文件 UUID(二选一) |
No output schema declared.
No examples provided.
get_folder_tree ~186
以 ASCII 树状图返回用户的文件夹/文件层级 (推荐: 用户问“目录结构”时用这个). 返回: { "root_path": "/", "tree": "ASCII 字符串", "stats": {"folders": N, "files": M, "truncated": bool} }
| Name | Type | Req | Description |
|---|---|---|---|
| folder_path | string | — | 起始路径, 默认 '/' 即整个用户文件树。 |
| include_files | boolean | — | True 时把文件也画进树, False 只画目录。 |
| max_depth | integer | — | 最大渲染深度, 默认 10. 超出深度的节点显示为 '...'. |
| max_nodes | integer | — | 最大渲染节点数 (文件+文件夹合计). 超出后用 'N more...' 截断. |
No output schema declared.
No examples provided.
get_user_quota ~21
查看当前用户的存储配额使用情况。
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
import_shared_file ~127
把别人分享的文件导入到当前登录用户的文件列表。 等价于「下载后再上传」,但服务端直接从源文件拷贝字节流、仍走配额/白名单/秒传检查, 所以比本地往返更快、也不消耗带宽。 下载量计入分享者的月流量;存储占用计入当前用户的配额。
| Name | Type | Req | Description |
|---|---|---|---|
| password | — | — | 分享密码,如有 |
| share_uuid | string | yes | 分享链接的 UUID |
No output schema declared.
No examples provided.
list_files ~278
列出当前用户的文件 (默认递归遍历整个文件夹层级). 返回值同时附带 ``subfolders``(直接子文件夹列表) 与 ``has_subfolders`` 提示, 帮助 AI 感知层级结构。若用户问“目录结构 / 树”, 直接调 ``get_folder_tree`` 拿到 ASCII 树状图更直观。 每个 item 都有 ``folder_path`` 字段标注它的实际归属, 同名文件不会 因递归而混淆。
| Name | Type | Req | Description |
|---|---|---|---|
| category | — | — | 按分类过滤:audio/video/image/text/code/document/archive/other |
| folder_path | string | — | 目标文件夹路径, 形如 '/' 或 '/工作/项目A'。默认 '/' 列根目录。用 list_folders 探查可用路径。 |
| page | integer | — | — |
| recursive | boolean | — | True (默认) = 深度遍历, 返回该路径及所有后代文件夹下的全部文件; False = 仅列直接子文件 (类似 'ls'). 用户问“都有什么文件”时一律保持 True. |
| search | — | — | 按文件名或描述搜索 |
| size | integer | — | — |
No output schema declared.
No examples provided.
list_folders ~107
列出文件夹 (类似 ``ls -d`` 只看目录)。 路径不存在抛 folder_not_found。要列文件用 list_files。
| Name | Type | Req | Description |
|---|---|---|---|
| folder_path | string | — | 父文件夹路径, 默认 '/' 即根目录。返回直接子文件夹列表 (不含其文件). |
| recursive | boolean | — | True 时返回整棵子树 (深度遍历)。默认 False — 只列直接子文件夹. |
No output schema declared.
No examples provided.
move_file ~116
把文件挪到指定文件夹 (类似 ``mv file /target/dir/``)。 OSS 字节不动, 只改逻辑路径, 操作几毫秒完成。
| Name | Type | Req | Description |
|---|---|---|---|
| auto_create_folders | boolean | — | 目标路径不存在时是否 mkdir -p |
| file_id | integer | yes | 要移动的文件 ID |
| target_folder_path | string | yes | 目标文件夹路径, 形如 '/归档/2026'。'/' 即移到根目录. |
No output schema declared.
No examples provided.
move_folder ~133
移动整个文件夹 (类似 ``mv /工作/项目A /归档/``)。 会递归更新所有后代的逻辑路径。OSS 字节不动。
| Name | Type | Req | Description |
|---|---|---|---|
| auto_create_folders | boolean | — | 目标父路径不存在时是否 mkdir -p |
| folder_path | string | yes | 要移动的文件夹完整路径, 如 '/工作/项目A' |
| target_parent_path | string | yes | 新父文件夹路径。'/' 即移到根目录。若也想改名, 用 rename_folder 工具 (不在此工具中合并). |
No output schema declared.
No examples provided.
rename_folder ~55
改名 (不动 parent)。
| Name | Type | Req | Description |
|---|---|---|---|
| folder_path | string | yes | 要改名的文件夹完整路径 |
| new_name | string | yes | 新名字 (不含 / )。同 parent 下不能重名. |
No output schema declared.
No examples provided.
scrape_url ~121
抓取一个公开网页,返回干净的 Markdown(供 AI 阅读/总结/提取)。 只抓公开网页,禁止内网/保留地址;不生成任何内容,只做抓取与格式转换。
| Name | Type | Req | Description |
|---|---|---|---|
| formats | — | — | 输出格式子集:markdown / html / text,默认 markdown |
| only_main_content | boolean | — | 只提取正文主体,去掉导航/广告/页脚 |
| url | string | yes | 要抓取的网页 URL(http/https,仅限公开网页) |
No output schema declared.
No examples provided.
search_files ~39
在当前用户的所有文件中搜索。
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| query | string | yes | 搜索关键词(文件名或描述) |
No output schema declared.
No examples provided.
upload_chunk ~168
上传单个分片 (第 2 步 / 共 3 步)。 可并发调用, 后端内部会记录已上传索引。网络抖动重试同一 chunk_index 安全 (服务端幂等写临时块)。
| Name | Type | Req | Description |
|---|---|---|---|
| chunk_index | integer | yes | 分片索引 (0-based), 最后一片索引 = total_chunks-1 |
| data_base64 | string | yes | 本片字节的 base64 编码。每片大小应等于 upload_init 返回的 chunk_size, 最后一片可能短。单次调用建议 <12MB base64 (约 8-9MB 原字节)。 |
| session_uuid | string | yes | upload_init 返回的会话 UUID |
No output schema declared.
No examples provided.
upload_complete ~246
合并所有分片 (第 3 步 / 共 3 步)。 两种路径: - 直传 (推荐, shim 走这条): parts 带齐所有 (part_number, etag), 后端调 OSS CompleteMultipartUpload 服务端合并, 不耗 ECS 内存/带宽。 - 中转 (兼容老 shim / 网页端): 不传 parts, 从临时分片合并。 返回最终 file 元数据 (id, uuid, filename, size_bytes, sha256, ...).
| Name | Type | Req | Description |
|---|---|---|---|
| parts | — | — | 【OSS 直传模式】每片对应的 (part_number, etag)。如: [{"part_number": 1, "etag": "abc..."}, ...]。shim 在 PUT 每片到 OSS 后从响应头拿到 ETag, 传回来。传了 parts 走 OSS CompleteMultipartUpload 合并 (字节不经 ECS)。不传则走老路: 从 upload_chunk 落地的… |
| session_uuid | string | yes | upload_init 返回的会话 UUID |
No output schema declared.
No examples provided.
upload_file ~301
上传一个文件(base64 形式)到用户的文件中转站。 仅在用户明确要求把某个文件存入中转站 / 传输到其他设备 / 分享给他人时调用。 上传会占用用户的付费存储配额并按传输量扣 credit —— 不要主动上传 中间结果、日志、临时文件或用户没有要求保存的命令输出。 用 init + 单次分片 + complete 的方式复用现有服务。 适合中小文件(< 20MB)。超大文件请使用 Web 端分片上传。 新增 folder_path: 上传到指定文件夹, 默认根目录 "/"。
| Name | Type | Req | Description |
|---|---|---|---|
| auto_create_folders | boolean | — | 路径不存在时是否自动 mkdir -p, 默认 True (类似 Linux mkdir -p) |
| content_base64 | string | yes | 文件内容的 base64 编码。较大文件建议分多次调用前先咨询管理员。 |
| filename | string | yes | 文件名(含扩展名) |
| folder_path | string | — | 目标文件夹路径。'/' = 根目录 (默认); '/工作/2026' = 嵌套路径。auto_create_folders=True 时路径不存在会 mkdir -p; auto_create_folders=False 时不存在抛错。 |
| mime_type | string | — | — |
No output schema declared.
No examples provided.
upload_init ~218
发起分片上传会话 (第 1 步 / 共 3 步)。 返回: - instant=true 时, file 字段是已秒传的文件元数据, 直接用即可 - instant=false 时, 用 session_uuid + 服务端给的 chunk_size/total_chunks 逐片调 upload_chunk, 最后调 upload_complete。
| Name | Type | Req | Description |
|---|---|---|---|
| auto_create_folders | boolean | — | 路径不存在时是否自动 mkdir -p |
| filename | string | yes | 文件名(含扩展名) |
| folder_path | string | — | 目标文件夹路径, 默认 '/' 即根目录。auto_create_folders=True 时会按 mkdir -p 语义自动建。 |
| mime_type | string | — | — |
| sha256 | string | yes | 整个文件的 sha256 (64 位小写十六进制); 服务端用这个做秒传命中 |
| total_size_bytes | integer | yes | 整个文件的字节数 |
No output schema declared.
No examples provided.
zip_files ~104
把多个文件打包成一个 ZIP,存入文件中转站并返 15 分钟下载 URL。 单包上限 50 个文件 / 200MB 原始体积;同名文件自动加序号。
| Name | Type | Req | Description |
|---|---|---|---|
| file_ids | array | yes | 要打包的文件 ID 列表(1-50 个) |
| zip_name | string | — | 压缩包文件名(可选,自动补 .zip) |
No output schema declared.
No examples provided.