
Integrate and verify web games
Registers the hosted Yes2SDK MCP server and adds skills that install the SDK, scaffold the unified init and ad loop, verify a WebGL build against Poki, CrazyGames, Yandex Games, GameDistribution and YouTube Playables rules, and diagnose integration failures.
Example path →
https://mcp.yes2games.com/mcpOne integration ships your HTML5 game to every supported web game platform. Docs and the checks that catch a rejection before you submit, for AI assistants. Yes2SDK engines: TypeScript/JavaScript (the @yes2games/js npm package: plain canvas, Phaser, three.js; the dashboard injects the SDK at upload), Unity, and Defold — HTML5/WebGL only.
Modules: ads, analytics, auth, banners, data, errors, friends, game, player, score, session, lifecycle, iap, notifications, referrals.
Install before code: this server reports whether a project can compile SDK references at all. (projectPath) returns the engine, install state and remaining steps; (engine) returns the version-pinned steps. Code referencing the Yes2SDK namespace (Unity), the yes2sdk module (Defold) or window.Yes2SDK (JS) will not compile or resolve until the package is installed. For JS, install @yes2games/js (types, runtime helpers, local-dev mock), never bundle yes2sdk.umd.js, build with Vite base: './', and mark the game canvas data-yes2-canvas.
Typical flow: 1) (projectPath) / (engine) to ensure the SDK is installed, 2) for the target platform, 3) per module, 4) for specifics, 5) against the built WebGL output or a captured Inspector event log. checks both static build output (buildPath) and behavioral compliance (eventLogJson) against real platform rejection rules.
Uploading a build to the Yes2 dashboard (sign-in is opt-in and only needed for the dashboard tools; the docs and validation tools never need it. To sign in, call when the user asks to sign in to Yes2 or after a dashboard tool says they are not signed in; it does not open a browser by itself. In Claude Code, after calling tell the user to run /mcp, pick the Yes2SDK server and choose Authenticate (the dashboard opens in the browser; this server's tools pause until then, and Disable → Enable in /mcp reverts to anonymous); in claude.ai a Connect card appears; in Codex the user runs codex mcp login yes2sdk. A y2g_ API key sent as X-Yes2-Api-Key works too): or for the gameId; zip the built game with index.html at the zip root; (gameId, version, size in bytes) returns an uploadId and a curl PUT command that sends the zip from the user's machine straight to storage (this server never handles the file); after the PUT, (gameId, uploadId); then (gameId, uploadId) every few seconds until ready or failed. When ready, show the user the inspectorUrl and any uploadWarnings. Editing a game with the same sign-in or key: (gameId, fields) changes name, description, engine, category, tags, orientation, yandexMetricaCounterId or jestAutoLoginReminders; (gameId, kind: icon | banner, size in bytes, contentType or imagePath) returns an uploadId and a curl PUT command that sends the image from the user's machine straight to storage with no credential in it, then (gameId, uploadId) sets it (remove: true deletes the image instead); (gameId, buildId, name) sets a build's display name, null clears it.
6 in the ChatGPT listing