Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

iDos Games

REMOTE · SITE.IDOSGAMES.COM

Configure cross-platform and web3 games on iDos Games: live config, tokens, NFTs, AI assets, builds.

75 Trust /100

Last scanned (19 minutes ago)

Scores higher than 68% of remote servers

Reachable. Last reached 17 Oct 2026.

Category Entertainment and Games

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 28178 tokens (~195/item across 144 items; 144 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
  • Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 145 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 14 Oct 26 74

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 17 Oct 2026 · Probed https://site.idosgames.com/api/v2/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=idosgames.com CN=WE1,O=Google Trust Services,C=US 29 Aug 2026 27 Nov 2026 ECDSA 256 ECDSA-SHA256 cb146673db3071fe1339b21e5b91d8b0
SANs: idosgames.com, *.idosgames.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of site.idosgames.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
idosgames.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="mcp", error="invalid_request", error_description="Sign in to iDos Games to call this tool", resource_metadata="https://site.idosgames.com/api/.well-known/oauth-protected-resource/api/v2/mcp"

Bearer realm="mcp", error="invalid_request", error_description="Sign in to iDos Games to call this tool", resource_metadata="https://site.idosgames.com/api/.well-known/oauth-protected-resource/api/v2/mcp"

Protected resource metadata

Document https://site.idosgames.com/api/.well-known/oauth-protected-resource/api/v2/mcp
Retrieved Yes
Resource https://site.idosgames.com/api/v2/mcp
Authorisation server https://site.idosgames.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://site.idosgames.com/api/v2/mcp Verified 200
http (plaintext) http://site.idosgames.com/api/v2/mcp HTTPS enforced 301 https://site.idosgames.com/api/v2/mcp
MCP tools · 144 exposed · ~27,418 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_manifest ~53

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_marketplace ~172

GET 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, burn or ledger sink, per-goods-catalog overrides), item tradability lists, and per-mechanic settings/limits. Distinct from Store (title-sold SKUs) and DealOffer (promotions): here players trade with each other. Everything offered is escrowed at creation; commission is taken at settlement.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_match ~164

GET 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/CritDamage/Dodge/AllMight), combat params (max rounds, block effect, crit/dodge clamps) and optional per-stat custom formulas. Stat/formula fields reference Character.Stats StatIDs; equipment bonuses (Item) key off the same StatIDs.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_module ~137

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

NameTypeReqDescription
cursorinteger–Index of the first file to return (from nextCursor). Default 0.
idstringyesModule id from list_modules, e.g. store or board-game.

No output schema declared.

No examples provided.

get_multiplayer ~238

GET 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 multiplayer is DISABLED: add it (SystemState.Enabled = true) to turn the Multiplayer module on. DefaultTopology: Mesh (everyone connects to everyone, 2-4 players) or Host (star: every player connects to the host, which runs the authoritative game simulation - required by host-authoritative games such as VoxelCraft). MaxPlayersPerRoom is a hard cap (default 8). MemberTimeoutMs is also how long a silent host keeps the host role before another member may take it over. IceServers are PUBLIC: list only STUN servers there; short-lived TURN credentials are issued by the engine to room members on create/join.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_my_kanban_tasks ~85

Cards assigned to a person across all boards, soonest deadline first. Defaults to the publisher who owns this connection — pass assignee_id for a teammate.

NameTypeReqDescription
assignee_idstring–Whose tasks (optional). Ids come from list_kanban_members.
include_doneboolean–Include cards already in a done column (default false).

No output schema declared.

No examples provided.

get_platform_bridge ~215

GET 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) / TitleAndPlatform (plus mutual follows on idosgames.com whose both sides play this game) / PlatformOnly (only those; in-game friend requests are refused) - applies to EVERY friends-based system: friends list and leaderboard, gifts, attack targets, friends-only Workshop items, recommendations. Notifications: which in-game notifications (Attack, Raid, FriendAdded, WorkshopSale) also reach the idosgames.com notification bell; empty = none. Guests never get platform data; the economy never crosses the bridge; turning the bridge off deletes nothing.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_premium ~97

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_purchase ~172

GET 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-game shop paid with virtual currency) and from Premium (which describes the entitlement itself, while this describes how it is sold in the stores). Contains NO secrets: the Google service-account JSON and the App Store Server API key are referenced by TitleSecrets entry name only; the Play licensing public key and Apple root certificates are public by nature and live here.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_push ~297

GET 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. MaxSendsPerUserPerDay caps how many a single player receives; MaxSendsPerTitlePerDay caps the title as a whole and is the ONLY ceiling on a broadcast that exists anywhere - the publisher API quota does not see sends at all, because they run in a queue worker rather than in a request pipeline. QuietHoursStart/End suppress sends during the night in the SUBSCRIPTION's locale (the window may cross midnight); waking a person at 3am is the fastest way to lose the browser permission permanently. Mobile holds only the NAMES of TitleSecrets entries for the publisher's Firebase service account and APNs .p8 key, never the credentials. VAPID keys are NOT here and never will be - they are platform-wide environment variables shared by both backends. Subscriptions themselves are not config either: they live in the shared PushEndpoints/PushBindings collections, one row per browser or device plus one row per topic it follows.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_quest ~81

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_referral ~76

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_reward ~93

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_season ~90

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_skill ~52

Get one SDK skill's full content (SKILL.md) and its reference files. Read-only; takes no title_id.

NameTypeReqDescription
namestringyesSkill name from list_skills, e.g. currency-system.

No output schema declared.

No examples provided.

get_social ~221

GET 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 them; CommentableTypes limits which objects accept comments (today only Workshop items). CommentMaxLength / CommentMaxLinks / CommentsPerDay, MaxFollowing / FollowsPerDay and ReportsPerDay are anti-spam ceilings; unset fields mean the platform defaults. Friends and the player's notification inbox (attacks, raids, new friend, Workshop sales and likes) need no configuration and are not here. Likes, favorites, follows, comments and reports themselves are NOT here - they are operational data in the shared Social* collections; reviewing reports and hiding comments are admin actions, not config.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_store ~246

GET 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 Pool and an optional per-window purchase cap. The refresh window is a ScheduleSpec on the slot. A product not placed in any slot cannot be bought at all. Price is always a PriceOptions dictionary and can be virtual currency, crypto, a store product (real money), an ad credit, or FREE - an unset Cost means free, and a free product must be limited on some axis. Pricing.CompareAt is a struck-through price for display only and never reaches the charge. Identity.Tags and Identity.CustomParams are badges and ribbons the server never interprets. Distinct from Premium (real-money tiered offers) and DealOffer (limited-time promotions with progression).

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_three_d ~88

Poll a 3D job by id. When it is done the model CDN URL is in Assets.

NameTypeReqDescription
three_d_idstringyesJob id returned by generate_three_d.
title_idstring–Which game this is for — a label for the report, optional. Credits are always the publisher's, so leaving it out is normal for assets that belong to no game.

No output schema declared.

No examples provided.

get_timed_boost ~89

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_timed_event ~98

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_title_custom_data ~153

GET 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_data / save_title_data). Each key declares a Scope (Static = authored config; Runtime = mutable state written only by CloudCode scripts) and a Bucket (Public = readable by game clients; Private = server/CloudCode only).

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_title_data ~131

Read 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 strings. Per-player data is NOT here — it lives in each player's UserCustomData.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_tutorial ~212

GET 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 PREDETERMINE the outcome of another module (TutorialScriptedOutcome — e.g. force the board dice to land on a Raid tile), which is the only way to demonstrate a mechanic instead of randomness. Flows carry an audience gate (SegmentGate) and a schedule (ScheduleSpec); putting an Experiment condition in that gate is how two tutorial versions are A/B-tested. Gating other content on tutorial progress is done via SegmentGate.Tutorial per entity, or via Settings.Blocking to close whole modules until onboarding is finished.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_usage ~277

GET 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 detail outside the window is gone for good. Do not lower DailyWindowDays below 400 without also lowering the analytics range cap: publisher analytics (DAU/WAU/MAU, retention cohorts, funnels) is computed lazily from those very per-day records, accepts ranges of up to 366 days, and needs 30 extra preceding days per requested day for MAU. Also holds SessionIdleTimeoutMinutes: how many minutes of silence end a session (default 30, the same rule Firebase/GA4 use, so the two reports stay comparable). The session boundary is decided by the SERVER from the player's last activity — the client's IsNewSession flag is not trusted for counting. Leave every field null unless you have a specific reason — the defaults (enabled, 400-day window, 30-minute session gap) are what the analytics horizon was sized against.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_user_custom_data ~97

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

get_video ~129

Poll a video job by id. While it runs the status says so; when it is done the CDN URL is in Assets.

NameTypeReqDescription
content_typestring–Desired content type, e.g. video/mp4 (optional).
title_idstring–Which game this is for — a label for the report, optional. Credits are always the publisher's, so leaving it out is normal for assets that belong to no game.
variantstring–Variant to fetch, e.g. 720p (optional).
video_idstringyesJob id returned by generate_video.

No output schema declared.

No examples provided.

get_workshop ~392

GET 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 escrows and moves goods). ContentTypes is the game-specific part: each type id (e.g. 'voxelcraft.world') declares its file roles (AllowedMimeTypes, MaxBytes, MaxCount, Required; the engine checks the uploaded file's signature against the declared type), whether a thumbnail is required, which AccessModes authors may use, an optional per-type PricePolicy, a PublishGate (SegmentGate: who may publish), PublishFeeOptions (PriceOption, Standard part only, never store-paid), a TagVocabulary and per-player limits. An author gives access by ANY of several options: Free, Price (a ResourceBundle validated by PricePolicy; the buyer pays, the author receives it minus Commission, which is burned or credited to the MarketplaceLedger) or Holding (hold N of a currency/item - nothing is charged; Mode WhileHeld re-checks on every download, UnlockOnce checks once and grants a permanent license; HoldingPolicy whitelists usable resources). Moderation: BlockedTerms for titles/descriptions/tags, AutoHideReportThreshold (reports that hide a publication until reviewed), RequireApproval (pre-moderation). Featured lists publisher-curated collections with their own ScheduleSpec and SegmentGate. Publications, licenses, reactions and reports are NOT here - they are operational data in their own collections; files live in a private bucket configured by the engine's WORKSHOP_BUCKET_NAME env var.

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

list_ai_tiers ~96

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

NameTypeReqDescription
title_idstring–Not needed — tiers depend on the publisher's plan (optional, ignored).

No output schema declared.

No examples provided.

list_builds ~69

Recent versions of the Title's game, newest first — uploaded ones and ones built by the AI Coder — with which one players get now.

NameTypeReqDescription
limitinteger–How many versions to return (default 10, max 30).
title_idstringyesLive TitleID.

No output schema declared.

No examples provided.

list_kanban_members ~50

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_kanban_projects ~39

List the publisher's task boards (projects) with their names and progress. Start here: every other kanban tool needs a project_id.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_modules ~176

List 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, 'inBase' (installed with the base in every new project), 'uses' (modules a game needs) and 'events' (topics it emits and listens to). Read 'provides' to reuse a ready module instead of building the feature from scratch, then get_module to pull its source. Read-only; takes no title_id.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_my_titles ~177

List 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 by name or id with "search"; long lists are paged (skip/limit, HasMore). Read-only; takes no title_id.

NameTypeReqDescription
limitinteger–Page size, default 50, max 60.
searchstring–Optional substring of the game's name or TitleID.
skipinteger–How many games to skip (paging). Default 0.

No output schema declared.

No examples provided.

list_skills ~88

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_title_secrets ~99

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

NameTypeReqDescription
title_idstringyesTitleID, для которого читаются данные.

No output schema declared.

No examples provided.

move_kanban_card ~113

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

NameTypeReqDescription
card_idstringyesCard to move.
project_idstringyesBoard the card belongs to.
to_column_idstringyesDestination column.
to_indexinteger–Position inside that column, 0 = top (default 0).

No output schema declared.

No examples provided.

publish_cloud_code ~391

Publish 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) { … }. Inside a handler: log.Info/Warning/Error, context.UserID, and server.* (ReadUserData, GetTitleConfig, GetUserCustomData, SetUserCustomData, DeleteUserCustomData, BatchSetUserCustomData, BatchDeleteUserCustomData, GetPublicUserCustomDataOf, GetTitleCustomData, SetTitleCustomData, IncrementTitleCustomData, DeleteTitleCustomData, BatchSetTitleCustomData, BatchDeleteTitleCustomData, GetIntegrationVariable, HttpRequest) — each returns { Success, Error, Data }. No async/await, no imports; 10 seconds wall-clock per call and a per-execution cap on server.* calls. The only way out to the network is server.HttpRequest({ Method, Url, Headers, Body }) — there is no fetch and no XMLHttpRequest; it reaches only publisher-allow-listed hosts over https, and credentials go in as {{secret:NAME}} placeholders (see list_title_secrets), never as literal values. The code REPLACES the previous revision entirely — read get_cloud_code first and send back the full script. Games call handlers through the SDK's client.cloudCode.execute(name, args).

NameTypeReqDescription
codestringyesFull JavaScript source of the revision.
commentstring–Short note about what changed.
handlersarray–Optional whitelist of callable handlers; anything not listed is rejected by the server.
title_idstringyesTitleID.

No output schema declared.

No examples provided.

remix_video ~110

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

NameTypeReqDescription
promptstringyesWhat to change.
title_idstring–Which game this is for — a label for the report, optional. Credits are always the publisher's, so leaving it out is normal for assets that belong to no game.
video_idstringyesSource job id to remix.

No output schema declared.

No examples provided.

reorder_kanban_columns ~58

Set the left-to-right order of the columns. Pass every column id of the board.

NameTypeReqDescription
column_idsarrayyesAll column ids, in the order they should appear.
project_idstringyesBoard to reorder.

No output schema declared.

No examples provided.

save_advertising ~202

PARTIAL 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 consent policy, rewarded-video server-side verification (SSV) and the daily revenue import from the provider's Reporting API. Shared secrets (SSV keys, report keys) are NOT stored here — only the NAME of the TitleSecrets entry that holds them.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesTitle-level advertising configuration: placements, SDK providers, per-format settings, frequency capping, premium ad reductions, consent and rewarded-video server-side verification.

No output schema declared.

No examples provided.

save_ai ~447

PARTIAL 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 MODE (Text: an AI Coder mode such as "standard") or a TIER (media: an asset generation tier such as "image-balanced") - list the usable ones, with what the publisher's plan allows, with the dashboard action GetInAppAIModels (Text features that AllowImages need a mode that AcceptsImages), Behavior defaults per modality (no platform caps: MaxTokens is bounded only by what the mode's model can produce), Safety prompt checks, an audience Gate (SegmentGate), a Schedule (ScheduleSpec), per-player Limits (LimitSpec) and the in-game PriceOptions the PLAYER pays (in-game resources and/or ONE store purchase per generation - a Purchase entry in the option's base price; never inside PremiumTiers, never two per option). Each generation is charged to the PUBLISHER's credits by the engine at the model's price; per-title spend caps (in credits) live in the PRIVATE config (InAppAIBudget), not here. Server-only section: never sent to the game client or the CDN.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesInApp AI generation features of the title. Bound to cfg.AI. A PLAYER triggers generation at runtime through the engine; models and prices come from the platform model registry, the provider is OpenRo…

No output schema declared.

No examples provided.

save_analytics ~379

PARTIAL 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, country, new/returning and acquisition source; A/B experiment goals and custom funnel steps can use these events. Enabled is the master switch and defaults to OFF. EventNaming: "Open" (any valid name is accepted and joins the title's event catalog up to the PLAN limit) or "Declared" (only names listed in Events). Events maps an event name (^[A-Za-z][A-Za-z0-9_]{0,39}$; prefixes idos_/firebase_/google_/ga_ are reserved, except the automatic idos_* events) to a display name, description and a Blocked flag. Dimensions registers event parameters as reporting dimensions (like GA4 custom dimensions) - the count is capped by the plan; unregistered parameters are accepted but not stored. RetentionDays is how long per-player event data is kept (default 90, capped by the plan); daily title summaries are kept forever. AutomaticEvents (default on) accepts the SDK's automatic events: idos_first_open, idos_session_start, idos_app_update, idos_os_update, idos_screen_view.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesCustom events (Firebase Analytics parity). Everything here is chosen by the publisher within their plan's analytics limits. Absent section or Enabled != true = events are not stored and cost no datab…

No output schema declared.

No examples provided.

save_asset_bundle ~115

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

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesNew value for the AssetBundle field.

No output schema declared.

No examples provided.

save_attribution ~223

PARTIAL 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 first touch is immutable, the last touch tracks win-backs, and the chain in between feeds multi-touch models. This section only tunes that recording: how many touches to keep, how long after a touch an identical signal is still considered the same click rather than a new one, and optional aliases that normalise messy source/medium values into canonical ones for analytics. Referral invites are recorded through this same mechanism as a channel, so they show up in the acquisition reports alongside paid traffic.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesNew value for the Attribution field.

No output schema declared.

No examples provided.

save_authentication ~240

PARTIAL 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 sign-in flows uses a client secret. Device / e-mail / Telegram / SSO logins need no configuration and are absent from this section. The ID-token audience differs per platform (web and Android tokens carry the Web client ID, iOS tokens the iOS client ID), so several IDs are filled at once and the server accepts any of them.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesTitle-level authentication settings: which third-party sign-in methods the title offers and the public OAuth client IDs each platform build needs. Contains NO secrets - OAuth client IDs are public by…

No output schema declared.

No examples provided.

save_ban ~246

PARTIAL 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 marketing, crypto convert, purchases) plus an optional BlockLogin flag that shuts the player out of the game entirely and overrides everything else on that level. DefaultLevelID is the level a manual ban applies when the caller does not pick one. Two built-in ids always work even when not listed here: "hard" (blocks login) and "soft" (synthesized from the legacy Soft section below). Use PLAYER-facing tools (SetPlayerBanStatus) to actually ban a player with a level ID from here — this section only defines what each level MEANS.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesNew value for the Ban field.

No output schema declared.

No examples provided.

save_blockchain ~137

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

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesV2 definition of the title's blockchain integration. Contains only public data safe for clients (chain IDs, contracts, feature switches, safety policies). Private data lives in TitlePrivateConfigurat…

No output schema declared.

No examples provided.

save_character ~215

PARTIAL 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.Definitions, and each skin IS a non-stackable, non-expiring Item from the Item section (Skins.Definitions.<id>.Item) — create that item first; any system that grants items (Store offers, lootboxes, season, quests, rewards) then grants the skin, and Item.Stats, if set, count toward Power like gear.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesConfiguration of the title's character system: the character catalog. Each entry in Definitions is self-contained (own stats, levels, equipment rules).

No output schema declared.

No examples provided.

save_chat ~363

PARTIAL 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 anti-spam: slow mode, daily cap); an announcement channel is simply one nobody passes the write gate of. A channel may be PARTITIONED by the player's language or country and sharded by capacity - the partition key is computed by the SERVER (language is validated against this title's Localization locales, country comes from IP), so the set of rooms is bounded by config and never by client input. Type=Group is the extension point for clans: membership comes from an external provider named in GroupSource, and no provider exists yet, so such a channel is currently hidden rather than shown empty. Messages themselves are NOT here - they live in the ChatMessages collection and expire by Retention.HistoryHours; only the hot tail is cached in Redis. Muting a player and reviewing reports are admin actions, not config.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesConfiguration of the title's player chat: the catalog of persistent channels (world/announcement/group), direct-message settings, moderation rules and polling economics. Channels are addressed by Cha…

No output schema declared.

No examples provided.

save_cloud_code ~166

PARTIAL 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 ReadOnly/Internal buckets) and mutable title data (TitleCustomData Runtime scope). Prefer the dedicated cloud-code tools over editing this section by hand: they compute the code hash, bump the revision number and archive the previous one.

NameTypeReqDescription
title_idstringyesTitleID, для которого сохраняются данные.
valueobjectyesNew value for the CloudCode field.

No output schema declared.

No examples provided.

Install

How do I install the iDos Games MCP server?

iDos Games is a hosted endpoint at https://site.idosgames.com/api/v2/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · site.idosgames.com

# add to Claude Code
claude mcp add --transport http com-idosgames-platform 'https://site.idosgames.com/api/v2/mcp'
Common questions

What is the iDos Games MCP server?

iDos Games is an MCP server listed in the public MCP registry as com.idosgames/platform. Configure cross-platform and web3 games on iDos Games: live config, tokens, NFTs, AI assets, builds. This page covers its hosted endpoint (https://site.idosgames.com/api/v2/mcp).

Is the iDos Games MCP server safe to use?

iDos Games scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the iDos Games MCP server expose?

iDos Games exposes 144 tools: list_my_titles, get_image_data, save_image_data, get_asset_bundle, save_asset_bundle, and 139 more. Their descriptions and schemas cost roughly 27,418 tokens of context every time the server is loaded.

Does the iDos Games MCP server require authentication?

Yes. iDos Games asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the iDos Games MCP server still maintained?

iDos Games is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.