Gamealia

io.github.gamealia由 GitHub 账号 gamealia 发布v0.1.24更新于 Nov 6, 2026

Publish web games on Gamealia from your AI coding assistant: SDK, autotest, listing, upload.

概览

AI 生成的概览

Gamealia 让编程助手把网页游戏发布到 Gamealia 平台:集成 SDK、本地自动测试、创建页面、上传版本并提交审核。

可以做什么
  • 检查、生成与改造本地游戏项目:识别引擎与构建方式、创建带 SDK 的起始项目、集成或迁移 Poki/CrazyGames 调用、静态检查集成情况
  • 本地构建、测试与预览:执行构建、在无头 Chromium 中做桌面与移动端自动测试、本地门户预览、带截图的交互式试玩
  • 管理游戏页面:创建或编辑游戏信息、用截图生成封面与缩略图、上传构建为新版本、提交审核
  • 查看账号与结果:登录、查看当前用户、列出或切换开发者账号、列出游戏与版本、查看审核状态与驳回原因、每日数据与收益
  • 搜索内置的 Gamealia 开发者文档,并为支持的编程助手安装技能与配置
适用场景
适合网页游戏开发者希望由助手把一个本地游戏项目一路做到在 Gamealia 上发布,包括 SDK 集成、浏览器测试和提交审核。也适合把游戏从 Poki 或 CrazyGames 迁移过来。
运行要求
通过 npx gamealia-mcp 运行的本地 stdio 进程,需要 Node.js 22 或更高版本。需要 Gamealia 开发者账号,通过浏览器设备码流程登录(或设置 GAMEALIA_API_KEY 环境变量)。自动测试、预览和封面工具需要安装 playwright-core 及无头 Chromium。仅支持桌面端。
安装前请注意
登录后会把 API 密钥保存在本地凭据文件中;登出只删除本地文件,不会在服务器端吊销密钥。发布类操作会写入账号:创建游戏、上传版本、提交审核,编辑页面会替换现有字段值。上传与提交前应先由用户确认。工具失败时会发送匿名错误报告(工具名、脱敏后的错误、版本、操作系统),可用 GAMEALIA_TELEMETRY=0 或 DO_NOT_TRACK=1 关闭。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Gamealia,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Gamealia MCP server

Publish your web game on Gamealia from your AI coding assistant, and keep 60–70% of the ad revenue (100% from the players you bring), with no exclusivity.

Tell Claude Code, Cursor, Codex, VS Code, Gemini CLI, Windsurf, Cline, Zed or Claude Desktop:

Publish this game on Gamealia. It's in ./my-game.

The server analyzes the project, integrates the Gamealia SDK (or swaps Poki / CrazyGames calls through the compatibility layers), builds it, tests it in a real browser on desktop and mobile, writes the listing and the cover, uploads the build and submits it for review after you confirm. You approve one sign-in in your browser. A person reviews every version before it goes live.

Works with any engine that exports to the web: plain HTML5 and JavaScript, Phaser, PixiJS, three.js, Unity WebGL, Godot, GameMaker, Construct.

Install

Node.js 22 or newer.

sh
# Claude Codeclaude mcp add gamealia -- npx -y gamealia-mcp

Any other MCP client (stdio):

json
{  "mcpServers": {    "gamealia": { "command": "npx", "args": ["-y", "gamealia-mcp"] }  }}

The local autotest, preview and cover tools also use playwright-core with a headless Chromium (npx playwright-core install chromium).

Ready-made skills and configs for each assistant: gamealia.app/developers.

Tools

ToolWhat it does
gamealia_analyze_projectDetects the engine, the build and what the game needs
gamealia_integrate_sdkAdds the SDK and lifecycle calls, or migrates Poki / CrazyGames calls
gamealia_run_autotestRuns the game in a headless browser, desktop and mobile, with screenshots
gamealia_create_gameCreates the game page: title, description, controls, cover, translations
gamealia_upload_versionUploads the build and submits it for review
gamealia_get_statusReview state and live version
gamealia_get_earningsEstimated and confirmed earnings
gamealia_playtestPlays the game in a browser and reports what it sees

Full reference: Publish with AI.

The deal for developers

  • 60% of your game's ad revenue; launch partners (first game live by December 31, 2026) get 70% on all their games until June 30, 2027.
  • 100% of the ads seen by players who arrive through your own link.
  • Monthly payouts once your balance passes USD 50: PayPal, Payoneer, Wise or Mercado Pago.
  • No exclusivity: keep your game on Poki, CrazyGames, itch.io or your own site.

More: gamealia.app/developers · Revenue and payouts · Migrate from Poki · Migrate from CrazyGames

Contact

[email protected]

Error reports

When a tool fails, the server sends an anonymous report so we can fix it: the tool's name, the error message with file paths, emails, keys and other sites' addresses removed, the server version and the OS. Never your account, code, files or conversation. Turn it off with GAMEALIA_TELEMETRY=0 (or DO_NOT_TRACK=1). Details: privacy policy.

来源:README.md,提交 5814175

工具

26

gamealia_login

Log in to Gamealia

Logs in to Gamealia with a device code; call it first, since every tool that talks to Gamealia needs it. Returns a URL and a code at once for the user to open and approve (Google, or email and password; creates the developer profile if needed), then polls in the background and stores the API key in ~/.config/gamealia/credentials.json (mode 600). Call again with wait:true to wait for the approval (up to 50 s per call; repeat while still pending). When already logged in it only returns the username, unless force:true.

输入参数waitforce

gamealia_whoami

Who am I

Shows who is signed in: user id and username, whether a developer profile exists, the active developer account with the user's role, the API URL and where the key came from (environment or credentials file; never the key itself). Read-only. Use it to confirm the login before creating or publishing games; to list or switch accounts use gamealia_accounts. Fails with a hint to call gamealia_login when not logged in.

无需输入参数。

gamealia_logout

Log out

Logs out on this machine: deletes the local credentials file (every stored account key) and cancels a pending login. Local only, the key is not revoked on the server; safe to repeat. If GAMEALIA_API_KEY is set in the environment, calls stay authenticated with it. To change account, use gamealia_accounts instead.

无需输入参数。

gamealia_accounts

Developer accounts

Lists or switches the user's Gamealia developer accounts (their own and studios they joined). API keys are bound to one account and every other tool acts on the active one, so when the user has several, confirm the right one before creating or publishing games. action "list" (read-only) returns each account (id, name, individual/business, role: owner, admin, developer or finance), which is active and pending invites. action "switch" makes another account active with a stored key, or starts a device login bound to it (show the URL and code, then call gamealia_login with wait:true).

输入参数action必填account

gamealia_analyze_project

Analyze a game project

Inspects a local game folder (read-only, runs nothing, no login): engine (HTML5 + framework, Unity WebGL, Godot web, GameMaker, Construct), build command, output dir and entry html; existing CrazyGames/Poki SDK usage; policy problems (external ads, trackers, purchase UI, own login) with exact files and lines; localStorage keys; size; and the microphone/camera permissions to declare in the listing when the build calls getUserMedia. Call it first on an existing game (gamealia_create_project when there is none); the result names the next step, usually gamealia_integrate_sdk.

输入参数dir必填

gamealia_create_project

Create a new game

Scaffolds a new minimal game, already integrated with the Gamealia SDK, into an empty or new folder (local files only, no login). Use it when there is no game yet, instead of gamealia_analyze_project + gamealia_integrate_sdk. Never overwrites: fails if the folder has any file. Returns the files written. Templates: vanilla (Canvas game in plain JavaScript; no build step, upload the folder as is.); phaser (Phaser 3 + Vite; `npm install && npm run build` -> dist/.); pixi (PixiJS 8 + Vite; `npm install && npm run build` -> dist/.); multiplayer (Room example (publish, invite link, join) with a BroadcastChannel stand-in for your server; no build step.)

输入参数dir必填title必填template

gamealia_integrate_sdk

Integrate the Gamealia SDK

Patches a local project to use the Gamealia SDK, after gamealia_analyze_project: adds the SDK script tag (or import) and a lifecycle adapter, swaps CrazyGames/Poki SDKs for the Gamealia shims, adds the Unity .jslib / Godot addon. Deterministic and idempotent. Dry run by default (returns a unified diff, changes nothing); write:true edits the project's files. Returns TODOs (file:line) for the calls only you can place: gameplayStart/Stop, happyTime and ad breaks; then run gamealia_check_integration.

输入参数dir必填write

gamealia_check_integration

Lint the SDK integration and policies

Fast static lint of a local project's source or build (read-only, no browser, no login): SDK loaded and called, loadingStop/gameplayStart/gameplayStop present, portal language used (locale/localeChange), no external ads/trackers/miners, no purchase UI, no own login, build security rules, sizes. Use it after gamealia_integrate_sdk and before the slower gamealia_run_autotest. Returns ok plus each check as pass/warn/fail with a message (how to fix it) and file:line.

输入参数dir必填backendHosts

gamealia_build

Build the project

Runs the project's detected build command locally (e.g. npm run build; may take minutes, sends progress notifications) and returns the output folder and the last lines of the log, or an error with the end of the build log on failure. With no build step it runs nothing and returns the folder to upload. Usually optional: gamealia_run_autotest, gamealia_preview and gamealia_upload_version build first by themselves; use it to debug a failing build.

输入参数dir必填

gamealia_run_autotest

Run the autotest locally

Builds (unless build:false) and runs the full Gamealia autotest locally in headless Chromium, desktop 1280x720 and mobile 390x844, the same checks as the server: SDK lifecycle, blank screen, input response, ads (mock), console errors, static security analysis. Run it before gamealia_upload_version, which repeats it on the server. No login; writes screenshots and report.json to a temp folder; takes a while (progress notifications). Returns pass/warn/fail, the failed checks with fixes, the screenshot paths and key screenshots as images.

输入参数dir必填buildimagesbackendHosts

gamealia_preview

Preview in a portal replica

Serves the build (built first unless build:false) inside a local replica of the Gamealia game page (the real portal frame plus mock ads) on 127.0.0.1 and returns the page URL and the bare game URL for the user (or you) to open. No login, nothing is uploaded. It keeps running until stop:true or the MCP server exits; calling it again for the same folder restarts it. For automated checks use gamealia_run_autotest; to play it yourself, gamealia_playtest.

输入参数dir必填stopbuildtitle

gamealia_playtest

Start a playtest (you play)

Starts the game (built first unless build:false) in headless Chromium inside the autotest harness so you can play it yourself, e.g. to check gameplay the automatic gamealia_run_autotest cannot judge. Returns a session id plus the first screenshot. Then call gamealia_playtest_act with one action at a time (click x,y | key | drag | wait) and end with gamealia_playtest_stop for the verdict. Up to 40 actions per session and 2 sessions at once; idle sessions close after a few minutes. Local, no login.

输入参数dir必填buildprofile

gamealia_playtest_act

Playtest action

Performs one action (click, key, drag or wait) in a session started by gamealia_playtest; actions of one session run one at a time, in order. Returns the new screenshot, the step number and steps left, the SDK calls since the last step, new console errors, ad requests and how much the frame changed (0% often means the input did nothing). Fails if the session ended or expired; when steps run out, call gamealia_playtest_stop.

输入参数action必填sessionId必填

gamealia_playtest_stop

Stop a playtest

Ends a session started by gamealia_playtest (waits for its pending action, then closes the browser page; the session id stops working) and returns the summary: verdict pass/warn/fail with a message, steps and how many got a response, whether gameplay started, happy times, ad requests and ads shown, console errors and whether it crashed. Call it when done playing, so the session does not hold a browser until it expires.

输入参数sessionId必填

gamealia_create_game

Create the game listing

Creates a new game listing in the active developer account (needs login; not idempotent: a taken slug fails): slug, title/description/controls in es and en, tags, orientation, multiplayer, ads on/off, backend hosts, permissions; optionally uploads a cover and thumbnail (make them with gamealia_generate_cover). The game stays a draft, not public, until a version is approved. Call it once per game, after gamealia_run_autotest passes; to change an existing listing use gamealia_update_listing. Returns the game (id, slug, status); next gamealia_upload_version.

输入参数slug必填tags必填textstitle必填controlscoverPathisolationthumbPathadsEnableddescription必填multiplayerorientation另有 2 个

gamealia_update_listing

Update the game listing

Edits an existing game's listing (needs login): only the fields given change and they replace the current values; coverPath/thumbPath upload a new cover or thumbnail. texts writes developer-authored title/description/controls for one or many locales in one call (validated against the limits; they always win over machine translation): translate the listing yourself (gamealia-translate-listing skill) and save every locale at once. A permissions change only takes effect with the next approved version. Returns the updated game and the permission changes.

输入参数game必填slugtagstextstitlecontrolscoverPathisolationthumbPathadsEnableddescriptionmultiplayer另有 3 个

gamealia_generate_cover

Generate cover and thumbnail

Makes a 1200x630 cover and a 512x512 thumbnail from a gameplay screenshot (e.g. desktop-input.png from gamealia_run_autotest): center-cropped with the title on a gradient. Writes cover and thumb files to outDir (refuses to replace existing ones unless overwrite:true) and returns their paths plus the cover as an image. Without game it is local only; with game (needs login) it also uploads both to that listing, replacing its current images. Otherwise pass the files to gamealia_create_game or gamealia_update_listing.

输入参数gametitle必填outDiroverwritescreenshot必填

gamealia_upload_version

Upload a new version

Builds (unless noBuild), zips and uploads the local build as a new version of an existing game (needs login; multipart, retried), then waits for the server autotest and returns the version state and its report. Use it after gamealia_run_autotest passes locally and gamealia_create_game. Each call creates a new version; interrupted uploads that block it are aborted automatically. Can take minutes (progress notifications). submit:true also submits it for review when the autotest passes: only after the user confirmed; otherwise use gamealia_submit_for_review later.

输入参数dir必填game必填notessubmitnoBuildwaitForPrevious

gamealia_submit_for_review

Submit for review

Submits a game's newest version that passed the server autotest (state tested) for manual review by Gamealia, with release notes. Call it only after the user has confirmed they want to submit this version, and after gamealia_upload_version (skip it if that ran with submit:true). Needs login; fails if no version is tested, or if newly requested permissions lack a justification. Returns the version, normally awaiting_review; if permissions changed since its autotest the server re-tests it first. Then check gamealia_get_status later.

输入参数game必填notes

gamealia_get_status

Game and version status

Shows where one game stands (read-only, needs login): listing status (draft, live, unlisted, banned), the live version, requested vs live permissions, the latest version's state, its server autotest report, the reviewer's reject reasons with how to fix each, and the previous versions' states. Use it after uploading or submitting, and to read a rejection. texts:true instead returns the listing text of every supported locale with its status (developer-written, machine-translated, missing), the source text to translate from and the field limits.

输入参数game必填texts

gamealia_list_games

List my games

Lists every game of the active developer account (read-only, needs login): slug, title, status (draft, live, unlisted, banned), live version id and cover/thumbnail URLs. Use it to find the slug the other tools take, or to check that a game exists before gamealia_create_game; for one game's versions and review state use gamealia_get_status.

无需输入参数。

gamealia_list_versions

List versions

Lists all versions of one game, newest first (read-only, needs login): number, state (uploading, testing, tested, test_failed, awaiting_review, approved, rejected, archived, ...), which one is live, release notes, size, autotest status, reject reasons with fixes and dates. For the latest version's full autotest report and the next step use gamealia_get_status.

输入参数game必填

gamealia_get_stats

Game stats

Returns one game's daily stats for the last N days plus totals (read-only, needs login): plays, players, playtime in seconds, mobile/desktop split, ad requests and ad impressions. Use it to see how a live game performs; for money use gamealia_get_earnings, for review state gamealia_get_status.

输入参数daysgame必填

gamealia_get_earnings

Earnings

Returns the active developer account's earnings (read-only, needs login; a role-forbidden error means the user's role cannot see finances): balance, then per month the estimated and confirmed amounts, adjustments and revenue share %, and the payouts made (date, amount, method). Amounts are USD; structured values are in micro-dollars (balanceMicros). Account-wide, not per game; for plays and ad impressions per game use gamealia_get_stats.

无需输入参数。

gamealia_install_agent_kit

Register Gamealia in coding agents

One-time setup, not part of publishing: registers this MCP server and installs the Gamealia skills/rules in coding agents (claude-code, claude-desktop, codex, gemini, cursor, vscode, windsurf, cline, zed, opencode, agents-md). Dry run by default (write:true applies); returns the planned file changes plus copy-paste snippets (claude mcp add, Codex TOML, Cursor/VS Code install links). Project scope writes agent config files into dir (.mcp.json, .claude/skills, .cursor/, .vscode/, .codex/, AGENTS.md/GEMINI.md blocks, ...); global scope edits the user's own agent configs (~/.claude.json, ~/.codex/config.toml, Claude Desktop, ...). Merges idempotently, backs up every changed file first and leaves unparsable files alone; `gamealia agents uninstall` reverts it.

输入参数dirscopewritetargetsserverPath

版本历史

3
  1. v0.1.24最新Nov 6, 2026
  2. v0.1.22Nov 6, 2026
  3. v0.1.18Nov 4, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分