@ 第五个门/mcp
公共第五道MCP服务器:签入第五道并发布从Cursor,Claude Code,Codex或任何MCP客户端的游戏. 本地运行于 stdio 之上, 这样它就可以读取正在发布的游戏目录; 仅用每个用户的会话符号在 REST 上与 Fifth Door 交谈 .
安装
已出版软件包@latest 将用户保留在最新版本上——否则npx缓存上. @latest 解决客户端启动服务器时的问题,所以运行中的客户端保留它开始的版本;发布后,重新启动MCP服务器(或编辑器)来取取新的版本.
光标 ——一击:见 第五道门.com/docs/mcp,或添加到 .cursor/mcp.json数字 :
{
"mcpServers": {
"fifth-door": {
"command": "npx",
"args": ["-y", "@fifth-door/mcp@latest"]
}
}
}
克劳德代码 :
claude mcp add fifth-door -- npx -y @fifth-door/mcp@latest
代码 :
codex mcp add fifth-door -- npx -y @fifth-door/mcp@latest
从此单曲( 已注册于 .mcp.json,指向当地的dev堆栈:
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页:1ApiTokenRepository;在账户页面上计价(apiTokensRPC路由器),被平台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 书记官处 列名 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 要求软件包在可以配置信任的出版商之前存在):
- 创建
fifth-doororg 在 npmjs.com (拥有@fifth-door范围. - 手动首次发布 :
cd packages/mcp && npm publish(运行)prepublishOnly建设; 需要npm login) (中文(简体) ). - 在 npmjs.com 上 软件包设置 信任的出版商 GitHub Actions 仓库
fifthdoor/conduit工作流程publish-mcp.yml从那时起,没有任何标志.
bun run build 生产 dist/index.js (Node-runnable; Esbuilt stay outside 因为它运送一个平台-本地二进制).