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 (23 hours ago)
Scores higher than 68% of remote servers
Reachable. Last reached 16 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 Management7
- Stability observed for 2 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 16 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 →
add_kanban_comment Add card comment ~113
Post a comment on a card. It appears under the publisher's own name, so write as the assistant, not as them. Mentioned people are notified.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Comment text. |
| card_id | string | yes | Card to comment on. |
| mention_ids | array | – | People to notify, ids from list_kanban_members (optional). |
| parent_comment_id | string | – | Reply to this comment (optional). |
| project_id | string | yes | Board the card belongs to. |
No output schema declared.
No examples provided.
begin_build_upload Start build upload ~260
Start uploading a READY web build of the game (static files: index.html + assets — e.g. Vite dist/, Unity WebGL) to a Title. Returns build_id, a one-hour upload_url and asset_base. Build the game with asset_base as its base path (or a relative './'), zip the CONTENTS of the output folder so index.html is at the zip root, upload it with `curl -T build.zip "<upload_url>"` (a plain HTTP PUT of the file, no headers), then call finish_build_upload. Needs a shell to run the upload — a browser-only client cannot upload files. Free: only the storage it takes counts toward the publisher's quota. The build must be the GAME ITSELF, hosted here: on the Title's idosgames.com page the game may embed (iframe) only platform hosts, never another website, so a wrapper that frames the publisher's own site shows "Content unavailable" there instead of the game. Network requests (fetch/WebSocket) from the embedded game reach platform hosts plus the Title's Blockchain.IframeConnectHosts (save_blockchain; wallet-connection hosts are always refused).
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | Live TitleID (not the -DEV copy). |
No output schema declared.
No examples provided.
create_kanban_card Create task card ~178
Add a card to a column. The server assigns the human key (OPUS-451) — it is in the reply.
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | string | – | Id to give the card (optional). Pass your own to make a retry safe: adding the same id twice is a no-op instead of a duplicate. |
| column_id | string | yes | Column to add to (ids come from get_kanban_board). |
| description | string | – | Details (optional). |
| due_date | string | – | Deadline, ISO-8601 like 2026-09-30 (optional). |
| priority | string | – | None | Low | Medium | High | Critical (optional, default Medium). |
| project_id | string | yes | Board to add to. |
| title | string | yes | Card title — what has to be done. |
No output schema declared.
No examples provided.
create_kanban_column Create board column ~54
Add a column to a board.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Accent colour, hex (optional). |
| name | string | yes | Column name. |
| project_id | string | yes | Board to add the column to. |
No output schema declared.
No examples provided.
create_kanban_project Create board project ~89
Create a board. It comes with a default set of columns, so you can add cards right away.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Accent colour, hex like #3B82F6 (optional). |
| description | string | – | What this board is for (optional). |
| emoji | string | – | Icon, a single emoji (optional). |
| name | string | yes | Board name. |
No output schema declared.
No examples provided.
delete_kanban_card Delete task card ~74
Delete a card. IRREVERSIBLE, and its task key is never reused — ask the publisher before calling this. To take a card off the board without losing it, move it instead.
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | string | yes | Card to delete. |
| project_id | string | yes | Board the card belongs to. |
No output schema declared.
No examples provided.
delete_kanban_column Delete board column ~73
Delete a column TOGETHER WITH EVERY CARD IN IT. IRREVERSIBLE — ask the publisher first, and move the cards out with move_kanban_card if they should survive.
| Name | Type | Req | Description |
|---|---|---|---|
| column_id | string | yes | Column to delete. |
| project_id | string | yes | Board the column belongs to. |
No output schema declared.
No examples provided.
delete_kanban_project Delete board project ~70
Delete a whole board with every card, comment and attachment on it. IRREVERSIBLE and there is no undo — ask the publisher first, and prefer archiving via update_kanban_project(archived=true), which is reversible.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Board to delete. |
No output schema declared.
No examples provided.
estimate_media_cost Estimate generation cost ~240
Estimate what a generation will cost in credits before running it. Read-only and free. exact=true means computed from the model's price list; approximate=true means the vendor names the final sum itself (video and music) and the number is a best guess; both false means there is nothing to estimate from — and zero credits does NOT mean free.
| Name | Type | Req | Description |
|---|---|---|---|
| modality | string | yes | What is going to be generated: image | video | audio | music | 3d |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| text | string | – | The words to say — speech only, their length drives the price (optional). |
| tier | string | – | Tier to price. Omit to use the default tier of that modality. |
| title_id | string | – | Which game this is for — a label, optional (see the generate_* tools). |
No output schema declared.
No examples provided.
finish_build_upload Finish build upload ~209
Finish an upload started with begin_build_upload: unpacks the zip into a new version of the Title (it appears in the dashboard's version history) and waits up to ~100 s. Returns the version with a TestUrl to try it before players see it. deploy=true also puts it live for players on the Title's address and its idosgames.com page. If it is still unpacking when the call returns, poll get_build. Calling it again with the same build_id returns the same version (with deploy=true it deploys a version that is ready).
| Name | Type | Req | Description |
|---|---|---|---|
| build_id | string | yes | build_id returned by begin_build_upload. |
| deploy | boolean | – | true = put this version live for players as soon as it is unpacked. Default false: only a test version. |
| label | string | – | Optional short name of the version shown in the history ("Added the shop"). |
| title_id | string | yes | Live TitleID (the same one passed to begin_build_upload). |
No output schema declared.
No examples provided.
generate_audio Generate speech or sound ~337
Generate speech (text-to-speech) for the title. Billed per character. The voice comes from the tier's model unless you pass one in params. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Model name, if you insist on a specific one (optional). ⚠ Setting it cancels the tier COMPLETELY — together with its provider and its settings — so params may stop applying. Prefer `tier`. |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| provider | string | – | Provider key, if you insist on one (optional). Cancels the tier the same way. |
| text | string | yes | The words to say out loud. They are read verbatim, so do not put instructions here. |
| tier | string | – | Quality/price tier, e.g. image-cheap or video-premium. Call list_ai_tiers for the current list. Omit it to use this title's default tier. |
| 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.
generate_image Generate image ~322
Generate an image (icon, sprite, art) for the title. The result has a CDN URL in Assets — reference that URL from the title config or code. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Model name, if you insist on a specific one (optional). ⚠ Setting it cancels the tier COMPLETELY — together with its provider and its settings — so params may stop applying. Prefer `tier`. |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| prompt | string | yes | What to generate. |
| provider | string | – | Provider key, if you insist on one (optional). Cancels the tier the same way. |
| tier | string | – | Quality/price tier, e.g. image-cheap or video-premium. Call list_ai_tiers for the current list. Omit it to use this title's default tier. |
| 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.
generate_music Generate music ~319
Generate music (a loop or a short track) for the title. A different vendor path and a different price from generate_audio, which is speech. Runs as a job: the call waits up to about two minutes and returns the result; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Model name, if you insist on a specific one (optional). ⚠ Setting it cancels the tier COMPLETELY — together with its provider and its settings — so params may stop applying. Prefer `tier`. |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| prompt | string | yes | What to generate. |
| provider | string | – | Provider key, if you insist on one (optional). Cancels the tier the same way. |
| tier | string | – | Quality/price tier, e.g. image-cheap or video-premium. Call list_ai_tiers for the current list. Omit it to use this title's default tier. |
| 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.
generate_text Generate text ~198
Generate text via AI (copy, item descriptions, dialogue). Runs as a job: the call waits up to about two minutes and returns the generated text; if it is not ready by then it returns the generation with status queued/running — poll get_generation with its id. Credits are the publisher's; title_id is an optional label for the report.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer | – | Max output tokens (optional). |
| model | string | – | Model override (optional). |
| prompt | string | yes | Prompt for the model. |
| provider | string | – | Provider override, e.g. anthropic (optional). |
| system_instructions | string | – | System instructions (optional). |
| temperature | number | – | Sampling temperature (optional). |
| title_id | string | – | Which game this text is for — a label for the report, optional. Credits are always the publisher's, so leaving it out is normal for copy that belongs to no game. |
No output schema declared.
No examples provided.
generate_three_d Generate 3D model ~373
Generate a 3D asset (mesh) for the title. ASYNC: returns a job with an id and status — poll get_three_d for the result.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | – | Source image URL — image-to-3d (optional). |
| input_task_id | string | – | Previous job id — texture, remesh, rig (optional). |
| model | string | – | Model name, if you insist on a specific one (optional). ⚠ Setting it cancels the tier COMPLETELY — together with its provider and its settings — so params may stop applying. Prefer `tier`. |
| model_url | string | – | Source model URL — texture, remesh, rig (optional). |
| operation | string | yes | What to do: text-to-3d | image-to-3d | text-to-texture | remesh | rig. |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| prompt | string | – | What to generate. |
| provider | string | – | Provider key, if you insist on one (optional). Cancels the tier the same way. |
| tier | string | – | Quality/price tier, e.g. image-cheap or video-premium. Call list_ai_tiers for the current list. Omit it to use this title's default tier. |
| 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.
generate_video Generate video ~298
Generate a video clip for the title. Duration is the main cost driver, and some models bill a minimum length even when the clip is shorter — estimate first. ASYNC: returns a job with an id and status — poll get_video for the result.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Model name, if you insist on a specific one (optional). ⚠ Setting it cancels the tier COMPLETELY — together with its provider and its settings — so params may stop applying. Prefer `tier`. |
| params | object | – | Model settings, as declared by the vendor for the chosen tier — for example {"aspect_ratio":"16:9","resolution":"720p","duration":"4"}. Call list_ai_tiers to see which keys this tier accepts, their a… |
| prompt | string | yes | What to generate. |
| provider | string | – | Provider key, if you insist on one (optional). Cancels the tier the same way. |
| tier | string | – | Quality/price tier, e.g. image-cheap or video-premium. Call list_ai_tiers for the current list. Omit it to use this title's default tier. |
| 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_advertising Get Advertising settings ~152
GET ONLY the 'Advertising' field of TitlePublicConfigurationModel. Advertising — logical ad Placements (rewarded video, interstitial, banner, app-open), the mediation Providers that serve them (AppLovin MAX, LevelPlay, ...) with per-platform app IDs and ad unit IDs, per-format settings, frequency capping, premium ad-removal perks, GDPR/ATT consent policy, rewarded-video server-side verification (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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_ai Get AI settings ~321
GET ONLY the 'AI' field of TitlePublicConfigurationModel. InApp AI generation features of the title - what a PLAYER can generate at runtime through the engine (text/NPC chat, images, video, speech, music, 3D). Enabled is the master switch; Features maps a stable FeatureKey (no '.' or '$') to one feature: its Modality, a Model = the id of a MODE (Text: an AI Coder mode such as "standard") or a TIER (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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_analytics Get Analytics settings ~320
GET ONLY the 'Analytics' field of TitlePublicConfigurationModel. Custom events - Firebase Analytics parity. The game sends its own events (logEvent(name, params, value)); the engine stores them per player per UTC day and the dashboard reports counts, unique players, value sums and breakdowns by platform, app version, OS, device, language, country, new/returning and acquisition source; A/B 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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_asset_bundle Get Asset Bundle settings ~87
GET ONLY the 'AssetBundle' field of TitlePublicConfigurationModel. Dictionary<string,string> of named bundle/manifest URLs (Unity AssetBundles, Addressables manifests, etc.). Key is a logical bundle slug, value is its CDN URL. Use this for binary game content; for images alone use ImageData.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_attribution Get Attribution settings ~196
GET ONLY the 'Attribution' field of TitlePublicConfigurationModel. Acquisition attribution — how the engine records WHERE a player came from. The signal (utm_source/medium/campaign/term/content, the ad network's click id, the referrer, the invite code) arrives with the login request and is stored as a chain of touch points on the player: the first touch is immutable, the last touch tracks win-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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_authentication Get Authentication settings ~162
GET ONLY the 'Authentication' field of TitlePublicConfigurationModel. Authentication — which third-party sign-in methods the title offers and the public OAuth client IDs each platform build needs (currently Google: Web / Android / iOS / Desktop client IDs). Contains NO secrets: OAuth client IDs are public by protocol design, and none of the sign-in flows uses a client secret. Device / e-mail / 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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_ban Get Ban settings ~219
GET ONLY the 'Ban' field of TitlePublicConfigurationModel. Ban levels and the level ban gates apply to a player. The publisher defines any number of named levels (e.g. "low"/"medium"/"hard") — each with capability checkboxes (BanCapability: block withdrawals, deposits, leaderboards, trading, PvP, chat, social, coop, referral, push, community marketing, crypto convert, purchases) plus an optional 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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_blockchain Get Blockchain settings ~80
GET ONLY the 'Blockchain' field of TitlePublicConfigurationModel. On-chain integration config — chain selectors, smart contract addresses, RPC overrides, gas policy, supported networks for Crypto currencies. Built largely from Currency.CryptoCurrencies[].Networks; this is the title-level companion config.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_build Get build ~74
State of one version of the Title's game: status (Queued, Building, Staged = ready to deploy, Live, Failed), errors, test and live links. Use it to poll finish_build_upload.
| Name | Type | Req | Description |
|---|---|---|---|
| build_id | string | yes | build_id of the version. |
| title_id | string | yes | Live TitleID. |
No output schema declared.
No examples provided.
get_character Get Character settings ~167
GET ONLY the 'Character' field of TitlePublicConfigurationModel. Character/hero catalogue — playable units, NPCs, summons. Defines stats, abilities, evolution/level-up paths, art/asset references. Distinct from Item (generic inventory) — characters typically have progression and abilities. Skins (alternative looks) live per character in Skins.Definitions, and each skin IS a non-stackable, non-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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_chat Get Chat settings ~259
GET ONLY the 'Chat' field of TitlePublicConfigurationModel. Player chat - the catalog of persistent CHANNELS the title offers (world / announcement / group), plus direct-message settings, moderation rules and polling economics. A channel declares who SEES it (SegmentGate + ScheduleSpec) and who may WRITE to it (a second gate plus LimitSpec anti-spam: slow mode, daily cap); an announcement channel 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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_cloud_code Get Cloud Code settings ~138
GET ONLY the 'CloudCode' field of TitlePublicConfigurationModel. Server-side scripting (CloudCode): the active JavaScript revision the title runs, plus execution policy — engine limits, rate limits, per-handler metadata, whether logs/stack traces are revealed to clients. Scripts are the ONLY way to write protected player data (UserCustomData ReadOnly/Internal buckets) and mutable title data (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, для которого читаются данные. |
No output schema declared.
No examples provided.
get_collection Get Collection settings ~82
GET ONLY the 'Collection' field of TitlePublicConfigurationModel. Collection / album / codex definitions — sets of items, cards, characters or achievements players collect. Defines what counts as the collection, completion rewards, and tier/rarity grouping. Use for compendium-style meta content.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_community_marketing Get Community Marketing settings ~323
GET ONLY the 'CommunityMarketing' field of TitlePublicConfigurationModel. Community Marketing - the program that rewards community members for posting about the game on external social platforms (YouTube/TikTok/Instagram). A campaign declares WHO may take part (Participation + SegmentGate), WHEN it runs (ScheduleSpec), WHICH platforms count and at what weight, WHAT the post must contain (hashtags, mention, the creator verification code), and HOW it pays: RateCards give a linear rate per metric (e.g. 60 GOLD per 1000 views, optionally multiplied by a per-submission moderator coefficient), while Milestones give threshold rewards using the shared platform milestone primitive. Spending is bounded by a campaign Budget plus per-submission, per-creator and per-team Caps - all evaluated against what has been PAID, never what has been earned. Providers says where the view/like/comment/share numbers come from per platform (the title's own API key or aggregator key, addressed BY NAME in TitleSecrets - never the value itself), Moderation says what a human reviews, and AntiFraud sets the hold period before earnings mature plus the anomaly thresholds that freeze a suspicious submission. Creators, submissions, metric snapshots, accruals and the payout journal are NOT here - they are operational data in their own collections. The Community Marketing pool bucket is funded by a fee on player crypto withdrawals, configured in the Currency section (CryptoCurrencyDefinition.CommunityMarketingWithdrawalFeePercent), not here.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_coop_event Get Coop Event settings ~95
GET ONLY the 'CoopEvent' field of TitlePublicConfigurationModel. Cooperative multi-player events — guild raids, server-wide goals, leaderboard tournaments where players contribute together. Distinct from TimedEvent (solo) and Leaderboard (pure ranking). Defines participation rules, shared progress, contribution tracking, and tiered rewards based on collective performance.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_craft Get Craft settings ~77
GET ONLY the 'Craft' field of TitlePublicConfigurationModel. Crafting / recipe system — input resources, output item, success rate, time cost, station/skill prerequisites. Item IDs in inputs/outputs reference the Item catalogue; currency costs reference Currency.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_currency Get Currency settings ~140
GET ONLY the 'Currency' field of TitlePublicConfigurationModel. Currency catalogue: VirtualCurrencies (Gold, Gems, Energy, etc.) AND CryptoCurrencies (on-chain tokens). Defines IDs, economy (USD value, balance limits), recharge rules for energy-like currencies, conversion rules, and per-currency permissions. The CurrencyID of each entry is referenced by Item prices, Store SKUs, Reward payouts, Quest rewards, Lootbox loot, etc. NOTE: the "Main" CryptoCurrency entry is protected and cannot be overwritten — your changes to that key will be silently ignored.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_data_collections Get Data Collections settings ~689
GET ONLY the 'DataCollections' field of TitlePublicConfigurationModel. Data collections - the creator's own data structures, a Firebase/Supabase-like store inside the platform for games, apps and sites. USE A READY PLATFORM MODULE FIRST (currencies, items, store, lootboxes, quests, leaderboards, chat, social, workshop, match, season, tutorial, localization, push, analytics); declare a collection only for what no module provides (guilds, auctions, orders, catalogs, articles, saved levels, feeds, mail) or for extra data attached to module entities. NEVER store currencies or items inside a record: reference them with a Ref field (Kind Item/Currency/User/…) and move value with Economy (Cost/Grant in engine resource format, charged in the same transaction as the write). Collections maps a collection id (letters, digits, '_', '-', ':' up to 64; a front-end module prefixes its namespace, e.g. 'guild-system:guilds') to: Kind (UserOwned: each record belongs to one user; Shared: records used by many users; Temporary: short-lived, mandatory TTL up to 30 days; Log: append-only, read by time); Mode (Strict = only declared fields); Fields (String, Text = searchable by words, Int, Number, Bool, Date, Json, Array with ItemType, Ref with Ref.Kind, File) with Required/Default (JSON literal)/Min/Max/MaxLength/MaxItems/Enum/Unique/Indexed/Visibility (Everyone/Owner/Server)/ClientWritable=false for server-only fields/Immutable; SortKeys (id + 1..4 components, each a scalar field or createdAt/updatedAt, optionally Descending) - every ordered query uses one, and equality filters on its leading components narrow the range; Access with Read/Create/Update/Delete lists of rules OR-ed together (Anyone - Read only, Authenticated, Owner, Members with MembersField = an Array of Ref(User), Role with a role id from Roles, Server); Limits (MaxItemBytes, MaxItemsPerOwner, TtlSeconds); OnOwnerDeleted (Delete/Anonymize/Keep); Counters (Count or Sum, optional GroupBy - maintained atomically, not allowe…
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_deal_offer Get Deal Offer settings ~301
GET ONLY the 'DealOffer' field of TitlePublicConfigurationModel. Limited-time offers WITH PROGRESSION — starter packs, comeback bundles, aquarium-style chains, pick-one-of-N. Two axes: a SLOT is a UI position that cycles through its own ordered Queue of offers (its Availability.Schedule decides how: Chained advances per player, Scheduled/Cyclic/AlwaysOn follow the wall clock, Triggered fires on an event), and an OFFER is a graph of nodes. There is no declared graph mode: the shape (single, chain, branching, choice, metered) is whatever Graph.RootNodeIDs, node NextNodeIDs, ChoiceGroupID and UnlockRules describe. Every node declares its own price as a PriceOptions dictionary — resources, crypto, a store product (real money), an AD CREDIT (that is how "watch a video" is expressed; only the server grants credits) or nothing at all, which means free. A node pays out Reward.Grants, moves offer-local Tracks and adds Reward.MilestonePoints to the offer milestone bar. Slots, offers and nodes are decomposed into named blocks (Identity, Availability, Behaviour, Graph, Milestones, Pricing, Reward), each with its own independent preset binding into DealOffer.Presets. Distinct from Store (always-on shop, no progression) and Premium (ongoing paid subscriptions).
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_experiment Get Experiment settings ~87
GET ONLY the 'Experiment' field of TitlePublicConfigurationModel. A/B experiments — variant definitions with weighted allocation, audience gate (SegmentGate) and schedule (ScheduleSpec). Players are assigned to a variant by a stable hash; variant Params carry inline config overrides. Used to test config changes against measurable cohorts.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_feature_tracking Get Feature Tracking settings ~160
GET ONLY the 'FeatureTracking' field of TitlePublicConfigurationModel. Feature tracking — which CONCRETE actions are recorded as their own line in the player's FeatureUsage, on top of the default per-module tracking. Entries look like "Character:EquipItems" (module name from the route + the module's action name). Purely an analytics setting: it makes those actions selectable as steps in custom funnels (Analytics → Funnels). Tracking starts when an action is added — there is no data for the past, because the action was not recorded then. Capped at 40 entries: every tracked id becomes a key in the player document, which is read on every request.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_game_loop Get Game Loop settings ~95
GET ONLY the 'GameLoop' field of TitlePublicConfigurationModel. Core gameplay loop configuration — match settings, level pacing, difficulty curves, energy/cooldown gates, retry/continue economy. Use for tuning the moment-to-moment gameplay; not for content (use Item, Character, Collection) and not for meta-progression (use Season).
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_generation Get generation ~77
Read a generation by id: its status (queued | running | completed | failed), the CDN URLs in Assets or the text in OutputText when it is done, the error when it failed. Poll it for generations that returned queued/running. Read-only and free.
| Name | Type | Req | Description |
|---|---|---|---|
| generation_id | string | yes | Id returned by a generate_* tool. |
No output schema declared.
No examples provided.
get_host_scaffold Get project scaffold ~122
Get the base every NEW project starts from — the host shell with sign-in and the lobby (index.html, main.tsx, src/app.config.ts, the wallet files, an empty src/modules.ts, config; the lobby and sign-in come from @idosgames/app-shell). Write these files to the project root, install the versions from get_manifest, then add modules with get_module: the systems with inBase, the game(s) with the modules each game 'uses', and any other system the app needs. Read-only; takes no title_id.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_image_data Get Image Data settings ~120
GET ONLY the 'ImageData' field of TitlePublicConfigurationModel. Dictionary<string,string> of arbitrary named image asset URLs/paths for the Title — splash screens, banners, icons, loading screens, marketing art. Key is a project-defined slug (e.g. "main_banner", "login_bg"), value is a URL or storage path. For per-currency icons use Currency.VirtualCurrencies[].AssetPaths; for per-item icons use Item; for character art use Character.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_item Get Item settings ~111
GET ONLY the 'Item' field of TitlePublicConfigurationModel. Item catalogue — every consumable, equipment piece, resource, gear or generic inventory entity the player can own. Defines item IDs, names, categories, stack rules, rarities. Referenced by Store SKUs (as contents), Lootbox loot tables, Quest rewards, Craft recipes, and Reward payouts. For premium-tier bundles use Premium; for character entities use Character.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_kanban_board Get task board ~83
Read a board: its columns and the cards in them. Cards come back COMPACT — key, title, priority, assignee, due date, labels and counters, without descriptions or checklists. Call get_kanban_card for the full text of one card.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Board to read (from list_kanban_projects). |
No output schema declared.
No examples provided.
get_kanban_card Get task card ~108
Read ONE card in full: description, checklist, links, watchers, estimate and which column it sits in. Address it either by card_id or by its human key like OPUS-451.
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | string | – | Card id (optional if card_key is given). |
| card_key | string | – | Human key of the task, e.g. OPUS-451 (optional if card_id is given). |
| project_id | string | yes | Board the card belongs to. |
No output schema declared.
No examples provided.
get_kanban_comments Get card comments ~62
Read the comment thread of a card, oldest first.
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | string | yes | Card whose thread to read. |
| limit | integer | – | How many comments (default 100). |
| project_id | string | yes | Board the card belongs to. |
No output schema declared.
No examples provided.
get_leaderboard Get Leaderboard settings ~88
GET ONLY the 'Leaderboard' field of TitlePublicConfigurationModel. Leaderboard definitions — name, ranking metric (score type), reset cadence (daily/weekly/seasonal/perpetual), tier-based rewards, eligibility rules. Use for pure player-vs-player ranking. For collaborative team goals use CoopEvent.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_localization Get Localization settings ~177
GET ONLY the 'Localization' field of TitlePublicConfigurationModel. Localization SETTINGS — which locales the title offers, which one is the default (and therefore the fallback), what to render for a missing key, and the store limits. The translation TABLES are deliberately NOT here: they live in the separate TitleLocalization collection (one document per title+locale) and are delivered one file per locale, because text changes far more often than balance and must not invalidate the whole title config. Client resolution is t(x) = own table -> fallback table -> x itself, which is why a title whose DisplayName fields hold literal names keeps working unchanged: a literal is simply a key with no translation. Add or edit translations through the Localization endpoints, not through this section.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_localization_keys Get localization keys ~133
List the title's localization KEYS with their text in the DEFAULT language, plus the configured locales. Call it before writing any user-visible string so you reuse an existing key instead of inventing a second one for the same label. Filter with "prefix" ("shop.", "quest."); long tables are truncated and say so. The client resolves text as t(x) = player's table -> fallback table -> x itself, which is why a plain literal still renders — a literal is simply a key with no translation.
| Name | Type | Req | Description |
|---|---|---|---|
| prefix | string | – | Optional key prefix filter. |
| title_id | string | yes | TitleID. |
No output schema declared.
No examples provided.
get_lootbox Get Lootbox settings ~83
GET ONLY the 'Lootbox' field of TitlePublicConfigurationModel. Lootbox / gacha definitions — loot tables with weighted entries, pity systems, guaranteed rares, currency to open. Each entry references Item or Currency IDs. For straight (non-random) reward bundles use Reward.
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
No output schema declared.
No examples provided.
get_mailbox Get Mailbox settings ~561
GET ONLY the 'Mailbox' field of TitlePublicConfigurationModel. Mailbox - an in-game mailbox that holds VALUE the player claims (not notifications - those are Push). Enabled is the master switch, default OFF. Capacity (default 100) caps visible letters; on overflow the oldest letters WITHOUT unclaimed rewards are removed. RewardLetterDays (30) / PlainLetterDays (14) are letter lifetimes (an unclaimed reward is lost when it expires), ClaimedRetentionDays (7) keeps claimed letters visible. DefaultLanguage (en) is the text fallback. Templates maps a TemplateID to per-language Texts {Subject, Body with {Param} placeholders}, Category (System/Reward/Gift/Social tab), Icon, Banner, Link {FeatureID+Args to open a game screen, or an https Url}, SenderName, ExpirationDays; keys 'system.*' override built-in letters of modules (system.gift, system.transfer, system.transfer_return, system.leaderboard_reward, system.coop_grand_prize, system.coop_object_reward, system.season_unclaimed, system.referral_reward). Gifts.Social maps a GiftID to a friend gift (Grant of items/virtual currencies minted on claim; optional Cost the sender pays per friend, burned; one per friend per period; the period is IntervalSeconds (default 86400) counted from AnchorUtc (default 2026-01-01 00:00 UTC) like fixed-interval cycles of other systems; SendLimit/ReceiveLimit per period, default 20; SenderGate). Gifts.Transfer lets friends send their OWN resources: AllowedResources whitelist (VirtualCurrency or STACKABLE items; MaxAmountPerGift is a CAP - any amount from 1 up to it, entries separately or together), MaxEntriesPerGift (5), IntervalSeconds/AnchorUtc (same period model), SendLimit/ReceiveLimit per period (5), FeePercent (0-90, withheld from what the friend receives, the fee per entry rounds up) and FeeCost (fixed fee on top); both burn only when the friend claims - a declined or expired transfer returns everything charged, MinFriendshipHours (24, against alt-account funnelling), ExpirationDays (7,…
| Name | Type | Req | Description |
|---|---|---|---|
| title_id | string | yes | TitleID, для которого читаются данные. |
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 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.