iDos Games
REMOTE · SITE.IDOSGAMES.COM
Configure cross-platform and web3 games on iDos Games: live config, tokens, NFTs, AI assets, builds.
Available components
Last scanned (19 minutes ago)
Scores higher than 68% of remote servers
Reachable. Last reached 17 Oct 2026.
Category Entertainment and Games
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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.
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 |
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 →
get_manifest Get runtime package versions ~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 Get Marketplace settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_match Get Match settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_module Get module source ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | integer | – | Index of the first file to return (from nextCursor). Default 0. |
| id | string | yes | Module id from list_modules, e.g. store or board-game. |
No output schema declared.
No examples provided.
get_multiplayer Get Multiplayer settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_my_kanban_tasks Get my 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | string | – | Whose tasks (optional). Ids come from list_kanban_members. |
| include_done | boolean | – | Include cards already in a done column (default false). |
No output schema declared.
No examples provided.
get_platform_bridge Get Platform Bridge settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_premium Get Premium settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_purchase Get Purchase settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_push Get Push settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_quest Get Quest settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_referral Get Referral settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_reward Get Reward settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_season Get Season settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_skill Get SDK skill ~52
Get one SDK skill's full content (SKILL.md) and its reference files. Read-only; takes no title_id.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Skill name from list_skills, e.g. currency-system. |
No output schema declared.
No examples provided.
get_social Get Social settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_store Get Store settings ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_three_d Get 3D model generation ~88
Poll a 3D job by id. When it is done the model CDN URL is in Assets.
| Name | Type | Req | Description |
|---|---|---|---|
| three_d_id | string | yes | Job id returned by generate_three_d. |
| title_id | string | – | 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 Get Timed Boost settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_timed_event Get Timed Event settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_title_custom_data Get Title Custom Data settings ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_title_data 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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_tutorial Get Tutorial settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_usage Get Usage settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_user_custom_data Get User Custom Data settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_video Get video generation ~129
Poll a video job by id. While it runs the status says so; when it is done the CDN URL is in Assets.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | – | Desired content type, e.g. video/mp4 (optional). |
| title_id | string | – | 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. |
| variant | string | – | Variant to fetch, e.g. 720p (optional). |
| video_id | string | yes | Job id returned by generate_video. |
No output schema declared.
No examples provided.
get_workshop Get Workshop settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
list_ai_tiers 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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | – | Not needed — tiers depend on the publisher's plan (optional, ignored). |
No output schema declared.
No examples provided.
list_builds 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many versions to return (default 10, max 30). |
| title_id | string | yes | Live TitleID. |
No output schema declared.
No examples provided.
list_kanban_members List board 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 List board 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 List game 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 List my games ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size, default 50, max 60. |
| search | string | – | Optional substring of the game's name or TitleID. |
| skip | integer | – | How many games to skip (paging). Default 0. |
No output schema declared.
No examples provided.
list_skills List SDK 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 List title secret names ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
move_kanban_card Move task 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.
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | string | yes | Card to move. |
| project_id | string | yes | Board the card belongs to. |
| to_column_id | string | yes | Destination column. |
| to_index | integer | – | Position inside that column, 0 = top (default 0). |
No output schema declared.
No examples provided.
publish_cloud_code Publish CloudCode ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Full JavaScript source of the revision. |
| comment | string | – | Short note about what changed. |
| handlers | array | – | Optional whitelist of callable handlers; anything not listed is rejected by the server. |
| title_id | string | yes | TitleID. |
No output schema declared.
No examples provided.
remix_video 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.
| Name | Type | Req | Description |
|---|---|---|---|
| prompt | string | yes | What to change. |
| title_id | string | – | 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_id | string | yes | Source job id to remix. |
No output schema declared.
No examples provided.
reorder_kanban_columns Reorder board columns ~58
Set the left-to-right order of the columns. Pass every column id of the board.
| Name | Type | Req | Description |
|---|---|---|---|
| column_ids | array | yes | All column ids, in the order they should appear. |
| project_id | string | yes | Board to reorder. |
No output schema declared.
No examples provided.
save_advertising Save Advertising settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | Title-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 Save AI settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | InApp 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 Save Analytics settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | Custom 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 Save Asset Bundle settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | New value for the AssetBundle field. |
No output schema declared.
No examples provided.
save_attribution Save Attribution settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | New value for the Attribution field. |
No output schema declared.
No examples provided.
save_authentication Save Authentication settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | Title-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 Save Ban settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | New value for the Ban field. |
No output schema declared.
No examples provided.
save_blockchain Save Blockchain settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | V2 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 Save Character settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | Configuration 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 Save Chat settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | Configuration 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 Save Cloud Code settings ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого сохраняются данные. |
| value | object | yes | New value for the CloudCode field. |
No output schema declared.
No examples provided.
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
claude mcp add --transport http com-idosgames-platform 'https://site.idosgames.com/api/v2/mcp'
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.