
iDos Games
Configure cross-platform and web3 games on iDos Games: live config, tokens, NFTs, AI assets, builds.
Connect it
Settings → Connectors → Add custom connector
URL: https://site.idosgames.com/api/v2/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://site.idosgames.com/api/v2/mcp{
"mcpServers": {
"platform": {
"url": "https://site.idosgames.com/api/v2/mcp"
}
}
}claude mcp add --transport http platform https://site.idosgames.com/api/v2/mcp{
"servers": {
"platform": {
"type": "http",
"url": "https://site.idosgames.com/api/v2/mcp"
}
}
}144 tools, verified live
list_my_titlesread-onlyList the games (Titles) this connection may work with: TitleID, name, publication status and the permissions granted on each — call it first when the user names a game or says "my game", then pass its TitleID as title_id to the other tools. A game's sandbox copy is a separate Title (DevTitleID) with its own permissions (DevAccess); an empty Access means the live game itself is not granted. Filter
get_image_dataread-onlyGET ONLY the 'ImageData' field of TitlePublicConfigurationModel. Dictionary<string,string> of arbitrary named image asset URLs/paths for the Title — splash screens, banners, icons, loading screens, marketing art. Key is a project-defined slug (e.g. "main_banner", "login_bg"), value is a URL or storage path. For per-currency icons use Currency.VirtualCurrencies[].AssetPaths; for per-item icons use
save_image_datacan modifyPARTIAL SAVE: writes ONLY the 'ImageData' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Dictionary<string,string> of arbitrary named image asset URLs/paths for the Title — splash screens, banners, icons, loading screens, marketing art. Key is a project-defined slug (e.g. "main_banner", "login_bg"), value is a URL or storage path. For per-currency icons use Currency
get_asset_bundleread-onlyGET ONLY the 'AssetBundle' field of TitlePublicConfigurationModel. Dictionary<string,string> of named bundle/manifest URLs (Unity AssetBundles, Addressables manifests, etc.). Key is a logical bundle slug, value is its CDN URL. Use this for binary game content; for images alone use ImageData.
save_asset_bundlecan modifyPARTIAL SAVE: writes ONLY the 'AssetBundle' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Dictionary<string,string> of named bundle/manifest URLs (Unity AssetBundles, Addressables manifests, etc.). Key is a logical bundle slug, value is its CDN URL. Use this for binary game content; for images alone use ImageData.
get_title_custom_dataread-onlyGET ONLY the 'TitleCustomData' field of TitlePublicConfigurationModel. SCHEMA + limits for the title-wide key-value store (feature flags, project-wide globals, event state, balancing knobs that don't fit any typed definition below). This section holds ONLY the key schema — the VALUES live in the TitleCustomData store, one document per title, managed with the dedicated title-data tools (get_title_d
save_title_custom_datacan modifyPARTIAL SAVE: writes ONLY the 'TitleCustomData' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. SCHEMA + limits for the title-wide key-value store (feature flags, project-wide globals, event state, balancing knobs that don't fit any typed definition below). This section holds ONLY the key schema — the VALUES live in the TitleCustomData store, one document per title,
get_cloud_coderead-onlyGET ONLY the 'CloudCode' field of TitlePublicConfigurationModel. Server-side scripting (CloudCode): the active JavaScript revision the title runs, plus execution policy — engine limits, rate limits, per-handler metadata, whether logs/stack traces are revealed to clients. Scripts are the ONLY way to write protected player data (UserCustomData ReadOnly/Internal buckets) and mutable title data (Title
save_cloud_codecan modifyPARTIAL SAVE: writes ONLY the 'CloudCode' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Server-side scripting (CloudCode): the active JavaScript revision the title runs, plus execution policy — engine limits, rate limits, per-handler metadata, whether logs/stack traces are revealed to clients. Scripts are the ONLY way to write protected player data (UserCustomData
get_currencyread-onlyGET ONLY the 'Currency' field of TitlePublicConfigurationModel. Currency catalogue: VirtualCurrencies (Gold, Gems, Energy, etc.) AND CryptoCurrencies (on-chain tokens). Defines IDs, economy (USD value, balance limits), recharge rules for energy-like currencies, conversion rules, and per-currency permissions. The CurrencyID of each entry is referenced by Item prices, Store SKUs, Reward payouts, Que
save_currencycan modifyPARTIAL SAVE: writes ONLY the 'Currency' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Currency catalogue: VirtualCurrencies (Gold, Gems, Energy, etc.) AND CryptoCurrencies (on-chain tokens). Defines IDs, economy (USD value, balance limits), recharge rules for energy-like currencies, conversion rules, and per-currency permissions. The CurrencyID of each entry is re
get_itemread-onlyGET ONLY the 'Item' field of TitlePublicConfigurationModel. Item catalogue — every consumable, equipment piece, resource, gear or generic inventory entity the player can own. Defines item IDs, names, categories, stack rules, rarities. Referenced by Store SKUs (as contents), Lootbox loot tables, Quest rewards, Craft recipes, and Reward payouts. For premium-tier bundles use Premium; for character en
save_itemcan modifyPARTIAL SAVE: writes ONLY the 'Item' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Item catalogue — every consumable, equipment piece, resource, gear or generic inventory entity the player can own. Defines item IDs, names, categories, stack rules, rarities. Referenced by Store SKUs (as contents), Lootbox loot tables, Quest rewards, Craft recipes, and Reward payouts
get_premiumread-onlyGET ONLY the 'Premium' field of TitlePublicConfigurationModel. Premium offerings catalogue — paid subscriptions, premium passes, real-money bundle skus, supporter tiers. Distinct from Store (regular in-game shop with virtual-currency prices) and from DealOffer (limited-time promotional offers). Use this specifically for monetization tiers / IAP that grant ongoing benefits.
save_premiumcan modifyPARTIAL SAVE: writes ONLY the 'Premium' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Premium offerings catalogue — paid subscriptions, premium passes, real-money bundle skus, supporter tiers. Distinct from Store (regular in-game shop with virtual-currency prices) and from DealOffer (limited-time promotional offers). Use this specifically for monetization tiers / I
get_rewardread-onlyGET ONLY the 'Reward' field of TitlePublicConfigurationModel. Reward templates — reusable bundles of currency + items + buffs that can be granted to a player. Referenced by Quest, TimedEvent, CoopEvent, Season, DailyLogin, Referral, etc. Define a reward once here, then reference it everywhere instead of inlining payouts.
save_rewardcan modifyPARTIAL SAVE: writes ONLY the 'Reward' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Reward templates — reusable bundles of currency + items + buffs that can be granted to a player. Referenced by Quest, TimedEvent, CoopEvent, Season, DailyLogin, Referral, etc. Define a reward once here, then reference it everywhere instead of inlining payouts.
get_user_custom_dataread-onlyGET ONLY the 'UserCustomData' field of TitlePublicConfigurationModel. Schema for per-player custom data fields — name, type, default value, visibility, whether the client can write it. This is the SCHEMA only; actual per-user values live on the User document. Use this to declare new player-specific stats, flags, or progress counters.
save_user_custom_datacan modifyPARTIAL SAVE: writes ONLY the 'UserCustomData' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Schema for per-player custom data fields — name, type, default value, visibility, whether the client can write it. This is the SCHEMA only; actual per-user values live on the User document. Use this to declare new player-specific stats, flags, or progress counters.
get_usageread-onlyGET ONLY the 'Usage' field of TitlePublicConfigurationModel. Retention policy for the player's activity history (Usage). The engine keeps a rolling window of per-day records and folds everything older into monthly totals, then months of finished years into yearly totals — otherwise the per-day map grows forever inside the hottest document on the platform. WARNING: the fold is IRREVERSIBLE, per-day
save_usagecan modifyPARTIAL SAVE: writes ONLY the 'Usage' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Retention policy for the player's activity history (Usage). The engine keeps a rolling window of per-day records and folds everything older into monthly totals, then months of finished years into yearly totals — otherwise the per-day map grows forever inside the hottest document on
get_timed_eventread-onlyGET ONLY the 'TimedEvent' field of TitlePublicConfigurationModel. Solo time-limited events — daily challenges, weekly missions, holiday events, login streaks. Defines event IDs, schedules (start/end/recurrence), objectives, progress tracking, milestone rewards. For multi-player team events use CoopEvent; for long-form battle-pass-style progression use Season.
save_timed_eventcan modifyPARTIAL SAVE: writes ONLY the 'TimedEvent' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Solo time-limited events — daily challenges, weekly missions, holiday events, login streaks. Defines event IDs, schedules (start/end/recurrence), objectives, progress tracking, milestone rewards. For multi-player team events use CoopEvent; for long-form battle-pass-style progre
get_coop_eventread-onlyGET ONLY the 'CoopEvent' field of TitlePublicConfigurationModel. Cooperative multi-player events — guild raids, server-wide goals, leaderboard tournaments where players contribute together. Distinct from TimedEvent (solo) and Leaderboard (pure ranking). Defines participation rules, shared progress, contribution tracking, and tiered rewards based on collective performance.
save_coop_eventcan modifyPARTIAL SAVE: writes ONLY the 'CoopEvent' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Cooperative multi-player events — guild raids, server-wide goals, leaderboard tournaments where players contribute together. Distinct from TimedEvent (solo) and Leaderboard (pure ranking). Defines participation rules, shared progress, contribution tracking, and tiered rewards ba
get_leaderboardread-onlyGET ONLY the 'Leaderboard' field of TitlePublicConfigurationModel. Leaderboard definitions — name, ranking metric (score type), reset cadence (daily/weekly/seasonal/perpetual), tier-based rewards, eligibility rules. Use for pure player-vs-player ranking. For collaborative team goals use CoopEvent.
save_leaderboardcan modifyPARTIAL SAVE: writes ONLY the 'Leaderboard' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Leaderboard definitions — name, ranking metric (score type), reset cadence (daily/weekly/seasonal/perpetual), tier-based rewards, eligibility rules. Use for pure player-vs-player ranking. For collaborative team goals use CoopEvent.
get_seasonread-onlyGET ONLY the 'Season' field of TitlePublicConfigurationModel. Long-form seasonal progression — battle passes, chapters, ladders. Defines a season's start/end window, XP/progress curve, tier rewards (free + premium tracks), and the Premium pass that unlocks paid rewards. For short events use TimedEvent.
save_seasoncan modifyPARTIAL SAVE: writes ONLY the 'Season' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Long-form seasonal progression — battle passes, chapters, ladders. Defines a season's start/end window, XP/progress curve, tier rewards (free + premium tracks), and the Premium pass that unlocks paid rewards. For short events use TimedEvent.
get_game_loopread-onlyGET ONLY the 'GameLoop' field of TitlePublicConfigurationModel. Core gameplay loop configuration — match settings, level pacing, difficulty curves, energy/cooldown gates, retry/continue economy. Use for tuning the moment-to-moment gameplay; not for content (use Item, Character, Collection) and not for meta-progression (use Season).
save_game_loopcan modifyPARTIAL SAVE: writes ONLY the 'GameLoop' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Core gameplay loop configuration — match settings, level pacing, difficulty curves, energy/cooldown gates, retry/continue economy. Use for tuning the moment-to-moment gameplay; not for content (use Item, Character, Collection) and not for meta-progression (use Season).
get_characterread-onlyGET ONLY the 'Character' field of TitlePublicConfigurationModel. Character/hero catalogue — playable units, NPCs, summons. Defines stats, abilities, evolution/level-up paths, art/asset references. Distinct from Item (generic inventory) — characters typically have progression and abilities. Skins (alternative looks) live per character in Skins.Definitions, and each skin IS a non-stackable, non-expi
save_charactercan modifyPARTIAL SAVE: writes ONLY the 'Character' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Character/hero catalogue — playable units, NPCs, summons. Defines stats, abilities, evolution/level-up paths, art/asset references. Distinct from Item (generic inventory) — characters typically have progression and abilities. Skins (alternative looks) live per character in Skins
get_matchread-onlyGET ONLY the 'Match' field of TitlePublicConfigurationModel. PvP / match system configuration, grouped by battle mode under InstantBattle. Holds the instant-battle rule catalogue (keyed by RuleID) plus title-wide defaults. Each rule defines wager economy (prize-pool burn) and battle settings: a combat-role → StatID mapping (which Character stat drives HP/Damage/Armor/AttackSpeed/CritChance/CritDam
save_matchcan modifyPARTIAL SAVE: writes ONLY the 'Match' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. PvP / match system configuration, grouped by battle mode under InstantBattle. Holds the instant-battle rule catalogue (keyed by RuleID) plus title-wide defaults. Each rule defines wager economy (prize-pool burn) and battle settings: a combat-role → StatID mapping (which Character st
get_collectionread-onlyGET ONLY the 'Collection' field of TitlePublicConfigurationModel. Collection / album / codex definitions — sets of items, cards, characters or achievements players collect. Defines what counts as the collection, completion rewards, and tier/rarity grouping. Use for compendium-style meta content.
save_collectioncan modifyPARTIAL SAVE: writes ONLY the 'Collection' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Collection / album / codex definitions — sets of items, cards, characters or achievements players collect. Defines what counts as the collection, completion rewards, and tier/rarity grouping. Use for compendium-style meta content.
get_craftread-onlyGET ONLY the 'Craft' field of TitlePublicConfigurationModel. Crafting / recipe system — input resources, output item, success rate, time cost, station/skill prerequisites. Item IDs in inputs/outputs reference the Item catalogue; currency costs reference Currency.
save_craftcan modifyPARTIAL SAVE: writes ONLY the 'Craft' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Crafting / recipe system — input resources, output item, success rate, time cost, station/skill prerequisites. Item IDs in inputs/outputs reference the Item catalogue; currency costs reference Currency.
get_lootboxread-onlyGET ONLY the 'Lootbox' field of TitlePublicConfigurationModel. Lootbox / gacha definitions — loot tables with weighted entries, pity systems, guaranteed rares, currency to open. Each entry references Item or Currency IDs. For straight (non-random) reward bundles use Reward.
save_lootboxcan modifyPARTIAL SAVE: writes ONLY the 'Lootbox' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Lootbox / gacha definitions — loot tables with weighted entries, pity systems, guaranteed rares, currency to open. Each entry references Item or Currency IDs. For straight (non-random) reward bundles use Reward.
get_storeread-onlyGET ONLY the 'Store' field of TitlePublicConfigurationModel. In-game shop, built as a tree: Stores -> Layout.Sections -> Slots, plus a flat StoreOffers catalogue. A SLOT is the only address a product can be bought through, and it decides what stands in it: Rotation.Mode is Fixed (a pinned product - an ordinary shelf), Title (everyone sees the same roll) or Player (a personal roll), with a weighted
save_storecan modifyPARTIAL SAVE: writes ONLY the 'Store' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. In-game shop, built as a tree: Stores -> Layout.Sections -> Slots, plus a flat StoreOffers catalogue. A SLOT is the only address a product can be bought through, and it decides what stands in it: Rotation.Mode is Fixed (a pinned product - an ordinary shelf), Title (everyone sees the
get_banread-onlyGET ONLY the 'Ban' field of TitlePublicConfigurationModel. Ban levels and the level ban gates apply to a player. The publisher defines any number of named levels (e.g. "low"/"medium"/"hard") — each with capability checkboxes (BanCapability: block withdrawals, deposits, leaderboards, trading, PvP, chat, social, coop, referral, push, community marketing, crypto convert, purchases) plus an optional B
save_bancan modifyPARTIAL SAVE: writes ONLY the 'Ban' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Ban levels and the level ban gates apply to a player. The publisher defines any number of named levels (e.g. "low"/"medium"/"hard") — each with capability checkboxes (BanCapability: block withdrawals, deposits, leaderboards, trading, PvP, chat, social, coop, referral, push, community
get_purchaseread-onlyGET ONLY the 'Purchase' field of TitlePublicConfigurationModel. Real-money in-app purchases (IAP) for Google Play and the Apple App Store. Product catalogue with per-store SKUs (StoreProductIDs), what each purchase grants (Rewards), subscription products that activate a Premium entitlement, audience gates and purchase limits, plus per-store receipt-verification settings. Distinct from Store (in-ga
save_purchasecan modifyPARTIAL SAVE: writes ONLY the 'Purchase' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Real-money in-app purchases (IAP) for Google Play and the Apple App Store. Product catalogue with per-store SKUs (StoreProductIDs), what each purchase grants (Rewards), subscription products that activate a Premium entitlement, audience gates and purchase limits, plus per-store r
get_deal_offerread-onlyGET ONLY the 'DealOffer' field of TitlePublicConfigurationModel. Limited-time offers WITH PROGRESSION — starter packs, comeback bundles, aquarium-style chains, pick-one-of-N. Two axes: a SLOT is a UI position that cycles through its own ordered Queue of offers (its Availability.Schedule decides how: Chained advances per player, Scheduled/Cyclic/AlwaysOn follow the wall clock, Triggered fires on an
save_deal_offercan modifyPARTIAL SAVE: writes ONLY the 'DealOffer' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Limited-time offers WITH PROGRESSION — starter packs, comeback bundles, aquarium-style chains, pick-one-of-N. Two axes: a SLOT is a UI position that cycles through its own ordered Queue of offers (its Availability.Schedule decides how: Chained advances per player, Scheduled/Cycl
get_marketplaceread-onlyGET ONLY the 'Marketplace' field of TitlePublicConfigurationModel. Player-to-player marketplace (v2) — fixed-price listings (price = ResourceBundle), auctions (single-axis bids), buy orders (escrowed payment), and direct trades/gifts. Configures the audience gate, open-window schedule, price composition policy (reusing the same EntryResourceRule whitelist as Match), commission policy (percent/min,
save_marketplacecan modifyPARTIAL SAVE: writes ONLY the 'Marketplace' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Player-to-player marketplace (v2) — fixed-price listings (price = ResourceBundle), auctions (single-axis bids), buy orders (escrowed payment), and direct trades/gifts. Configures the audience gate, open-window schedule, price composition policy (reusing the same EntryResourceR
get_questread-onlyGET ONLY the 'Quest' field of TitlePublicConfigurationModel. Quest / mission / objective definitions — single tasks the player completes for a reward. Includes trigger conditions, progress counters, completion criteria, reward references (use Reward). For grouped quest chains use Season or TimedEvent.
save_questcan modifyPARTIAL SAVE: writes ONLY the 'Quest' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Quest / mission / objective definitions — single tasks the player completes for a reward. Includes trigger conditions, progress counters, completion criteria, reward references (use Reward). For grouped quest chains use Season or TimedEvent.
get_tutorialread-onlyGET ONLY the 'Tutorial' field of TitlePublicConfigurationModel. Tutorial / onboarding definitions — flows (ordered scenarios) built from steps that teach the player a mechanic. A step completes either by client acknowledgement or by a real game event (the same TriggerSource vocabulary as Quest), so "make a roll", "buy something", "open a chest" need no client-side bookkeeping. A step may also PRED
save_tutorialcan modifyPARTIAL SAVE: writes ONLY the 'Tutorial' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Tutorial / onboarding definitions — flows (ordered scenarios) built from steps that teach the player a mechanic. A step completes either by client acknowledgement or by a real game event (the same TriggerSource vocabulary as Quest), so "make a roll", "buy something", "open a ches
get_localizationread-onlyGET ONLY the 'Localization' field of TitlePublicConfigurationModel. Localization SETTINGS — which locales the title offers, which one is the default (and therefore the fallback), what to render for a missing key, and the store limits. The translation TABLES are deliberately NOT here: they live in the separate TitleLocalization collection (one document per title+locale) and are delivered one file p
save_localizationcan modifyPARTIAL SAVE: writes ONLY the 'Localization' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Localization SETTINGS — which locales the title offers, which one is the default (and therefore the fallback), what to render for a missing key, and the store limits. The translation TABLES are deliberately NOT here: they live in the separate TitleLocalization collection (one
get_referralread-onlyGET ONLY the 'Referral' field of TitlePublicConfigurationModel. Referral / invite system configuration — invite codes, attribution rules, milestones (e.g. invite N friends → reward), per-side rewards (inviter + invitee). Reward bundles reference Reward.
save_referralcan modifyPARTIAL SAVE: writes ONLY the 'Referral' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Referral / invite system configuration — invite codes, attribution rules, milestones (e.g. invite N friends → reward), per-side rewards (inviter + invitee). Reward bundles reference Reward.
get_blockchainread-onlyGET ONLY the 'Blockchain' field of TitlePublicConfigurationModel. On-chain integration config — chain selectors, smart contract addresses, RPC overrides, gas policy, supported networks for Crypto currencies. Built largely from Currency.CryptoCurrencies[].Networks; this is the title-level companion config.
save_blockchaincan modifyPARTIAL SAVE: writes ONLY the 'Blockchain' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. On-chain integration config — chain selectors, smart contract addresses, RPC overrides, gas policy, supported networks for Crypto currencies. Built largely from Currency.CryptoCurrencies[].Networks; this is the title-level companion config.
get_timed_boostread-onlyGET ONLY the 'TimedBoost' field of TitlePublicConfigurationModel. Buff / boost definitions with a time component — temporary XP multipliers, drop-rate boosts, energy-cap boosts. Granted via Reward, Store, DealOffer, or events. Define the buff's effect and duration here; granting is done elsewhere.
save_timed_boostcan modifyPARTIAL SAVE: writes ONLY the 'TimedBoost' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Buff / boost definitions with a time component — temporary XP multipliers, drop-rate boosts, energy-cap boosts. Granted via Reward, Store, DealOffer, or events. Define the buff's effect and duration here; granting is done elsewhere.
get_experimentread-onlyGET ONLY the 'Experiment' field of TitlePublicConfigurationModel. A/B experiments — variant definitions with weighted allocation, audience gate (SegmentGate) and schedule (ScheduleSpec). Players are assigned to a variant by a stable hash; variant Params carry inline config overrides. Used to test config changes against measurable cohorts.
save_experimentcan modifyPARTIAL SAVE: writes ONLY the 'Experiment' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. A/B experiments — variant definitions with weighted allocation, audience gate (SegmentGate) and schedule (ScheduleSpec). Players are assigned to a variant by a stable hash; variant Params carry inline config overrides. Used to test config changes against measurable cohorts.
get_advertisingread-onlyGET ONLY the 'Advertising' field of TitlePublicConfigurationModel. Advertising — logical ad Placements (rewarded video, interstitial, banner, app-open), the mediation Providers that serve them (AppLovin MAX, LevelPlay, ...) with per-platform app IDs and ad unit IDs, per-format settings, frequency capping, premium ad-removal perks, GDPR/ATT consent policy, rewarded-video server-side verification (S
save_advertisingcan modifyPARTIAL SAVE: writes ONLY the 'Advertising' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Advertising — logical ad Placements (rewarded video, interstitial, banner, app-open), the mediation Providers that serve them (AppLovin MAX, LevelPlay, ...) with per-platform app IDs and ad unit IDs, per-format settings, frequency capping, premium ad-removal perks, GDPR/ATT co
get_authenticationread-onlyGET ONLY the 'Authentication' field of TitlePublicConfigurationModel. Authentication — which third-party sign-in methods the title offers and the public OAuth client IDs each platform build needs (currently Google: Web / Android / iOS / Desktop client IDs). Contains NO secrets: OAuth client IDs are public by protocol design, and none of the sign-in flows uses a client secret. Device / e-mail / Tel
save_authenticationcan modifyPARTIAL SAVE: writes ONLY the 'Authentication' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Authentication — which third-party sign-in methods the title offers and the public OAuth client IDs each platform build needs (currently Google: Web / Android / iOS / Desktop client IDs). Contains NO secrets: OAuth client IDs are public by protocol design, and none of the s
get_feature_trackingread-onlyGET ONLY the 'FeatureTracking' field of TitlePublicConfigurationModel. Feature tracking — which CONCRETE actions are recorded as their own line in the player's FeatureUsage, on top of the default per-module tracking. Entries look like "Character:EquipItems" (module name from the route + the module's action name). Purely an analytics setting: it makes those actions selectable as steps in custom fun
save_feature_trackingcan modifyPARTIAL SAVE: writes ONLY the 'FeatureTracking' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Feature tracking — which CONCRETE actions are recorded as their own line in the player's FeatureUsage, on top of the default per-module tracking. Entries look like "Character:EquipItems" (module name from the route + the module's action name). Purely an analytics setting:
get_attributionread-onlyGET ONLY the 'Attribution' field of TitlePublicConfigurationModel. Acquisition attribution — how the engine records WHERE a player came from. The signal (utm_source/medium/campaign/term/content, the ad network's click id, the referrer, the invite code) arrives with the login request and is stored as a chain of touch points on the player: the first touch is immutable, the last touch tracks win-back
save_attributioncan modifyPARTIAL SAVE: writes ONLY the 'Attribution' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Acquisition attribution — how the engine records WHERE a player came from. The signal (utm_source/medium/campaign/term/content, the ad network's click id, the referrer, the invite code) arrives with the login request and is stored as a chain of touch points on the player: the
get_chatread-onlyGET ONLY the 'Chat' field of TitlePublicConfigurationModel. Player chat - the catalog of persistent CHANNELS the title offers (world / announcement / group), plus direct-message settings, moderation rules and polling economics. A channel declares who SEES it (SegmentGate + ScheduleSpec) and who may WRITE to it (a second gate plus LimitSpec anti-spam: slow mode, daily cap); an announcement channel
save_chatcan modifyPARTIAL SAVE: writes ONLY the 'Chat' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Player chat - the catalog of persistent CHANNELS the title offers (world / announcement / group), plus direct-message settings, moderation rules and polling economics. A channel declares who SEES it (SegmentGate + ScheduleSpec) and who may WRITE to it (a second gate plus LimitSpec an
get_community_marketingread-onlyGET ONLY the 'CommunityMarketing' field of TitlePublicConfigurationModel. Community Marketing - the program that rewards community members for posting about the game on external social platforms (YouTube/TikTok/Instagram). A campaign declares WHO may take part (Participation + SegmentGate), WHEN it runs (ScheduleSpec), WHICH platforms count and at what weight, WHAT the post must contain (hashtags,
save_community_marketingcan modifyPARTIAL SAVE: writes ONLY the 'CommunityMarketing' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Community Marketing - the program that rewards community members for posting about the game on external social platforms (YouTube/TikTok/Instagram). A campaign declares WHO may take part (Participation + SegmentGate), WHEN it runs (ScheduleSpec), WHICH platforms count a
get_pushread-onlyGET ONLY the 'Push' field of TitlePublicConfigurationModel. Push notifications - the title's settings for messages delivered to a player who is NOT in the game right now (Web Push in the browser, FCM/APNs on mobile). IsEnabled is the master switch and defaults to DISABLED: notifications spend a real person's attention and require their browser permission, so a title opts in explicitly. MaxSendsPer
save_pushcan modifyPARTIAL SAVE: writes ONLY the 'Push' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Push notifications - the title's settings for messages delivered to a player who is NOT in the game right now (Web Push in the browser, FCM/APNs on mobile). IsEnabled is the master switch and defaults to DISABLED: notifications spend a real person's attention and require their browse
get_workshopread-onlyGET ONLY the 'Workshop' field of TitlePublicConfigurationModel. Workshop - the catalog of content made by PLAYERS (maps, levels, skins, models, any file the game defines) and by the publisher (official content), and the LICENSES to it. Nothing is transferred: acquiring grants a license to a digital copy, so one publication is acquired by many and the author keeps it (unlike Marketplace, which escr
save_workshopcan modifyPARTIAL SAVE: writes ONLY the 'Workshop' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Workshop - the catalog of content made by PLAYERS (maps, levels, skins, models, any file the game defines) and by the publisher (official content), and the LICENSES to it. Nothing is transferred: acquiring grants a license to a digital copy, so one publication is acquired by many
get_socialread-onlyGET ONLY the 'Social' field of TitlePublicConfigurationModel. In-game social layer - comments, following other players and reports, on top of the engine's shared social core (the same collections the platform's own social network uses, scoped to this title). Comments are OFF by default (CommentsEnabled): they are public text written by players, so turn them on only once you are ready to moderate t
save_socialcan modifyPARTIAL SAVE: writes ONLY the 'Social' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. In-game social layer - comments, following other players and reports, on top of the engine's shared social core (the same collections the platform's own social network uses, scoped to this title). Comments are OFF by default (CommentsEnabled): they are public text written by player
get_platform_bridgeread-onlyGET ONLY the 'PlatformBridge' field of TitlePublicConfigurationModel. Platform bridge - what the game takes from the player's idosgames.com account and what it lets players show on their public profile. Profile: Off / Default (unset: the platform name and avatar until the player renames themselves in the game) / Always (every platform login overwrites them). Friends: TitleOnly (unset) / TitleAndPl
save_platform_bridgecan modifyPARTIAL SAVE: writes ONLY the 'PlatformBridge' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Platform bridge - what the game takes from the player's idosgames.com account and what it lets players show on their public profile. Profile: Off / Default (unset: the platform name and avatar until the player renames themselves in the game) / Always (every platform login o
get_multiplayerread-onlyGET ONLY the 'Multiplayer' field of TitlePublicConfigurationModel. Realtime multiplayer (WebRTC peer-to-peer) - the engine is only the signaling server: it creates rooms, relays WebRTC offer/answer/ICE between room members and optionally relays lobby chat; game traffic then flows directly between players' browsers and never touches the server. The section is ABSENT by default, which means multipla
save_multiplayercan modifyPARTIAL SAVE: writes ONLY the 'Multiplayer' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Realtime multiplayer (WebRTC peer-to-peer) - the engine is only the signaling server: it creates rooms, relays WebRTC offer/answer/ICE between room members and optionally relays lobby chat; game traffic then flows directly between players' browsers and never touches the server
get_airead-onlyGET ONLY the 'AI' field of TitlePublicConfigurationModel. InApp AI generation features of the title - what a PLAYER can generate at runtime through the engine (text/NPC chat, images, video, speech, music, 3D). Enabled is the master switch; Features maps a stable FeatureKey (no '.' or '$') to one feature: its Modality, a Model = the id of a MODE (Text: an AI Coder mode such as "standard") or a TIER
save_aican modifyPARTIAL SAVE: writes ONLY the 'AI' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. InApp AI generation features of the title - what a PLAYER can generate at runtime through the engine (text/NPC chat, images, video, speech, music, 3D). Enabled is the master switch; Features maps a stable FeatureKey (no '.' or '$') to one feature: its Modality, a Model = the id of a MO
get_analyticsread-onlyGET ONLY the 'Analytics' field of TitlePublicConfigurationModel. Custom events - Firebase Analytics parity. The game sends its own events (logEvent(name, params, value)); the engine stores them per player per UTC day and the dashboard reports counts, unique players, value sums and breakdowns by platform, app version, OS, device, language, country, new/returning and acquisition source; A/B experime
save_analyticscan modifyPARTIAL SAVE: writes ONLY the 'Analytics' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Custom events - Firebase Analytics parity. The game sends its own events (logEvent(name, params, value)); the engine stores them per player per UTC day and the dashboard reports counts, unique players, value sums and breakdowns by platform, app version, OS, device, language, cou
get_data_collectionsread-onlyGET ONLY the 'DataCollections' field of TitlePublicConfigurationModel. Data collections - the creator's own data structures, a Firebase/Supabase-like store inside the platform for games, apps and sites. USE A READY PLATFORM MODULE FIRST (currencies, items, store, lootboxes, quests, leaderboards, chat, social, workshop, match, season, tutorial, localization, push, analytics); declare a collection o
save_data_collectionscan modifyPARTIAL SAVE: writes ONLY the 'DataCollections' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Data collections - the creator's own data structures, a Firebase/Supabase-like store inside the platform for games, apps and sites. USE A READY PLATFORM MODULE FIRST (currencies, items, store, lootboxes, quests, leaderboards, chat, social, workshop, match, season, tutorial
get_mailboxread-onlyGET ONLY the 'Mailbox' field of TitlePublicConfigurationModel. Mailbox - an in-game mailbox that holds VALUE the player claims (not notifications - those are Push). Enabled is the master switch, default OFF. Capacity (default 100) caps visible letters; on overflow the oldest letters WITHOUT unclaimed rewards are removed. RewardLetterDays (30) / PlainLetterDays (14) are letter lifetimes (an unclaim
save_mailboxcan modifyPARTIAL SAVE: writes ONLY the 'Mailbox' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Mailbox - an in-game mailbox that holds VALUE the player claims (not notifications - those are Push). Enabled is the master switch, default OFF. Capacity (default 100) caps visible letters; on overflow the oldest letters WITHOUT unclaimed rewards are removed. RewardLetterDays (30)
generate_imageGenerate an image (icon, sprite, art) for the title. The result has a CDN URL in Assets — reference that URL from the title config or code. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
generate_videoGenerate a video clip for the title. Duration is the main cost driver, and some models bill a minimum length even when the clip is shorter — estimate first. ASYNC: returns a job with an id and status — poll get_video for the result.
generate_audioGenerate speech (text-to-speech) for the title. Billed per character. The voice comes from the tier's model unless you pass one in params. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
generate_musicGenerate music (a loop or a short track) for the title. A different vendor path and a different price from generate_audio, which is speech. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
generate_three_dGenerate a 3D asset (mesh) for the title. ASYNC: returns a job with an id and status — poll get_three_d for the result.
get_videoread-onlyPoll a video job by id. While it runs the status says so; when it is done the CDN URL is in Assets.
get_three_dread-onlyPoll a 3D job by id. When it is done the model CDN URL is in Assets.
remix_videoRemix an existing video job with new instructions. Starts a new job — poll get_video. ASYNC: returns a job with an id and status — poll get_video for the result.
list_ai_tiersread-onlyList the quality/price tiers available on this publisher's plan for every kind of media, and — for each tier — the settings its model accepts: field keys, allowed values, defaults and what they do. That list is the reference for the `params` argument of the generate_* tools. Read-only and free.
estimate_media_costread-onlyEstimate what a generation will cost in credits before running it. Read-only and free. exact=true means computed from the model's price list; approximate=true means the vendor names the final sum itself (video and music) and the number is a best guess; both false means there is nothing to estimate from — and zero credits does NOT mean free.
get_generationread-onlyRead a generation by id: its status (queued | running | completed | failed), the CDN URLs in Assets or the text in OutputText when it is done, the error when it failed. Poll it for generations that returned queued/running. Read-only and free.
generate_textGenerate text via AI (copy, item descriptions, dialogue). Runs as a job: the call waits up to about two minutes and returns the generated text; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id. Credits are the publisher's; title_id is an optional label for the report.
get_title_dataread-onlyRead the TITLE's key-value data store — values shared by ALL players (event state, global counters, server-side thresholds, feature toggles). Returns two scopes: "Static" (authored configuration, written with save_title_data) and "Runtime" (live state that only CloudCode scripts write), each split into "Public" (readable by game clients) and "Private" (server/CloudCode only). Values are always str
save_title_datacan modifyWrite the authored (Static) part of the title's key-value data store. REPLACES the whole bucket: read it with get_title_data first and send it back extended, or omitted keys are deleted. The Runtime scope CANNOT be written here — mutable title state is owned by CloudCode scripts, so their counters are never overwritten behind their back. Register keys in the TitleCustomData config section (save_ti
get_localization_keysread-onlyList the title's localization KEYS with their text in the DEFAULT language, plus the configured locales. Call it before writing any user-visible string so you reuse an existing key instead of inventing a second one for the same label. Filter with "prefix" ("shop.", "quest."); long tables are truncated and say so. The client resolves text as t(x) = player's table -> fallback table -> x itself, whic
save_localization_keyscan modifyCreate or update localization keys in the title's DEFAULT language. PARTIAL: only the keys you send are written, the rest of the table is untouched — people translate the same table, and replacing it wholesale would erase their work. Write ONLY the default language: other locales are filled by translators or by the dashboard's machine translation, and a string that exists only in a target language
list_title_secretsread-onlyList the NAMES of the title's integration variables and secrets, plus the outbound-HTTP allow list. Secret VALUES are never returned by any tool — reference a secret inside a CloudCode script as {{secret:NAME}} in a server.HttpRequest call and the platform substitutes it server-side. Use this to discover which credentials a title already has before writing an integration.
publish_cloud_codecan modifyPublish server-side game logic (CloudCode) and make it live. This is the only way to run custom code on the server, and the only way to write protected data: the ReadOnly/Internal buckets of a player's UserCustomData and the Runtime scope of the title's data store. The script is plain JavaScript filling a global 'handlers' object, e.g. handlers.claimDailyBonus = function (args, context) { … }. Ins
list_kanban_projectsread-onlyList the publisher's task boards (projects) with their names and progress. Start here: every other kanban tool needs a project_id.
get_kanban_boardread-onlyRead a board: its columns and the cards in them. Cards come back COMPACT — key, title, priority, assignee, due date, labels and counters, without descriptions or checklists. Call get_kanban_card for the full text of one card.
get_kanban_cardread-onlyRead ONE card in full: description, checklist, links, watchers, estimate and which column it sits in. Address it either by card_id or by its human key like OPUS-451.
search_kanban_cardsread-onlyFind cards ACROSS all the publisher's boards by a substring of the title or by the task key. Two characters minimum; archived boards are excluded.
get_my_kanban_tasksread-onlyCards assigned to a person across all boards, soonest deadline first. Defaults to the publisher who owns this connection — pass assignee_id for a teammate.
get_kanban_commentsread-onlyRead the comment thread of a card, oldest first.
list_kanban_membersread-onlyWho can be assigned a card, watch it or be mentioned: the publisher and the teammates with kanban access. Returns ids and emails — use the id for set_kanban_assignee.
create_kanban_cardAdd a card to a column. The server assigns the human key (OPUS-451) — it is in the reply.
update_kanban_cardcan modifyChange a card's title, description, priority or deadline. Fields you leave out stay as they are — this is a patch, not a replacement.
move_kanban_cardMove a card to another column (or to another position in the same one). Moving it into a done column also completes the task and awards its XP; moving it back out clears the completion mark. The reply says which happened.
set_kanban_assigneeAssign a card to someone, or clear the assignee. The person is notified.
delete_kanban_cardcan modifyDelete a card. IRREVERSIBLE, and its task key is never reused — ask the publisher before calling this. To take a card off the board without losing it, move it instead.
add_kanban_commentPost a comment on a card. It appears under the publisher's own name, so write as the assistant, not as them. Mentioned people are notified.
create_kanban_projectCreate a board. It comes with a default set of columns, so you can add cards right away.
update_kanban_projectcan modifyRename a board, change its description/icon/colour, or archive it. Archiving hides it from search and from my-tasks without deleting anything.
delete_kanban_projectcan modifyDelete a whole board with every card, comment and attachment on it. IRREVERSIBLE and there is no undo — ask the publisher first, and prefer archiving via update_kanban_project(archived=true), which is reversible.
create_kanban_columnAdd a column to a board.
update_kanban_columncan modifyRename a column, recolour it, or mark it as the done column. Cards entering a done column count as completed and award XP.
delete_kanban_columncan modifyDelete a column TOGETHER WITH EVERY CARD IN IT. IRREVERSIBLE — ask the publisher first, and move the cards out with move_kanban_card if they should survive.
reorder_kanban_columnsSet the left-to-right order of the columns. Pass every column id of the board.
begin_build_uploadStart uploading a READY web build of the game (static files: index.html + assets — e.g. Vite dist/, Unity WebGL) to a Title. Returns build_id, a one-hour upload_url and asset_base. Build the game with asset_base as its base path (or a relative './'), zip the CONTENTS of the output folder so index.html is at the zip root, upload it with `curl -T build.zip "<upload_url>"` (a plain HTTP PUT of the fi
finish_build_uploadcan modifyFinish an upload started with begin_build_upload: unpacks the zip into a new version of the Title (it appears in the dashboard's version history) and waits up to ~100 s. Returns the version with a TestUrl to try it before players see it. deploy=true also puts it live for players on the Title's address and its idosgames.com page. If it is still unpacking when the call returns, poll get_build. Calli
get_buildread-onlyState of one version of the Title's game: status (Queued, Building, Staged = ready to deploy, Live, Failed), errors, test and live links. Use it to poll finish_build_upload.
list_buildsread-onlyRecent versions of the Title's game, newest first — uploaded ones and ones built by the AI Coder — with which one players get now.
list_modulesread-onlyList the composable iDos Games game modules in the catalog — the same registry the local @idosgames/mcp server serves. Each entry has id, name, type (template = a complete ready-to-run game to start FROM, e.g. voxelcraft; feature = a system to add on top, e.g. store, quests, leaderboard), engine, genre, a short summary, what it 'provides' (its features), tags, preview media, a live demo url, 'inBa
get_moduleread-onlyGet one module's source (files) plus install instructions: write each file under src/modules/{id}/, install its dependencies, and register it in src/modules.ts. The project needs the base first (get_host_scaffold). Large modules come in PAGES: the answer has nextCursor while files remain — call again with the same id and cursor=nextCursor until nextCursor is absent. Read-only; takes no title_id.
search_modulesread-onlyKeyword search across modules and skills. Matches a module on its id, name, type, engine, genre, summary, description, what it 'provides' and tags — so you can find a ready module by the feature you need (e.g. 'dice board', 'idle income', 'daily reward') rather than by name. Skills match on name and description. Returns the matching catalog entries. Read-only; takes no title_id.
list_skillsread-onlyList the SDK skills (name + description): instructions for coding against @idosgames/core services (currencies, store, quests, blockchain…), the module contract and composition, plus checklists such as idosgames-title-bootstrap (configuring a fresh Title so a game can run). Load one with get_skill before writing code against that part of the SDK. Read-only; takes no title_id.
get_skillread-onlyGet one SDK skill's full content (SKILL.md) and its reference files. Read-only; takes no title_id.
get_host_scaffoldread-onlyGet the base every NEW project starts from — the host shell with sign-in and the lobby (index.html, main.tsx, src/app.config.ts, the wallet files, an empty src/modules.ts, config; the lobby and sign-in come from @idosgames/app-shell). Write these files to the project root, install the versions from get_manifest, then add modules with get_module: the systems with inBase, the game(s) with the module
get_manifestread-onlyGet the @idosgames runtime npm packages and their exact versions (core, wallet, module-sdk, react, app-shell). Install these so the base and the modules resolve their imports. Read-only; takes no title_id.
Alternatives in Crypto & Web3
Compare →APApibaseB
MCP endpoint to APIbase catalog (https://apibase.pro/llms.txt). USDC: x402 Base, MPP Tempo.
AiFinPayB
Pay for any HTTP API in stablecoins on Polygon and Solana with one MCP call.
NWNsgoods Workbench MCPB
Read only x402 catalogue: payability verdicts, prices, drift, host status, signatures. No wallet.
SQSQDB
Query 130+ SQD Portal datasets across blockchains, including native Tron transactions and events.
PAPrivateDAO Agent ExchangeB
Solana Mainnet verification, intelligence, machine receipts, and agent logistics through MCP.
DODomaniB
Internet identity for AI agents: register or broker domains, email, DNS - pay by card or USDC.