Gamealia

io.github.gamealiaPublished by GitHub account gamealiav0.1.24Updated Nov 6, 2026

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

Overview

AI-generated overview

Gamealia publishes web games to the Gamealia portal from a coding assistant: SDK integration, local autotest, listing, upload and review submission.

What you can do
  • Inspect, scaffold and patch a local game project: detect engine and build, create a Gamealia SDK starter, integrate or migrate Poki/CrazyGames calls, lint the integration
  • Build, test and preview locally: run the build, headless Chromium autotest on desktop and mobile, local portal preview, interactive playtest with screenshots
  • Manage the listing: create or edit game pages, generate cover and thumbnail from a screenshot, upload a build as a new version, submit for review
  • Check account and results: sign in, show the signed-in user, list or switch developer accounts, list games and versions, review status and reject reasons, daily stats and earnings
  • Search the bundled Gamealia developer docs…
When to use it
Use it when you are a web game developer who wants an assistant to take a game from a local folder to a published Gamealia listing, including SDK integration, browser testing and review submission. It also helps when migrating a game from Poki or CrazyGames.
Requirements
Local stdio process via npx gamealia-mcp; Node.js 22 or newer. A Gamealia developer account, signed in through a browser device-code flow (or a GAMEALIA_API_KEY environment variable). The autotest, preview and cover tools need playwright-core with headless Chromium installed. Desktop only.
Before you install
Signing in stores an API key in a local credentials file; logout deletes it locally but does not revoke it on the server. Publishing actions write to your account: creating games, uploading versions, submitting for review, and editing listings replace current values. Uploads and submissions should be confirmed by the user first. Failed tools send an anonymous error report (tool name, sanitized error, version, OS) unless GAMEALIA_TELEMETRY=0 or DO_NOT_TRACK=1 is set.

Installation

In SourceWeft

  1. Open Gamealia in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit 5814175

Tools

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.

Parameterswaitforce

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.

Takes no parameters.

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.

Takes no parameters.

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).

Parametersactionrequiredaccount

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.

Parametersdirrequired

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.)

Parametersdirrequiredtitlerequiredtemplate

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.

Parametersdirrequiredwrite

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.

ParametersdirrequiredbackendHosts

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.

Parametersdirrequired

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.

ParametersdirrequiredbuildimagesbackendHosts

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.

Parametersdirrequiredstopbuildtitle

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.

Parametersdirrequiredbuildprofile

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.

ParametersactionrequiredsessionIdrequired

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.

ParameterssessionIdrequired

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.

ParametersslugrequiredtagsrequiredtextstitlerequiredcontrolscoverPathisolationthumbPathadsEnableddescriptionrequiredmultiplayerorientation+2 more

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.

ParametersgamerequiredslugtagstextstitlecontrolscoverPathisolationthumbPathadsEnableddescriptionmultiplayer+3 more

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.

ParametersgametitlerequiredoutDiroverwritescreenshotrequired

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.

ParametersdirrequiredgamerequirednotessubmitnoBuildwaitForPrevious

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.

Parametersgamerequirednotes

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.

Parametersgamerequiredtexts

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.

Takes no parameters.

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.

Parametersgamerequired

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.

Parametersdaysgamerequired

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.

Takes no parameters.

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.

ParametersdirscopewritetargetsserverPath

Version history

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

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts