Playgama MCP - Publish & Manage HTML5 Games
Server Details
Publish in seconds, get the audience, start monetization, get all analytics — without leaving your agent.
Playgama MCP is a remote MCP server for game developers. Point Codex, Claude Code, Cursor or VS Code at it and your agent works inside your Playgama developer cabinet: it creates a game and fills in the form, uploads a build and polls until the engine analysis is done, uploads covers in the exact sizes the form requires, edits the in-app catalog and leaderboards, gets a QA Tool link, and publishes a sandbox — a public link anyone can play, with no moderation step. It can also bring the first players to that sandbox through Playgama DSP, with the first run per game free.
22 tools, 11 of them read-only; every write is annotated as destructive so your client asks first. Submitting to moderation, deleting and payouts are deliberately left out: the agent prepares everything, a human presses the button.
Authentication is OAuth 2.1 with dynamic client registration — there is no token to copy. The client opens a browser on first use, and connected agents are listed and revocable in the cabinet.
After the link is live the game takes its first players from the Playgama network, and Playgama DSP can send more the same day (beta). Once it clears the session threshold you can switch on advertising — Playgama Ad serves rewarded, interstitial and banner formats through one JS SDK (access by request). Playgama Wrap turns the same game into a standalone site on your own domain with player accounts, in-game purchases and indexable SEO pages (early access), and Playgama Bridge SDK gives one API for ads, leaderboards, payments and platform SDKs when you publish across platforms. Playtime, retention and revenue reports are in the developer dashboard, and payouts start at 100 USD.
Product page: https://playgama.com/mcp/ Docs: https://wiki.playgama.com/playgama/mcp Tools reference: https://wiki.playgama.com/playgama/mcp/tools Connected agents: https://developer.playgama.com/mcp
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 37 tools
Most tools target clearly distinct resources and lifecycle steps (create_application vs update_application_form, start/confirm archive vs cover uploads, publish_sandbox vs send_playgama_catalog_update). The main friction is the dense cluster of read/state tools (get_launch_steps, get_submission_state, get_sandbox_state, get_archive_status, get_publications) and four separate documentation tools, whose boundaries require careful reading of long descriptions.
All 37 names are snake_case and follow a predictable verb_noun convention (list_applications, get_archive_status, start_cover_upload, confirm_cover_upload, replace_in_app_products). The step-based upload trio start_/confirm_ is especially coherent and aids discovery.
37 tools is heavy for a single MCP surface, though the domain genuinely spans publishing, moderation, traffic/referrals, telemetry, and docs. Some consolidation is possible: five telemetry analytics tools and four documentation/guide tools could be merged or gated behind parameters without losing capability.
Coverage is unusually thorough: creation, form updates, archive/cover upload lifecycle, leaderboards, in-app products, sandbox and catalog publishing, submission state, moderation comments, referrals, traffic campaigns, and telemetry drill-down are all present. The notable gaps are deletion operations for games and leaderboards (explicitly unavailable) and no archive listing/deletion beyond get_application metadata.
Publisher details
- Operator
- Playgama · Publisher source
- Operator website
- https://playgama.com/ · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://wiki.playgama.com/playgama/mcp · Publisher source
- Trust center
- Not available
- Restrictions
- A free Playgama developer account is required and sign-up is open to anyone; there is no paid plan, no admin approval and no regional limit. Authentication is OAuth 2.1 with dynamic client registration, so no custom OAuth app has to be created. A connected agent reaches only the games of the account's own organization. Submitting a game to moderation, deleting, rolling a game back and payouts are deliberately not exposed and stay human actions in the cabinet. · Publisher source
Available Tools
37 toolsapply_referral_codeAccept a referral invitationADestructiveInspect
Apply a developer-provided referral code or invitation URL to this organization before its first-ever Sandbox publication. Never invent a code. One inviter per organization; the attribution cannot be changed and self-invitations are refused. Grants one traffic welcome bonus without starting a campaign. Repeating the same invitation returns ALREADY_APPLIED and the same bonus, including after a lost answer. A different invitation cannot replace it. Read get_referral_program to recover state after an uncertain result.
Inputs: codeOrUrl (required).
confirm_archive_uploadConfirm an archive uploadADestructiveInspect
Step 3 of 3, after the PUT: adds the archive to the game’s form (earlier archives stay) and queues unpacking and the Bridge SDK analysis. Successful unpacking makes the game files available at a public archive URL for QA; this does not publish the sandbox page or catalog listing. Refused with 409 while nothing is uploaded. Safe to repeat. Answers the get_archive_status view; keep polling that tool.
Inputs: archiveId (required), applicationId (required).
confirm_cover_uploadConfirm a cover uploadADestructiveInspect
Step 3 of 3, after the PUT: checks the file (the started format, the exact slot size, a complete image), publishes it and puts it into its slot; replaced names the cover taken out. Refused with 409 while nothing is uploaded, 422 when the file does not fit (the reason is given; start a new upload), 502 when it could not be published (not confirmed). Safe to repeat.
Inputs: mediaId (required), applicationId (required).
create_applicationCreate a gameADestructiveInspect
Create a draft game. Answers its id, which the other tools take. Titles are not unique: if a call failed without a clear answer, check list_applications before creating again.
Inputs: title (required), engine (required), agent, model, +1 more.
create_leaderboardCreate a leaderboardADestructiveInspect
Add a leaderboard to a game. id is its Bridge SDK tag: unique within the game and not changeable later. Check list_leaderboards for tags already taken. Deleting a leaderboard is not available.
Inputs: id (required), name (required), type (required), applicationId (required), +2 more.
get_applicationRead an applicationARead-onlyIdempotentInspect
The saved form of one game, with the metadata of its archives and media. No file contents or download links.
Inputs: applicationId (required).
get_archive_qa_tool_linkGet the QA Tool link for an archiveARead-onlyIdempotentInspect
A link that opens an unpacked archive (processing DONE) in the Playgama QA Tool, where a human plays it and submits it to moderation. mode: certification opens the certification page, whose Build Startup section shows why the Bridge SDK did not initialize — get_bridge_sdk_docs has the integration docs; it unlocks nothing. Also answers processing, failedAt and bridgeSdk.
Inputs: archiveId (required), applicationId (required), mode.
get_archive_statusRead an archive’s statusARead-onlyIdempotentInspect
The state of one archive. state.status: CHECKING while the build check runs, then PASSED, PROBLEM or NOT_CHECKED. Poll until it is no longer CHECKING; on PROBLEM or NOT_CHECKED give the developer state.message word for word — it names what is wrong and what to do — and take state.reason as its code (get_bridge_sdk_docs has the SDK integration docs; get_archive_qa_tool_link with mode: certification shows the startup log). processing: PENDING (unconfirmed or unpacking), DONE (unpacked), FAILED with failedAt: UNPACK and errorMessage (upload a corrected zip). bridgeSdk: whether that same check found the Playgama Bridge SDK in the build — FOUND, NOT_FOUND, or PENDING while it has not answered. analysis: what the check measured — bridgeVersion and bridgeEngine, null when no check has run. Publishing and submitting are decided by state.
Inputs: archiveId (required), applicationId (required).
get_bridge_sdk_docsRead the Playgama Bridge SDK docsARead-onlyIdempotentInspect
The live Playgama Bridge SDK wiki. Start with page: api: its Required steps are mandatory for every game — read them when you start work on a game and before integrating the SDK, and again when an archive answered bridgeSdk: NOT_FOUND. Without page: the index, one { page, title, required, description? } per page. With page (an id from the index, e.g. "api/storage"): that page’s title, url and markdown, cut to engine’s tabs when the page has tabs and one matches — engineFilter says which tabs existed and which were kept. An unknown page is refused with the list of valid ids. The rules the whole game must meet are get_game_checklist; recommendations are get_game_guides.
Inputs: page, engine.
get_game_categoriesRead the game categoriesARead-onlyIdempotentInspect
The values update_application_form takes for category, in priority order, and how to choose one. Read it before setting or changing a game’s category. howToChoose is the rule; each of categories has slug (what the form takes), title, description, like (the kinds of games it holds), examples (names of Playgama games of it) and notLike: games it does not hold, each with the categories they belong to. groups is how the console groups them. The same list the console shows the developer.
Inputs: no named parameters.
get_game_checklistRead the Playgama game requirementsARead-onlyIdempotentInspect
Every numbered rule a game and its build archive must meet to go up on Playgama, read live from the Game Requirements section of the Playgama wiki. Read it together with the Required steps of the Bridge SDK (get_bridge_sdk_docs, page: api) when you start work on a game, before writing code (layout, sound, saving and ads are decided in the first build), and again before every start_archive_upload: check the game and the archive against each item by its number, fix what fails before uploading, and tell the developer which numbers you could not check yourself. If the requirements cannot be read, say so: never report the archive as checked. Without page: { title, url, markdown, pages, requirements, unavailable } — the index; every requirement page as { page, title, required, description? }, all required; the markdown of every page but the platform-specific requirements as { page, title, url, markdown }; and { page, title } of the pages that could not be read right now — tell the developer their rules were not checked. The platform-specific requirements apply to the partner platforms the game is distributed to: read them by page. With page (an id from pages): that page’s title, url and markdown. A Bridge SDK link inside goes to get_bridge_sdk_docs and a guide link to get_game_guides, as their page, as written.
Inputs: page.
get_game_guidesRead the Playgama game guidesARead-onlyIdempotentInspect
Recommendations for building, monetizing and optimizing a game for Playgama, read live from the Playgama wiki: loading and the first session, responsive layout, controls, sound, saving progress, ad and purchase design, performance. Moderation checks none of it — the rules are get_game_checklist — so a guide is never a reason to block an upload. Read the guide that matches the work at hand: layout, sound or controls while building the game, monetization while placing ads and purchases, performance while optimizing. Without page: { title, url, markdown, pages } — the index and one { page, title, required, description? } per guide. With page (an id from pages): that guide’s title, url and markdown. A Bridge SDK link inside goes to get_bridge_sdk_docs and a requirements link to get_game_checklist, as their page, as written.
Inputs: page.
get_game_telemetry_analyticsRead game telemetry analyticsARead-onlyIdempotentInspect
Compact overview of one game’s preaggregated telemetry: volume, event inventory, sessions, users, duration and freshness. Start here, then call the event, timeseries or session-facts tool only for the question you need to answer. The JSON is dynamic: inspect schema_version, period, freshness, sample sizes and every returned field; unknown fields may be added, and missing or null never means zero. dateFrom and dateTo are inclusive calendar dates and may span at most 31 days. The event inventory defaults to 50 types and is capped at 100. Follow events_page.next_cursor with eventCursor only when more event types are needed for the current question; do not fetch every page preemptively. The tool returns evidence, not a server-generated conclusion. Read get_game_telemetry_guide before instrumenting a game or interpreting this response.
Inputs: dateTo (required), dateFrom (required), applicationId (required), eventLimit, +1 more.
get_game_telemetry_event_analyticsAnalyze a telemetry event and its fieldsARead-onlyIdempotentInspect
Preaggregated detail for one event. Call without fieldName to discover every top-level custom field and its type, coverage, cardinality and numeric or boolean summary. Call again with one fieldName to obtain its bounded top categorical JSON values and other_event_count. Nested objects and arrays are dynamic JSON values, not a fixed DTO. For performance_sample, use this tool to read the available FPS, frame-time and stutter field summaries for the requested period. Use event names discovered in get_game_telemetry_analytics; do not request raw events.
Inputs: dateTo (required), dateFrom (required), eventKind (required), eventName (required), +2 more.
get_game_telemetry_guideRead the game telemetry guideARead-onlyIdempotentInspect
Agent-only instructions for instrumenting a Playgama game and interpreting its telemetry. Read before finishing a game: it defines the performance_sample contract, how to choose bounded product progression events, the temporary custom-to-system event migration, privacy rules, and how to drill down through the compact telemetry analytics tools without requesting raw or unnecessarily large datasets.
Inputs: no named parameters.
get_game_telemetry_session_factsRead filtered session factsARead-onlyIdempotentInspect
Paginated, preaggregated and pseudonymized session facts for sequence questions such as whether a player found an item before dying or restarted after defeat. At least one of eventName, fieldName, sessionRef or userRef is required. Start with the default 20-session page and fetch another page only when the current question needs it. Facts contain dynamic sanitized JSON in ordered chunks; they are not raw events and must not be treated as a complete user history. Repetitive core_ping and performance_sample events are intentionally excluded: never filter session facts by either name or use this tool for per-session FPS analysis.
Inputs: dateTo (required), dateFrom (required), applicationId (required), limit, +5 more.
get_game_telemetry_timeseriesRead a telemetry time seriesARead-onlyIdempotentInspect
Paginated preaggregated 30-minute or daily telemetry counts for trend, release and regression comparisons. Optionally narrow by event namespace and event name. Follow page.next_cursor only while more points are needed for the current conclusion; the response also returns the applied limit. Points describe event volume and coverage, not FPS or other custom-field value distributions. Compare performance values with bounded event-analytics requests instead. This tool never reads or returns raw events.
Inputs: dateTo (required), dateFrom (required), applicationId (required), limit, +4 more.
get_launch_stepsRead the launch stepsARead-onlyIdempotentInspect
The developer’s path for the game, step by step in the order it is walked, judged by the latest archive (archiveId): the steps the tools of this connection can move. Each step: id, state (TODO, IN_PROGRESS, DONE, FAILED, BLOCKED, UNKNOWN, PARTIAL, OUTDATED, AVAILABLE, WAITING, CABINET), reason, required, nextTools, blockedBy and askDeveloper. current is the first required step still holding the path, null when none is. UNKNOWN is neither done nor not done: call again. CABINET: what is left is the developer’s, in the console.
Inputs: applicationId (required).
get_local_game_qa_tool_linkGet a QA Tool link for a locally served gameARead-onlyIdempotentInspect
A link that opens the Playgama QA Tool on a game you serve yourself (e.g. on localhost), to play it in the Bridge SDK harness before uploading. Leave sessionId out for a fresh environment; reuse one to keep saved state.
Inputs: url (required), sessionId.
get_publicationsRead the game’s publicationsARead-onlyIdempotentInspect
The game’s latest publication on each destination, newest first. A destination with no publication on record is absent, which does not mean never published: what each destination serves is get_application activeArchives. platform is PLAYGAMA_SANDBOX — the sandbox, published by publish_sandbox — or PLAYGAMA — the catalog, published by send_playgama_catalog_update or from the console. Each has id, releaseId, archive (null only once that archive is gone), startedAt, updatedAt and status — IN_PROGRESS while its archive is built and published, PUBLISHED once its build went live, FAILED when it never did, with no reason given — and retryAfterSeconds, the wait before reading again while IN_PROGRESS, null otherwise. After a publish, read it again at that pace until it leaves IN_PROGRESS; on FAILED tell the developer, a new publish starts over. What the sandbox serves now is always get_sandbox_state site.revision. A publish with no answer may still land after any read, so never tell the developer it did not: compare with the publication read before the call — a new releaseId naming this archive is a publication of this archive, that call’s or another’s: follow it; otherwise the outcome is unknown: say so — another publish is a new request, on a new yes.
Inputs: applicationId (required).
get_referral_programRead the referral invitation and bonusesARead-onlyIdempotentInspect
Read the current organization’s stable invitation code/link, eligibility, aggregate invitation counts and available traffic bonuses. There is no enrollment step. Every organization member can read the invitation; share the returned invitation.url. Each accepted invitation grants the invited organization a traffic welcome bonus; its first successful Sandbox publication grants the inviter another traffic bonus. These are not cash or guaranteed player counts. An existing organization can accept an invitation until its first-ever Sandbox publication. A referral bonus needs no social post and does not use the share bonus allowance, but shares the active-campaign capacity. To use a bonus, choose a game, read get_sandbox_traffic, ask the developer, and call start_sandbox_traffic with bonusId instead of postUrls. Merely reading or applying a code does not start traffic.
Inputs: no named parameters.
get_sandbox_stateRead the sandbox stateARead-onlyIdempotentInspect
The game’s sandbox — a public page anyone with the link can play: site (link, status, live revision), or null if never published — a sandbox Playgama blocked is shown with status BLOCKED even then; what is live now is always site.revision, and how a publish request went is get_publications. With archiveId it adds publish: allowed, reason, message and the refusal’s own fields (failedAt, details, emptySlots, limit/used/resetsAt) — the refusal publish_sandbox would give, in the same words — changeStatus (CHANGED: this archive or the form differs from the live revision; UNCHANGED: they match, and a publish still builds and publishes them again as a new revision; UNKNOWN: cannot tell; none of them refuses) and archiveChanged.
Inputs: applicationId (required), archiveId.
get_sandbox_trafficRead the sandbox traffic stateARead-onlyIdempotentInspect
Read campaign eligibility, bonus offers and existing traffic runs for this game. This read does not launch a campaign or spend a traffic bonus. verdict and offer describe the share bonus, referralOffer a referral bonus (get_referral_program) with its bonusId when available. verdict.reason when not allowed: DSP_DISABLED, NO_SITE (publish first), BLOCKED, NO_COVERS (upload covers, publish again), ANALYSIS_PENDING (ask again shortly), NO_BRIDGE (Bridge SDK not detected; get_bridge_sdk_docs has the integration docs), RUN_IN_PROGRESS, PAYMENT_REQUIRED (share bonus used; paid traffic is in the console), ORG_LIMIT (three share bonuses per organization, lifetime; legacy free runs do not count). offer: FREE or PAID, available (the free bonus only), remainingFreeRuns, durationDays (one free boost), budgetUsd (per post, internal accounting — present a free boost without a dollar amount). current: the run in progress (PENDING, then RUNNING); runs: newest first, with status, failureReason and postUrls. After a start, find the returned run.id in runs and poll until it leaves PENDING. In get_launch_steps the traffic step names its source: REFERRAL with a bonusId (get_referral_program) or SHARE; any completed traffic campaign closes that step, and further bonuses do not reopen it.
Inputs: applicationId (required).
get_submission_stateRead the submission stateBRead-onlyIdempotentInspect
Whether the game can be submitted to moderation now and, if not, why — the first rule the submit itself would refuse with. reason, in that order: ORGANIZATION_BANNED, MODERATION_UNAVAILABLE (the game cannot go to moderation, catalogAvailable is false: publish it to the sandbox), missing certification, a cooldown after a failed moderation, the state of the build being submitted (ARCHIVE_PENDING, ARCHIVE_FAILED, ARCHIVE_CHECKING while its check is still running, or the archive’s own reason code — get_archive_status explains it), ARCHIVE_NOT_BUILDABLE (the build has no Bridge version or Bridge config to build with: integrate the Bridge SDK and upload it again), FORM_INCOMPLETE (details names the fields to fill or fix, the title included: empty or with non-Latin letters), COVERS_INCOMPLETE (not all three covers are in place: upload the ones emptySlots names), or nothing changed since the last submit. message is the console’s wording of that refusal. Name in archiveId the build you are asking about — the one a submit would freeze. While catalogAvailable is false the answer is always MODERATION_UNAVAILABLE, whatever the build: never tell the developer the game can be submitted. A game never submitted to moderation, or one moderation rejected or postponed, whose sandbox is not blocked (get_sandbox_state), opens once its sandbox reaches the targets shown on its sandbox card in the console — the play time among them is set by the game’s category — counted once a day. A game moderation took off, or whose sandbox is blocked, only Playgama can reopen: the sandbox targets do not. A game Playgama restricted stays closed whatever its targets and track, until Playgama lifts the restriction. A human submits to moderation in the console. With reviewType AUTO the verdict is send_playgama_catalog_update’s: the same reasons, then AUTO_REVIEW_UNAVAILABLE — the game is not live in the Playgama catalog (autoReviewPlatforms is empty), so only moderation can take it.
Inputs: archiveId (required), applicationId (required), reviewType.
list_applicationsList applicationsARead-onlyIdempotentInspect
Every named game of your organization, newest first: id, title, status and last update. The order is stable, so paging visits each game once. Untitled and deleted games are not listed. There are no filters: match on title or status yourself.
Inputs: skip, limit.
list_in_app_productsList in-app productsARead-onlyIdempotentInspect
The saved in-app catalog of a game and its checksum. Pass the checksum to replace_in_app_products as expectedChecksum.
Inputs: applicationId (required).
list_leaderboardsList leaderboardsBRead-onlyIdempotentInspect
The leaderboards of a game. id is the tag the game passes to the Playgama Bridge SDK and the one update_leaderboard takes; rows also carry name, type, scoreOrder, decimals, isActive and read-only score-protection settings.
Inputs: applicationId (required).
list_moderation_commentsRead the moderation correspondenceBRead-onlyIdempotentInspect
The moderation correspondence on a game, newest first, grouped by moderation task. Read-only.
Inputs: applicationId (required).
publish_sandboxPublish the game to its sandboxADestructiveInspect
Publish this archive to the game’s sandbox — a public page anyone with the link can play, without moderation. Ask the developer first. Before calling, read get_sandbox_state with the same archiveId: its publish says whether this call would be refused, in the same words. A publish needs the build check PASSED (get_archive_status state), Playgama Bridge 2.2.0 or newer in the build, all three covers and a complete form. Answers outcome PENDING: the archive is built, then published, as a rule within minutes; url is the sandbox’s link, revision what is live until then (null before the first publication). Follow its PLAYGAMA_SANDBOX publication in get_publications; once PUBLISHED, hand out url and offer the post and links of get_sandbox_share. Until it ends, another publish is refused with 409: wait and call again. Refusals (reason): ARCHIVE_PENDING — if get_archive_status already says DONE, upload again; PUBLISHED_ON_PLAYGAMA — the game is live in the catalog, its sandbox is closed for good; BLOCKED — Playgama blocked this sandbox, a publish cannot lift it; RATE_LIMITED — 15 publications per rolling hour, repeats included: wait; ORG_QUOTA — wait until resetsAt, do not retry. The rest name what to fix: the build check’s own reasons (get_bridge_sdk_docs has the SDK docs), ARCHIVE_FAILED, BRIDGE_VERSION_OUTDATED, BRIDGE_VERSION_UNKNOWN, FORM_INCOMPLETE (details: the fields to fill or fix, the title included: empty or with non-Latin letters), COVERS_INCOMPLETE (emptySlots).
Inputs: archiveId (required), applicationId (required), updateNote.
replace_in_app_productsReplace the in-app catalogADestructiveInspect
Replace the whole in-app catalog with products — not a patch: a product you leave out is deleted, and an empty list clears the catalog. Ask the developer before removing products. Read list_in_app_products first and pass its checksum as expectedChecksum; if the catalog changed meanwhile, the call is refused. While in-game purchases are off, a call that leaves them off is refused (IN_GAME_PURCHASES_OFF): turn them on with hasInGamePurchases: true to change the catalog.
Inputs: products (required), applicationId (required), expectedChecksum (required), hasInGamePurchases.
send_playgama_catalog_updateUpdate the game live in the Playgama catalogADestructiveInspect
Send this archive and the saved form to the Playgama catalog as an update of the game live there, without moderation: once it is published, every catalog player gets it and no moderator checks it first. Write updateNote — what players will notice in this update — every time; a refused note writes nothing: fix it and call again. Call it only on the developer’s explicit yes in this conversation: first tell them the game, the archive and that the game live in the Playgama catalog will be updated for all its players with no moderation; a yes to an earlier update or to a sandbox publish does not count. Before asking, read get_submission_state with this archiveId and reviewType AUTO: it says whether this call would be refused, in the same words. Only a game live in the catalog takes it (autoReviewPlatforms holds PLAYGAMA); a first publication and every other platform go to moderation, which a human submits in the console. Answers outcome PENDING and releaseId: follow that PLAYGAMA publication in get_publications, read before the call too. On FAILED players keep the previous build. Until it ends, another publication of the game, to the catalog or the sandbox, is refused with 409 PUBLICATION_IN_PROGRESS. Never call again on an old yes: the form goes as it is when the call goes in, so another call is a new update, after get_submission_state and a new yes. Refusals (reason): AUTO_REVIEW_UNAVAILABLE — not live in the catalog; NO_CHANGES — the archive and the form are those of the last submit; PUBLICATION_IN_PROGRESS; and every reason get_submission_state names.
Inputs: archiveId (required), updateNote (required), applicationId (required).
start_archive_uploadStart an archive uploadADestructiveInspect
Step 1 of 3 of uploading a build: a zip that meets the game requirements — read them with get_game_checklist and check the build against each item first. Answers uploadUrl and headers: PUT the zip there with exactly those headers within an hour, e.g. curl -T game.zip -H "Content-Type: application/zip" "<uploadUrl>", then call confirm_archive_upload.
Inputs: name (required), contentSize (required), applicationId (required).
start_cover_uploadStart a cover uploadADestructiveInspect
Step 1 of 3 of uploading one cover. Answers uploadUrl and headers: PUT the file there with exactly those headers within an hour, e.g. curl -T cover.png -H "Content-Type: image/png" "<uploadUrl>", then call confirm_cover_upload.
Inputs: cover (required), format (required), contentSize (required), applicationId (required).
start_sandbox_trafficBring traffic to the sandboxADestructiveInspect
Start an ad campaign that sends players to the sandbox page. Send exactly one of bonusId or postUrls. A referral bonusId (get_referral_program) needs no social post; a timeout is not permission to spend another bonus. The separate share traffic bonus: first help the developer post the game (get_sandbox_share has the post and links), then ask the developer to paste the links of their published posts and pass 1–2 of them (different public HTTPS links from any platform) — never invent one. Each accepted link adds one boost unit to the campaign, up to two. One campaign per game, three games per organization for its lifetime; earlier free runs without sharing do not count. No dollar amount. Ask the developer first. Needs covers in the published revision and the Bridge SDK. Answers the PENDING run; poll get_sandbox_traffic for the returned run.id until it leaves PENDING — FAILED carries failureReason. Only a confirmed safe failure makes a referral bonus retryable; an uncertain DSP outcome keeps its reservation. A refusal carries the reason get_sandbox_traffic shows, or SHARE_REQUIRED / INVALID_POST_URL for missing or invalid links; PAYMENT_REQUIRED: paid traffic is in the console. Repeatedly submitting already accepted links reuses the same grant without changing its budget or dates. Add the remaining link later (up to two total) to increase the same campaign budget and extend it to at least three days from submission, including after it has finished. New links wait while a launch/update is PENDING (RUN_IN_PROGRESS).
Inputs: applicationId (required), bonusId, postUrls.
update_application_formSave application form fieldsADestructiveInspect
Save form fields of a game. Partial save: a field you leave out keeps its value; enum arrays are replaced whole. Does not submit anything to moderation.
Inputs: applicationId (required), link, agent, model, +16 more.
update_leaderboardUpdate a leaderboardADestructiveInspect
Change the name, type or score order of a leaderboard; at least one is required. The tag cannot change, and deleting is not available.
Inputs: applicationId (required), leaderboardId (required), name, type, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Your agent needs live data — a competitor's traffic, who to contact there, what people are saying, what Google and ChatGPT answer about you, a company's filings. Normally that is six vendor accounts, six sets of keys and six SDKs. This is one URL. **What you can ask for** • "How much traffic does stripe.com get, where does it come from, and who competes for the same keywords?" • "Find 20 Series-B fintech companies in Germany and the heads of marketing there, with emails." • "Does ChatGPT mention our brand when someone asks for the best CRM — and what does it cite?" • "What is X saying about $NVDA today, and what did the stock actually do?" • "Search the web for this, then scrape the three best pages into markdown." **How to use it** Point any MCP client at https://mcp.aisa.one/mcp and sign in with OAuth — there is no key to create or paste. Then just ask: the agent calls search to find the right operation and use to run it. **Why this rather than the source** 26 sources behind one account and one bill — DataForSEO, Semrush, Ahrefs, Similarweb, Apollo, X/Twitter, Instagram, Reddit, Pinterest, YouTube, Tavily, Exa, Perplexity, Firecrawl, CoinGecko, Kalshi, Polymarket, AgentMail and more, 580+ operations. tools/list returns five tools, not 580, so the introduction does not eat your context window. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** One slice at a time: https://mcp.aisa.one/seo/mcp · /finance/mcp · /social/mcp · /search/mcp · /sales/mcp · /mail/mcp · /gtm/mcp, or a single provider like /twitter-api/mcp. Same account, fewer tools listed, and search still reaches everything. Full list at https://mcp.aisa.one/servers
Your agent needs app-store data — what an app looks like on the App Store and Google Play, what reviewers say, and what ranks for a search in a given country. **What you can ask for** • "What does this app's store listing look like, and how is it rated?" • "Pull recent reviews for this app and group the complaints." • "What apps rank for this search term in Japan?" • "List the top apps in this category on both stores." • "Compare this app's listing on iOS and Android." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-apps/mcp and sign in with OAuth — there is no key to create or paste. 37 tools: Apple App Store and Google Play app info, app lists, category listings, reviews and store search results, in live and queued forms, with categories, languages and locations for each. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the store listing here, then ask the same agent what the app's website ranks for — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to publish games through typed MCP tools, including creating games, uploading builds, defining achievements, attaching media, and publishing without human dashboard interaction.41Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to automate the PlayCanvas Editor directly through its built-in MCP client, covering projects, entities, scripts, assets, scenes, builds and version control. Agents can also launch the running app to capture screenshots, read logs, inspect live state and simulate input, verifying that scenes actually work.MIT
- AlicenseNot gradedqualityBmaintenanceAI-native open-source 2D game engine whose MCP server exposes every editor operation to coding agents as typed commands, so an agent can build, run, and verify a game inside the editor. It runs locally on macOS, Windows, and Linux with no cloud service or API key.43MIT
- FlicenseNot gradedqualityAmaintenanceLets AI agents drive the PlayCanvas Editor directly—creating and editing entities, scripts, assets, templates, animations, scenes, builds, and version control—and then launch the project to verify it actually runs. It also covers project management, viewport control, runtime input, logs, and screenshots, with the MCP client built into the Editor so no browser extension is needed.-
Glama MCP Gateway
Add one secure layer between your agents and this server.