# @arcadeai/mcp-remote 中文文档

规范地址：https://npmcn.com/package/%40arcadeai/mcp-remote/

版本：0\.1\.0
npm 元数据更新时间：2026-07-13T17:45:32.098Z
中文译文更新时间：2026-11-06T16:11:40.682Z
软件包许可：SEE LICENSE IN LICENSE

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40arcadeai/mcp-remote
原文对照：https://npmcn.com/package/%40arcadeai/mcp-remote/?lang=original
项目主页：https://github.com/ArcadeAI/mcp-remote#readme
源码仓库：https://github.com/ArcadeAI/mcp-remote

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：210 kB，79 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-07-13T17:45:31.674Z
- 最新版本发布：2026-07-13T17:45:31.909Z
- 近 30 天下载量：2766（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 1 个）

## 中文简介

用于Arcade MCP网关的本地stdio-to-remote Bridge,有管理的OAuth和本地文件可实现化.

## 安装

```sh
npm install @arcadeai/mcp-remote
```

也可以使用：`pnpm add @arcadeai/mcp-remote`、`yarn add @arcadeai/mcp-remote`、`bun add @arcadeai/mcp-remote`

## README

# @ arcadeai/ mcp- remote (法语)

当地人 **静态** 连接Arcade MCP网关.

Arcade为MCP网关服务于可流的HTTP. 一些MCP客户只说 斯特迪奥运输,更重要的是, 局部过程可以工作 云 网关不能:它可以从机器读取文件. 这桥是本地的, 向客户端提交一个 stdio MCP 服务器,并将每个请求转发到 远程网关通过HTTP.

这个解锁的头条能力是 **本地文件实际化**页:1 模型释放出一个简短的文件路径, 桥会读取字节并取而代之 在请求离开机器之前,由工具返回的文件将被写入 磁盘和交回作为路径。 大基数64blobs 从来没有进入模型的 上下文窗口.

## 状态

桥将 MCP 流量中继到网关, 通过基于浏览器认证 OAuth (动态客户端注册 + PKCE, 无声刷新), 重写 文件携带工具参数,所以模型通过一个本地路径(上载),以及 实现通过工具返回磁盘的文件,使模型获得路径而不是 a blob (负载)。 在 macOS 上, OAuth 令牌保存在 keychain; 文件 读取由证书目录和可选许可列表守护.

尚未完成: `arcade connect --local` 融入社会与公众npm 出版(该套件已经编写,但有意未出版).

## 使用量

把你的MCP客户点到桥上 第一次连接到你的网关 尚未授权, 桥将打开您的浏览器以登录, 缓存 迹象,然后是服务;以后的每一个开始都是沉默的。 (一组) `ARCADE_AUTO_LOGIN=0` 以禁用并需要明确 `login` (第一个。 )

提前授权,所以第一个产卵 从来没有等待你,运行一次 在终端中:

```bash
npx @arcadeai/mcp-remote login <gateway-slug-or-url>
```

无论怎样,你的MCP客户端在桥上:

```jsonc
// in your MCP client config (e.g. claude_desktop_config.json)
{
  "mcpServers": {
    "arcade": {
      "command": "npx",
      "args": ["-y", "@arcadeai/mcp-remote", "<gateway-slug-or-url>"]
    }
  }
}
```

单词要么是网关 **弹片** (扩大至 `https://api.arcade.dev/mcp/<slug>`)或完整的网关 **網址**。 。 。 .

要签到: `npx @arcadeai/mcp-remote logout [<gateway-slug-or-url>]` (目标 参数以清除所有缓存的证书.

### 无头主机

在没有浏览器的机器上添加 `--no-browser` (或设置) `ARCADE_NO_BROWSER=1`(中文(简体) ) 改为 `login`它打印授权 URL 而不是打开浏览器; 打开 任何可以回回调的机器上的 URL,例如 通过 SSH 转发回调端口 :

```bash
ssh -L 9908:localhost:9908 you@remote-host
```

不提供设备代码授权, 因为 Arcade 授权服务器 不支持它.

### 认证

默认情况下,该桥使用缓存的 OAuth 令牌 `login`,刷新访问 当它过期的时候,你应当默默地表示。 不需要 API 密钥, 所以项目成员 无法将 API 密钥连接起来 .

或者,通过环境通过无记名证书。 这个 **覆盖** 缓存登录并方便 CI 。 发动机接收到 `Authorization` 两种形状:

| 变量 | 含义 |
| --- | --- |
| `ARCADE_API_KEY` | API密钥. 发送为 `Authorization: Bearer <key>`。 。 。 . |
| `ARCADE_USER_ID` | 发自内心 `ARCADE_API_KEY` (同意为 `Arcade-User-Id` 头曰. |
| `ARCADE_TOKEN` | OAuth 访问符 。 发送为 `Authorization: Bearer <token>`。 。 。 . |

### 托肯存储

在 macOS 上, OAuth 令牌存储在登录密钥链中(通过 `security` 工具,所以没有本地模块可编译),和上盘文件 只有非秘密客户注册。 在其它平台上,或何时 `ARCADE_USE_KEYCHAIN=0`,符号写给 `credentials.json` (0600) 输入 替换为缓存目录 。 在 Keychain 仍在使用之前编写的文件 工作,并在下一个符号写入时迁移.

### 其他环境变量

| 变量 | 默认 | 含义 |
| --- | --- | --- |
| `ARCADE_ENGINE_URL` | `https://api.arcade.dev` | 发动机基础用来扩张一发子弹. |
| `ARCADE_OAUTH_CALLBACK_PORT` | `9908` | 循环端口 `login` 转向. |
| `ARCADE_LOGIN_TIMEOUT_SECONDS` | `600` | 多长时间 `login` 等唤回. |
| `ARCADE_MCP_REMOTE_DIR` | `~/.arcade/mcp-remote` | 在客户端注册(以及没有键链,代币)被存储的地方(0600). |
| `ARCADE_USE_KEYCHAIN` | (大型操作系统) | 设定 `0` 以在文件中保留指号,而不是 OS 键链. |
| `ARCADE_NO_BROWSER` | (未设定) | 设定 `1` 无头 `login` (与 `--no-browser`) (中文(简体) ). |
| `ARCADE_DOWNLOAD_DIR` | `~/Downloads/arcade` | 保存工具返回的文件( 另) `--download-dir`) (中文(简体) ). |
| `ARCADE_ALLOWED_DIRS` | (未设定) | 相隔的底盘上传可能从中读取;未设置是指除证书底盘以外的任何地方. |
| `ARCADE_MAX_FILE_BYTES` | `26214400` (25 MB) (中文(简体) ) | 最大内存上传/下载大小 . |
| `ARCADE_MAX_DOWNLOAD_BYTES` | `262144000` (250甲基溴) | Max 组装了被拆卸的负载大小 . |
| `ARCADE_DOWNLOAD_CHUNKED` | 打开 | 设定 `0` 以禁用被块化的下载组件. |
| `ARCADE_PUBLIC_UPLOAD_BASE` | (未设定) | 允许 URL- faching 工具接受本地文件路径的公用基址 . |
| `ARCADE_UPLOAD_PORT` | `9909` | 本地端口上传主机绑定( 在您的地道后) . |
| `MCP_REMOTE_LOG_LEVEL` | `info` | `debug` | `info` | `warn` | `error`。 。 。 . |

所有诊断都写给 **标准**; stdout 只携带 MCP 协议 交通,如斯地迪奥运输需要.

## 如何运作

```
MCP client  <--stdio-->  @arcadeai/mcp-remote  <--Streamable HTTP-->  Arcade gateway
```

该桥作为MCP客户端连接出入口,读取其 初始化期间的能力和身份,然后提出入境 镜像他们的Stdio服务器. 大多数请求和通知通过 未转换; `tools/list` 财务报告和审定财务报表 `tools/call` 是文件参数的接合符 重写(上载)并实现返回文件(下载).

对于认证,出局客户端携带OAuth无记名符号. 在401个SDK上 跟踪从网关到授权服务器的 RFC 9728 发现, 动态注册公共客户端(PKCE S256),并在 `login`驱动器 浏览器+回放授权码流。 在服务模式下,它只使用过 缓存的符号( 静默地重现); 它从不打开浏览器 .

## 文件上传

当一个工具将一个文件取为字节时,模型就不应该看到或产生碱基64. 打开 `tools/list` 代理检测文件载运参数,并在 `tools/call`, (中文(简体) ), 本地读取文件,并在转发前替换其内容。 模型 只发出一条短的本地路径.

检测偏好精度; 一个模糊的参数未被更改( 今天的) 行为,基数64通过模型:

-   **密码登记** 用于已知形状: Gmail `attachments[].source` (项目 已接受一个 `file://` URI,它变成一个 `data:` URI,与 `filename`编号 :`mime_type` 从文件中填入)和基数64工作手册/附件 参数(作为局部路径参数提交模型).
-   **防血压** 对于新工具:字符串参数仅在 它的名字看起来像字节字段( name`*_base64`, (中文(简体) ), `file_content*`, (中文(简体) ), `file_bytes`, (中文(简体) ), `attachment*`(中文(简体) ) **财务报告和审定财务报表** 其描述带有基质64/二进制信号. 这个 排除纯文本 `content` 参数.
-   **明确标记**: 一个参数 `contentEncoding: base64` 被视为 权威.

通过一条绝对路径或一条 `file://` URI (英语). 读取最多25 MB 的文件( 覆盖) 与 `ARCADE_MAX_FILE_BYTES`页:1.

### 正在上传到获取 URL 的工具

有些工具完全不接受字节: **公开 URL** 关于 网关获取服务器侧( 例如) `GoogleDrive_UploadFile`是因为 `source_url`, (中文(简体) ), `Resend_SendEmail` 附录, `Fireflies_UploadRecording`) (中文(简体) ). 远程网关 无法在您的机器上找到文件, 因此此选项是: set `ARCADE_PUBLIC_UPLOAD_BASE` 到到达此机器的 URL( SSH 隧道或 a 一个 `ngrok`编号 :`cloudflared` 隧道到 `ARCADE_UPLOAD_PORT`,默认为 99.09. 用这个 设置, 您可以通过这些工具的本地路径, 而桥头主控文件 在一个不可理解的符号下并替换公共 URL; 本地服务器 绑定 `127.0.0.1` 只是,所以除了通过你的地道之外,没有其他东西暴露出来. 没有设置, 传出本地路径返回一个明确的错误解释如何 启用托管.

## 文件下载

当一个工具返回一个文件时, 代理保存到下载目录 (单位:千美元)`~/Downloads/arcade/` 默认,或 `--download-dir` 编号 : `ARCADE_DOWNLOAD_DIR`(中文(简体) ) 并用本地路径取而代之,所以字节永远无法到达模型的 上下文。 它在工具结果中处理三个形状:

-   (单位:千美元) `resource_link` URL——下载(最有效,未经认证)并保存;
-   (单位:千美元) `data:<mime>;base64,...` 结果中的 URI 任意位置(文本块或 结构化领域;
-   字节外观字段名下的基准64值,扩展已解决 从兄弟文件名,然后是魔法字节,然后是 `.bin`· ;
-   a 一个 `http(s)` 媒体/文件字段下的 URL(`image_url`, (中文(简体) ), `file_url`, (中文(简体) ), `download_url`一个赤裸的 `image`编号 :`photo`,一个巢 `*_image_url`),该词 代理获取并保存 。 页面和配置 URL 被故意排除在外, 所以 代理服务器不获取工具返回的每个 URL.

一些工具返回一个大文件作为“用块抓我”的引用,而不是 内含字节( Google 驱动器) `DownloadFile` 3⁄4 ̄ ̧漯B `DownloadFileChunk`) (中文(简体) ). 代理识别出这个形状, 将每个块拉入 网关,将其流入磁盘上的一个文件,并返回相同的本地路径 结果是一个小文件的直接下载得到,所以模型只发出一个呼叫 从来没有看到块。 集成下载封顶 `ARCADE_MAX_DOWNLOAD_BYTES` (250 MB 默认值).

每个工具的小型登记册增加一个文件编制者,其产出是在 a 下到达的 字段丢失通用规则(例如 `Figma_ExportImage`, (中文(简体) ), `Firecrawl_ScrapeUrl`, (中文(简体) ), `GoogleSlides_GetSlideThumbnail`); 附带图像如 缩略图和上市缩略图被故意留下。 当文件 URL 是 在网关自己的主机上,它与携带者一起取出;其他主机都是 取出未经认证的,所以信使从不漏出. 供应商-私人附件 因此,URL(微软图形、Zendesk、相通、线性)不能是 由桥梁实现,因为它持有的是Arcade标志,而不是提供者的; 他们需要一个返回字节的网关边工具.

任何代理机构无法自信地识别的东西都未受影响. 设定 `ARCADE_DOWNLOAD_MATERIALIZE=0` 以禁用全部内容, `ARCADE_DOWNLOAD_LINKS=0` 停止获取 `resource_link` 和媒体 URL,或 `ARCADE_DOWNLOAD_CHUNKED=0` 以禁用被块化的下载组件.

## 文件访问政策

上传读取被限制. 内置块列表总是拒绝认证 目录( e)`~/.ssh`, (中文(简体) ), `~/.aws`, (中文(简体) ), `~/.gnupg`, (中文(简体) ), `~/.kube`, (中文(简体) ), `~/.docker`, (中文(简体) ), `~/.config/gcloud`,而代理机本身 `~/.arcade`),并解决了符号链接 在检查之前,链接不能走私读取它。 设定 `ARCADE_ALLOWED_DIRS` (结肠分离)附加限制是指具体的根源。 下载为 仅在下载目录内写入; 减少网关提供的文件名 到它的底名,所以它不能逃脱.

## 发展

```bash
npm install
npm run build     # tsc -> dist/
npm test          # unit + end-to-end passthrough against an in-process gateway
```

端到端测试站出真正的服务器在进程中:一个产出已建成的 童年时的桥梁 并声称初始化, `tools/list`, (中文(简体) ), `tools/call`,而错误传播 全部横跨桥面 模拟授权服务器及安全网关以进行 OAuth 完整登录 (DCR + PKCE +回放),无声服务,和无声信使刷新;第三盘 桥对接回声网关,确认基数64参数被重写 到路径和文件字节( raw base64和 `data:` URIs) 之前替换为 转发;和 第四个确认文件通过工具返回(`data:` 核电站, base64 字段,以及 `resource_link` URL)被保存到磁盘并交回为 路径。 单元测试覆盖 MIME 的打字, 证书店的密钥链拆分( 有 注入后端,所以真正的键链从未被触碰),流出 下载大小封顶,以及被块-下载装配(带有一个被注入的工具呼叫器, 因此不需要网关.

## 许可证

专有-Arcade软件许可协议 v1.0. 见 [自由主义](https://npmcn.com/package/%40arcadeai/mcp-remote/LICENSE)。 。 。 . 版权 (c) 2025 Arcade Technologies, Inc. 版权所有.

## 常见问题

### @arcadeai/mcp-remote 是什么？

用于Arcade MCP网关的本地stdio-to-remote Bridge,有管理的OAuth和本地文件可实现化\.

### 如何安装 @arcadeai/mcp-remote？

在项目目录运行 npm install @arcadeai/mcp-remote，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-remote，可以用 npx mcp-remote 直接运行。

### @arcadeai/mcp-remote 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/arcadeai\_\_mcp-remote 是否存在。

### @arcadeai/mcp-remote 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @arcadeai/mcp-remote 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @arcadeai/mcp-remote 可以商用吗？

@arcadeai/mcp-remote 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @arcadeai/mcp-remote 的下载量有多少？

根据 npm 官方下载统计，@arcadeai/mcp-remote 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,766 次，日均约 92 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @arcadeai/mcp-remote 还在维护吗？

最新版本 0\.1\.0 发布于 2026/07/14（3 个月前）；至今共发布 1 个版本，其中过去 12 个月发布了 1 个；首次发布于 2026/07/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

