# @fifth-door/mcp 中文文档

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

版本：0\.9\.0
npm 元数据更新时间：2026-10-26T14:30:59.061Z
中文译文更新时间：2026-11-14T18:09:58.105Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fifth-door/mcp
原文对照：https://npmcn.com/package/%40fifth-door/mcp/?lang=original
项目主页：https://fifthdoor.com/docs/mcp
源码仓库：https://github.com/fifthdoor/conduit

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

- 包体积（解压后）：816 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：4 个
- 首次发布：2026-08-11T20:15:04.103Z
- 最新版本发布：2026-10-26T14:30:58.812Z
- 近 30 天下载量：2303（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

第五道门 MCP 服务器 — 从任何 MCP 客户端签名并发布到第五道门的游戏

## 安装

```sh
npm install @fifth-door/mcp
```

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

## README

# @ 第五个门/mcp

公共第五道MCP服务器:签入第五道并发布从Cursor,Claude Code,Codex或任何MCP客户端的游戏. 本地运行于 stdio 之上, 这样它就可以读取正在发布的游戏目录; 仅用每个用户的会话符号在 REST 上与 Fifth Door 交谈 .

## 安装

已出版软件包`@latest` 将用户保留在最新版本上——否则npx缓存上. `@latest` 解决客户端启动服务器时的问题,所以运行中的客户端保留它开始的版本;发布后,重新启动MCP服务器(或编辑器)来取取新的版本.

**光标** ——一击:见 [第五道门.com/docs/mcp](https://fifthdoor.com/docs/mcp),或添加到 `.cursor/mcp.json`数字 :

```json
{
  "mcpServers": {
    "fifth-door": {
      "command": "npx",
      "args": ["-y", "@fifth-door/mcp@latest"]
    }
  }
}
```

**克劳德代码 :**

```bash
claude mcp add fifth-door -- npx -y @fifth-door/mcp@latest
```

**代码 :**

```bash
codex mcp add fifth-door -- npx -y @fifth-door/mcp@latest
```

从此单曲( 已注册于 `.mcp.json`,指向当地的dev堆栈:

```bash
bun packages/mcp/src/index.ts
```

## 工具

以下表格:, `tools.json`,则 `## Tools` 节 `docs/publish-from-your-editor.md` 作者为 `bun run generate-tools` 从已登记工具中`src/tooling/catalog.ts`(三); `catalog.test.ts` 当他们沉闷的时候失败了。 编辑描述 `src/tools/`不在这里.

### 账户

| 工具 | 它会做什么 |
| --- | --- |
| `login` | 签入第五道. |
| `whoami` | 显示此 MCP 的第五门账户被签名为 . |
| `logout` | 通过删除已缓存的会话令牌, 在此机器上签名 . |

### 发布

| 工具 | 它会做什么 |
| --- | --- |
| `publish_game` | 将静态网络游戏目录发布至第五道并获得其游戏URL. |

### 游戏艺术和音频

| 工具 | 它会做什么 |
| --- | --- |
| `create_style_reference` | 生成样式参考:用您描述的艺术风格绘制的样本截图. |
| `create_image` | 生成一个静态图像:道具,接取,障碍,或图标(透明:真),全屏背景(方向为"tall"),或无缝重复的纹理(平面:真),如地上,墙上,或平面天. |
| `create_image_set` | 生成一组共享一个框架或布局的相关静态图像:一副牌,棋盘牌,相匹配的HUD徽章,可被收集的变体. |
| `create_character` | 建立字符的外观:绘制出一个回转模型平面图(每个需要方向的字符相同),并在 /.png 上写出每个正面的站立参考,每个正面有一帧.json 携带其休息箱. |
| `animate_sprite` | 将已存在的图像动画成一幅图案平面:行走周期,攻击,旋转硬币. |
| `edit_image` | 将生成的艺术的外观从平话指令('make the cape red')中更改,编辑文件到位. |
| `create_music` | 生成循环工具背景音乐 MP3. |
| `create_sound_effects` | 以 MP3 生成声音效果并循环环境床,写入 /.mp3. |
| `create_speech` | 以 MP3 生成口语行,每行以 /.mp3 生成一个文件,每行以 /.mp3 生成一个声音: 叙事,吠叫,宣布游戏自行玩法. |
| `create_dialogue` | 以 /.mp3 的 ONE MP3 生成两个或多个字符的对话 . |
| `create_video` | 生成视频剪辑,如剪辑场景,内入场,或收尾,将mp4写入游戏. |
| `get_asset_job` | 完成一个超过其工具调用的资产任务: 使用一个任务ID, 任务完成后将文件写入 gameDir, 或者报告它仍在运行 . |

### 您的游戏

| 工具 | 它会做什么 |
| --- | --- |
| `list_my_games` | 列出被签入的"第五道口"账号发布的游戏: swit,标题,能见度,并播放 URL. |
| `set_game_visibility` | 设定已发布游戏的能见度:"公"在"第五道发现"的feed上列出,"未上市"仅能通过链接播放. |

### 游戏游戏预览

| 工具 | 它会做什么 |
| --- | --- |
| `generate_game_preview` | 在不提供视频的情况下为已发布的游戏录制游戏的游戏预览:一名代理读取了游戏的源头并写出一个播放它的控制器,一名工人记录了运行,最活的6秒成为了游戏卡片上的剪辑"发现"循环. |
| `get_game_preview_status` | 检查由生成 game preview(或在游戏公开时自动排队)开始的游戏播放预览记录:它是否排队,运行,完成,或失败,剪辑的URL一旦准备就绪. |
| `set_game_preview` | 在已发布的游戏中附加一个游戏播放片段, 替换今天的卡片循环 . |
| `clear_game_preview` | 删除已发布的游戏游戏预览 . |

### 游戏干扰

| 工具 | 它会做什么 |
| --- | --- |
| `list_jams` | 显示本周的"第五道门"周刊:其主题,截止时间和条目数. |
| `enter_jam` | 将签约账户公布的一款游戏输入本周的果酱. |
| `withdraw_from_jam` | 从游戏干扰中撤回一个注册账户的游戏. |

### 平台 SDK 文件

| 工具 | 它会做什么 |
| --- | --- |
| `list_sdk_services` | 列出"第五道"平台可以为一款游戏做什么,作为一款SDK库版的docs索引:保存进度和共享记录(收集),游戏时间LLM和图像生成,多人(实时,存在,索赔),每个房间一次运行规则的游戏服务器(实时动作,隐藏信息),每日游戏,相机和麦克风输入,共享和邀请,背景音频,离开后通知玩家(回合来回,结果落地,定时器跑出),向玩家出售物品(游戏中购买密钥),外接工作室项目设置指南. |
| `get_sdk_docs` | 从一个精确的库版中逐个主题读取一个第五道门 SDK doc: `platform-sdk` 用于核心参考,用于同一版本的list sdk services所列出的能力id,或用于指南id(设置). |
|  |  |

`publish_game` 总是在可播放的捆绑旁上传作者的源(内容评分和后期还水). 何时 `directory` 是构建输出, 如 `dist/`,通过 `sourceDirectory` 作为项目根。 每个发布也会创建或更新一个闲置的 Studio会话,因此Insights和列出元数据可以在应用程序中找到;它不会启动代理转会.

服务器从未将 SDK 文件写入项目 。 添加 SDK 是 `setup` 指南(`get_sdk_docs({ version, topic: "setup" })`: 以脚本标签或安装来标注一次发布 `@fifth-door/platform-sdk`,然后读取同一版中的主题。 0:4.0之前的释放 `add_sdk` 工具复制出账的文档和助手 `/api/prism/devkit.zip` 并读取文档 `/api/platform/sdk/index.json`在制作中,这些路线回答410 并发出信息升级.

两个SDK工具是薄的调用器 `/api/platform/sdk/latest.json`, (中文(简体) ), `/api/platform/sdk/<version>/index.json`,以及 `/api/platform/sdk/<version>/docs/<topic>`。API从发行本创建索引 `index.json`; 此服务器不持有 Docs, 没有前题解析, 也没有自己的知识库, 所以没有 MCP , 同样的索引和 docs 可以到达( 网页docs 页面读取相同的路由 ) 。 学习和改变项目是分开的:两个工具都是只读的,不需要登录,所以一个代理可以在触摸任何东西之前评估一个能力. 准确 `version` 从该版本中读取或失败;它从来就不是更新的版本,因为项目发布文件没有标注描述项目没有的API。 设置指南以代理机离开的项目说明为结尾(`AGENTS.md`, (中文(简体) ), `CLAUDE.md`,或称README)命名了被绑放的发行和这两个工具,所以后会读到发行的游戏是反对而不是最新的.

## 封面艺术

封面在内部 **4:3景观** 框,每个浏览面(`GameCard.tsx`),与 `object-contain` —— 16: 9的截图或正方形图像显示,其周围有栏杆而不是被收割. 其他表面在3:2(股票牌)和5:1(班纳)和这些作物上重复使用相同的图像.

-   **把游戏标题写入作品中.** 一张牌是封面外加一行创作者——标题在牌上无所取出,所以没有名字"船"作为无标题图片的封面. 第五道门自己的封面生成器出于同样的原因将标题烘烤入来(第道门的封面生成器)`packages/assets/src/generation/cover-art.ts`) (中文(简体) ).
-   4: 3 导出 : `1200x900`,或 `1600x1200` 换一张更锋利的牌.
-   将标题和英雄题材保留在中间~70%,出角.
-   `publish_game` 读取封面的页眉,并在其输出中警告,当侧面关闭或图像宽度低于800px时。 它无法看到标题是否在图像上,所以该部分在呼叫者上.

## 游戏游戏预览

发现在游戏的卡片上循环了一段短的哑弹片段,而不是静态封面,当文物有后缀时(`platform_artifacts.preview_video_url`) (中文(简体) ).

公开的队列会自动为任何尚未预览的游戏录制记录( N)`applyArtifactVisibility`),所以一个MCP所发行的游戏通常可以不问就获得一个. `generate_game_preview` 已存在,用于记录一个仍未上市的游戏,或者替换一个错误的剪辑(`regenerate: true`) (中文(简体) ). 它运行一个代理在公布的源头上写一个控制器,然后将Playwright旗下的控制器记录在一个GPU工人身上——几分钟,所以民意调查 `get_game_preview_status`。 。 。 .

`set_game_preview` 是手动路径: 将本地视频交给它, 服务器将编码为 **头8秒** 进入一个卡片大小的h.264环. 上传前修剪.

## 配置

万事通通过env vars在MCP客户端配置中到达——这个包从不读取单列波状态.

| 变量 | 默认 | 目的 |
| --- | --- | --- |
| `FIFTH_DOOR_API_URL` | `https://api.beta.fifthdoor.com` | API 来源 |
| `FIFTH_DOOR_WEB_URL` | `https://play.fifthdoor.com` | 网络来源( 游戏 URL) |
| `FIFTH_DOOR_TOKEN` | —— 说 | 用于 CI/script 的切换; 跳过 `login`。使用一个 `fd_` 账户页面生成的 API 密钥( 或原始会话符号) |

证书被缓存于 `~/.config/fifth-door/credentials.json` (0600),由API来源键入.

## 服务器端对接器

-   设备流: 更好的自动 `deviceAuthorization` 插件 (e)`packages/api/src/auth.ts`),批准页 `/device` (单位:千美元)`packages/web/src/routes/device.tsx`, (中文(简体) ), `device_code` 页:1.
-   API 密钥 : `api_tokens` 页:1 `ApiTokenRepository`;在账户页面上计价(`apiTokens` RPC路由器),被平台REST线路接受为无记名标志.
-   发布 + 管理 : `POST /api/platform/publish` (会话或 API 密钥无记名者 \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* `sourceFiles`, (中文(简体) ), `GET /api/platform/me`, (中文(简体) ), `GET /api/platform/me/artifacts`, (中文(简体) ), `PATCH /api/platform/me/artifacts/:slug/visibility` (单位:千美元)`packages/api/src/routes/platform.ts`) (中文(简体) ).
-   预览 : `POST`编号 :`DELETE /api/platform/me/artifacts/:slug/preview` (原始内容存档于2011-10-21) (raw video body) `writePlatformPreview` 转码, `POST`编号 :`GET /api/platform/me/artifacts/:slug/preview/generation` (同样的队列 Studio和去公共路径的使用). 共享拯救/清除生命 `packages/api/src/lib/artifactPreview.ts`。 。 。 .
-   游戏干扰 : `GET /api/platform/jams`, (中文(简体) ), `POST`编号 :`DELETE /api/platform/me/artifacts/:slug/jam-entries[/:jam]` (共享条目规则 `packages/api/src/lib/gameJamEntries.ts`) (中文(简体) ).
-   用户设置指南 : `docs/publish-from-your-editor.md` 这里,在 `/docs/mcp` (单位:千美元)`packages/web/src/components/docs/McpDocsPage.tsx`) (中文(简体) ).

## 释放

出版自动化 `.github/workflows/publish-mcp.yml`: 颠倒 `version` 在此软件包中.json,与主软件合并,CI通过可信赖的出版(GitHub OIDC)发布到npm——当版本已经登入npm时,则不发布.

修改已公布服务器的每个 PR( 工具、 工具描述、 行为、 默认) 突起 `version` 在这个包中 `version` 区域 `server.json`在同一个公关。 没有撞伤,合并 发布什么,创造者在 `@latest` 永远得不到零钱。 用于新工具或已更改行为、用于修正和描述编辑的补丁.

这个 [MCP 书记官处](https://registry.modelcontextprotocol.io/) 列名 `io.github.fifthdoor/mcp` 说明如下: `server.json` 并在npm上公布: `version` 区域 `server.json` 匹配,然后从此目录运行 `mcp-publisher login github` (《公约》的任何成员) `fifthdoor` GitHub 矿石)和 `mcp-publisher publish`。登记处通过 `mcpName` 在 package.json 中,它必须等同于服务器名称.

出版物没有来源证明。 npm只验证一个 sigstore 捆绑,其源存储器是公开的,并且 `fifthdoor/conduit` 是私有的; 信任的出版默认允许来源, 因此工作流程集 `NPM_CONFIG_PROVENANCE=false` 把它关掉。 把回购公之于众是回取出处的唯一途径.

一次性的靴子陷阱( npm 要求软件包在可以配置信任的出版商之前存在):

1.  创建 `fifth-door` org 在 npmjs.com (拥有 `@fifth-door` 范围.
2.  手动首次发布 : `cd packages/mcp && npm publish` (运行) `prepublishOnly` 建设; 需要 `npm login`) (中文(简体) ).
3.  在 npmjs.com 上 软件包设置 信任的出版商 GitHub Actions 仓库 `fifthdoor/conduit`工作流程 `publish-mcp.yml`从那时起,没有任何标志.

`bun run build` 生产 `dist/index.js` (Node-runnable; Esbuilt stay outside 因为它运送一个平台-本地二进制).

## 常见问题

### @fifth-door/mcp 是什么？

第五道门 MCP 服务器 — 从任何 MCP 客户端签名并发布到第五道门的游戏

### 如何安装 @fifth-door/mcp？

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

### @fifth-door/mcp 支持 TypeScript 吗？

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

### @fifth-door/mcp 支持 ESM 还是 CommonJS？

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

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

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

### @fifth-door/mcp 可以商用吗？

@fifth-door/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fifth-door/mcp 的下载量有多少？

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

### @fifth-door/mcp 还在维护吗？

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

