Skip to content

MCP server

FRVR Developers has a hosted Model Context Protocol (MCP) server. Connect your AI assistant to it and manage your games through conversation, with the same permissions you have in FRVR Developers.

https://developers.frvr.com/mcp
AreaWhat the assistant can do
Games & settingsFind your studios and games. Update descriptions, categories and ad settings.
Builds & QAInspect versions and QA results. Upload new builds and get a QA link.
Artwork & videoCheck asset requirements, upload files and generate the supported variants.
In-app purchasesList, create, update and delete products in your IAP catalog.

Publishing a game to a channel is not available through MCP; do that in FRVR Developers.

  1. In your assistant’s MCP settings, add a remote server named FRVR Developers with the URL above. The client needs to support Streamable HTTP and OAuth.
  2. Connect, sign in with your FRVR Developers account and approve access. Your assistant handles authentication; there is no API key to create or paste.
  3. Try asking: “Find my games and list their latest versions.”
codex mcp add frvr-developers --url 'https://developers.frvr.com/mcp'
codex mcp login frvr-developers
claude mcp add --transport http --scope user frvr-developers 'https://developers.frvr.com/mcp'
claude mcp login frvr-developers

Run the commands with the CLI installed and complete sign-in in your browser.

Every call is checked against your account: you only reach studios you are a member of, and their games.

ToolArgumentsResult
list_studiosNoneThe studios you are a member of
list_gamesstudioIdAll games of that studio
get_game_detailsgameIdThe game’s identity and editable metadata
update_game_detailsgameId, dataThe saved details, after applying only the fields you sent
list_game_versionsgameIdAll versions, including archived ones, newest first
create_game_version_upload_urlgameIdTemporary upload URL, upload key, PUT headers, size limit
finalize_game_versiongameId, version, uploadKey, optional notesThe created version, a QA link and QA readiness
list_game_asset_typesOptional categoryAsset types, file requirements and how variants derive from each other
list_game_assetsgameIdCurrent assets and their URLs
create_game_asset_upload_urlgameId, assetType, contentTypeTemporary upload URL, upload key, PUT headers, size limit
finalize_game_assetgameId, assetType, uploadKeyThe uploaded asset and every generated variant
list_game_iap_productsgameIdAll IAP products of the game
create_game_iap_productgameId, sku, name, price, optional type, description, currencyThe created product
update_game_iap_productgameId, productId, dataThe saved product, after applying only the fields you sent
delete_game_iap_productgameId, productIdConfirmation that the product was permanently deleted

Prices are integer USD cents.

  1. Call get_game_details with a game id from list_games to read the current values.

  2. Call update_game_details with a data object holding only the fields to change:

    {
      "gameId": "GXJS9CY",
      "data": {
        "descriptionShort": "Slide and merge blocks to reach 2048!",
        "adsBanner": false
      }
    }

Editable fields are description, descriptionShort, tagline, orientation, category, engine, flexibleAspectRatio, adsInterstitial, adsRewarded, adsBanner and rewardedAdFailPopup. Fields you leave out keep their value. The game name is read-only, and saving details does not publish or rebuild anything.

Uploads take three steps, the same for builds and assets:

  1. Ask for an upload URL: create_game_version_upload_url or create_game_asset_upload_url.
  2. PUT the raw file bytes to the returned uploadUrl with the returned headers. A build is a ZIP with index.html at its root.
  3. Finish with finalize_game_version or finalize_game_asset. A finished build returns a QA link; a finished asset returns its generated variants.

If a finalize call times out, check list_game_versions or list_game_assets before trying again.