> MCP + Skills

给你的 AI agent 一个发布按钮

一次性装好 workflow,接入 AIGameShare 托管 MCP server,然后直接对 agent 说 「发布」。Claude Code、Cursor 或任意 MCP client 都能把游戏发布到可分享链接, 后续继续迭代,并保留游玩数、点赞和排行榜。

想要手把手流程?从 发布游戏 开始。 这一页保留为 MCP/API 详细参考。

1 · 获取 API Token

下面所有方式都用同一个个人 token 鉴权。创建一次、妥善保管——它会以你的账号发布游戏。

2 · 接入 MCP + 发布 Skill

AIGameShare 是一个面向 agent skills 和 workflows 的托管 MCP server。接入一次,你的 agent 就多了五个工具:先读的两份指南(create_game_guide、upload_game_guide),以及 publish_game、update_game 和 list_my_games。

添加 server(一条命令,任意项目):

claude mcp add --transport http aigameshare https://www.aigameshare.com/mcp --header "Authorization: Bearer ags_YOUR_TOKEN"

然后直接对 Claude 说:

「使用 AIGameShare skill,把这个游戏发布出去,标题和描述帮我写好。」

Skill 应该读取游戏、写好元数据、调用 publish_game,并回复线上试玩链接。迭代时说「把新版本更新到已发布的游戏」即可。

agent 先读的两份指南

两个都是无参数、免 token 的 MCP 工具,agent 或 skill 可以在构建过程中随时拉取。下面「参考」里有同样内容的摘要——让 agent 在写功能、发布之前先读它们。

  • create_game_guide构建前读。沙箱规则(无外部网络、localStorage 不保留)以及你要对接的 window.AIGameShare SDK:排行榜、云存档、2–8 人联机。
  • upload_game_guide发布前读。publish_game 接受的每个字段(必填 vs 可选)、大小限制、排行榜配置,以及发布前检查清单。
「用 AIGameShare MCP server:构建前先调 create_game_guide,发布前先调 upload_game_guide。」

3 · 验证成功

发布成功会返回 playUrl,立即可玩——打开它,或拉一下列表:

curl https://www.aigameshare.com/api/v1/games -H "Authorization: Bearer ags_YOUR_TOKEN"

参考

MCP 工具

  • create_game_guide — 沙箱规则 + window.AIGameShare SDK(排行榜、云存档、联机)。构建前读,免鉴权。
  • upload_game_guide — publish_game 的每个字段、大小限制和发布前检查清单。发布前读,免鉴权。
  • publish_game — title + description + game source → 线上试玩链接。可选:slug、category、tags、controls、ai_model、ai_tool、device_support、leaderboard_*。
  • update_game — game_id + html / zip_base64 / title / description / controls / tags 任意组合。游玩数、点赞、排行榜在更新后保留。
  • list_my_games — 你账号下游戏的 id、标题、链接、游玩数和点赞。

游戏 SDK(window.AIGameShare,自动注入)

  • 排行榜(默认开):submitScore(key, value, { playerName, meta })。key 必须和 leaderboard_key 一致。竞速类用 leaderboard_value_type "time_ms" + asc,提交毫秒。
  • 云存档(默认开):cloudSave.set / get / list / delete 持久化每个玩家的 JSON。需玩家登录——处理 err.authenticated,传 { promptAuth: true } 触发登录。
  • 联机(2–8 人):multiplayer.createRoom / joinRoom 返回房间句柄,含 on() / send() / setState() / start() / finish() / leave()。让 host 作权威端。
  • 另有 track(event, props) 埋点、unlockAchievement(key)(默认关)、setState(state)。使用前先判断 window.AIGameShare 是否存在。

publish_game 要填什么

  • 必填:title(≤120)、description(≤1000),以及 html(单文件,≤2MB)或 zip_base64(含 index.html 的 zip,≤30MB)二选一。
  • 推荐:thumbnail(base64 封面图,PNG/JPEG/WebP,640×960 2:3 竖版海报,≤2MB,过内容审核)、slug、category(Arcade · Action · Adventure · Puzzle · Board · Card · Words · Educational · Sports · Racing · Strategy · Simulation · Creative · Skill · Experimental · World Cup)、tags(≤100;通常 12–30 个精准标签就够了)、controls、device_support [desktop|mobile]、ai_model、ai_tool、aspect_ratio。系统会根据 ai_model 自动补模型标签。
  • 排行榜:leaderboard_enabled、leaderboard_key(须与 submitScore 一致)、leaderboard_name、leaderboard_value_type、leaderboard_sort_direction。

REST 端点

  • POST /api/v1/games — publish (JSON or multipart)
  • PUT /api/v1/games/{gameId} — update build / metadata
  • GET /api/v1/games — list your games
  • POST https://www.aigameshare.com/mcp — MCP (Streamable HTTP)

限制与沙箱规则

  • Payload 限制:html 最大 2MB;zip_base64 最大 30MB。
  • 游戏运行在 opaque origin 的沙箱 iframe 里:外部网络请求被拦截,localStorage 跨会话不保留。
  • 持久化用上面的 SDK,别用 localStorage——分数用 submitScore,进度用 cloudSave。所有资源要打包进来,运行时的 CDN/API 请求会被拦截。
  • 内容需对全年龄友好。损坏或滥用的上传会被下架。

排障

  • 401 → Authorization 头缺失或错误。格式:Authorization: Bearer ags_...
  • 409 → 游戏 id 已存在。不传 gameId(我们会生成)或用 update_game 迭代。
  • 413 → 超出大小限制。压缩资源,或发送 bundle payload。
  • 遇到重定向 → 始终直接请求 https://www.aigameshare.com(www 域名)。