yagames-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@yagames-mcpsearch for puzzle games"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
yagames-mcp
MCP server for Yandex Games — search the catalog, manage game drafts, upload builds, and publish games, all from your MCP client.
Features
Public catalog — search games, browse popular titles, list categories (no auth required)
Game management — create and update game drafts
Build upload — upload game ZIP archives as new versions
Moderation & publish — submit for review, publish approved games
Status tracking — check draft/moderation/publish status, list all your games
Related MCP server: Yandex Webmaster MCP Server
Tools
Public (no auth)
Tool | Description |
| Search games by keyword |
| Get popular games, optionally filtered by category |
| List all available genres |
Authenticated (env vars required)
Tool | Description |
| Register a new game in the console |
| Update an existing game draft |
| Upload a ZIP archive as a new build |
| Send the game for moderation review |
| Publish a game that passed moderation |
| Check status of a specific game |
| List all games on your account |
Quick start
Requirements
Node.js >= 18
npm
Install & run
npm install
npm run buildAuthenticated tools
Set these environment variables to use the console management tools:
export YAGAMES_SESSION_COOKIE="your_session_id_value"
export YAGAMES_CSRF_TOKEN="your_csrf_token_value"How to obtain credentials:
Go to games.yandex.ru/console and log in with your developer account
Open DevTools (
F12/Cmd+Option+I)Session_id: Application → Cookies →
games.yandex.ru→ copySession_idvalueCSRF token: Network tab → find a POST request to
/console/api/application→ Request Headers → copyX-CSRF-Token
Warning: Credentials grant full access to your developer account. Never share them or commit them to version control.
Usage with opencode
Add to your project's opencode.json or global ~/.config/opencode/opencode.json:
{
"mcp": {
"yagames-mcp": {
"type": "local",
"command": ["node", "/path/to/yagames-mcp/build/index.js"],
"enabled": true,
"env": {
"YAGAMES_SESSION_COOKIE": "your_session_id",
"YAGAMES_CSRF_TOKEN": "your_csrf_token"
}
}
}
}Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"yagames-mcp": {
"command": "node",
"args": ["/path/to/yagames-mcp/build/index.js"],
"env": {
"YAGAMES_SESSION_COOKIE": "your_session_id",
"YAGAMES_CSRF_TOKEN": "your_csrf_token"
}
}
}
}npx (from npm)
npx yagames-mcpArchitecture
yagames-mcp/
├── src/
│ ├── index.ts # MCP server entry (JSON-RPC over stdio)
│ ├── types.ts # Shared TypeScript types
│ ├── client/
│ │ ├── catalog.ts # Public catalog client (HTML scraping)
│ │ └── console.ts # Authenticated console client (REST API)
│ └── tools/
│ ├── catalog.ts # yagames-search, yagames-popular, yagames-categories
│ ├── draft.ts # yagames-create-draft, yagames-update-draft
│ ├── build.ts # yagames-upload-build
│ ├── moderation.ts # yagames-submit-moderation, yagames-publish
│ └── status.ts # yagames-status, yagames-list-my-games
├── build/ # Compiled JS output
├── package.json
└── tsconfig.jsonHow it works
Public catalog scrapes HTML from
yandex.ru/games— Yandex Games renders game data server-side in__appData__JSON and game-card elements. No API key required.Console API calls
games.yandex.ru/console/api/application*withSession_idcookie andX-CSRF-Tokenheader for authentication.Transport: stdio (standard MCP protocol). The server speaks JSON-RPC 2.0.
API endpoints
Endpoint | Purpose |
| Public catalog (HTML) |
| Create a game draft |
| List all games |
| Get/update game details |
| Upload build |
| Submit for review |
| Publish game |
The Yandex Games platform
Yandex Games is one of the largest HTML5 game platforms in the CIS region.
Developer documentation: yandex.ru/dev/games, with a library of over 2,000 games. The audience is predominantly 55+ (38%), with 58% women and 42% men. Games are monetized through in-game ads. The platform has 27 genre categories.
License
MIT
Available Tools
10 toolsyagames-categoriesA
List all available game categories/genres on Yandex Games
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but 'List' clearly signals a read-only operation with no side effects, and the zero-parameter schema confirms no input requirements. It does not describe the return format or potential error conditions, which is a minor gap for such a simple catalog tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to explaining the tool's function, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation, the description states the essential scope and behavior. It could mention the shape of the returned categories, but the tool is simple enough that an agent can call it without additional context, and no output schema exists to supply that detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is nothing for the description to add beyond the empty schema. The baseline for a parameterless tool is 4, and the description accurately reflects that no arguments are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('all available game categories/genres on Yandex Games'), making the tool's purpose unambiguous. This clearly distinguishes it from sibling tools like yagames-search or yagames-popular, which target game search or popular content rather than categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when the agent needs the full set of game categories/genres. It does not explicitly name alternatives or exclusion conditions, but no sibling directly overlaps with category listing, so the usage context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-create-draftA
Create a new game draft in the Yandex Games Console. Requires YAGAMES_SESSION_COOKIE and YAGAMES_CSRF_TOKEN env vars
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO description (50-160 chars) | |
| tags | No | Tags describing the game (max 20) | |
| title | Yes | Game title (max 50 chars) | |
| category | Yes | Genre categories (max 2) | |
| ageRating | Yes | Age rating | |
| howToPlay | Yes | How to play instructions (100-1000 chars) | |
| languages | Yes | Languages the game supports (e.g. ["ru", "en"]) | |
| platforms | Yes | Supported platforms: desktop, mobile_ios, mobile_android | |
| cloudSaves | No | Whether the game uses cloud saves via SDK | |
| description | Yes | Full description (100-1000 chars) | |
| orientation | Yes | Screen orientation | |
| developerComment | No | Comment for moderation team (max 2048 chars) | |
| shortDescription | No | Short description (max 70 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses a meaningful operational prerequisite — the two required auth env vars (YAGAMES_SESSION_COOKIE, YAGAMES_CSRF_TOKEN) — which is genuinely useful. However, it does not describe side effects, rate limits, or expected response behavior for the mutation it performs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the core purpose is front-loaded and the critical auth requirement immediately follows. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter create operation, the description covers the biggest hidden prerequisite (auth env vars) while all parameters are fully documented in the schema. The only gap is the absence of return-value/output information, which would help an agent track the created draft, but no output schema exists to offset this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (title, category, ageRating, etc.) is already documented with constraints in the input schema. The tool description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('a new game draft in the Yandex Games Console'), making the tool's function immediately identifiable. The word 'new' also implies creation of a fresh draft, which distinguishes it from the yagames-update-draft sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: 'Create a new game draft' signals this is for initial creation, contrasting with the update-draft sibling in the tool list. However, no explicit when-to-use guidance or exclusion statements are given; the description relies on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-list-my-gamesA
List all games uploaded to your developer account. Requires auth env vars
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds the auth env var requirement and clarifies scope, but it does not state whether the operation is read-only, whether pagination applies, or what exact env vars are needed. The verb 'List' implies read-only, but specifics are sparse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence conveys the action, scope, and a critical prerequisite without filler. Every word adds value and the core behavior is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation, the description covers what it lists, whose account it lists, and that auth is required. It does not describe the return format or pagination, but the simple nature and explicit scope make it sufficiently complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and no required inputs, so there is nothing for the description to explain. The baseline for no-parameter tools is 4, and the description correctly avoids inventing unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and identifies a precise resource ('all games uploaded to your developer account'). The 'my games' scope clearly separates it from siblings like yagames-search or yagames-popular.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states an auth prerequisite and establishes the tool is for the developer's own games. However, it does not explicitly mention when to choose this over yagames-search or other siblings, leaving the decision partly inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-popularA
Get popular games from Yandex Games catalog, optionally filtered by category
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Category slug (e.g. casual, puzzles, match3, merge, action). See yagames-categories for full list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral transparency burden. 'Get' clearly conveys a read-only catalog lookup, but the description omits useful behavioral details such as pagination, result limits, ordering, or error behavior for invalid categories.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the main operation and then adds the one relevant filter caveat. Every word contributes meaning, with no filler or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is largely sufficient for correct invocation. The only notable gap is the lack of information about the return format, result count, or pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single optional category parameter is already well documented with examples and a pointer to yagames-categories. The description adds only the word 'optionally,' which is also implied by the schema having zero required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific operation 'Get popular games' and names the resource, the Yandex Games catalog, with an optional category filter. This is clear and distinct from the search and categories siblings, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool—when popular games are wanted—and the category schema points to yagames-categories for valid values. However, it gives no explicit guidance on when to choose this over yagames-search or other catalog-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-publishA
Publish a game that has passed moderation. Requires auth env vars
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Game ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds the important requirement of auth env vars and implies a state transition from moderated to published. However, it does not disclose side effects (e.g., irreversibility, visibility changes, idempotency). For a simple one-parameter tool this is adequate though not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action, then gives the critical precondition and authentication requirement. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter, no output schema, and no annotations, the description covers the essential aspects: what it does, when it is valid, and what environment prerequisites exist. It does not describe the result or response, but that is less critical given the simple nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already defines appId as 'Game ID'. The description does not add any additional meaning beyond connecting appId to the moderated game. This aligns with the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Publish') and the resource ('a game'), with a specific precondition ('has passed moderation'). This distinguishes it from sibling tools like yagames-submit-moderation (submission) and yagames-update-draft (draft editing), so an agent can immediately grasp what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly conditions usage on the game having passed moderation, which is the key selection criterion among siblings. It does not explicitly name alternative tools for other states, but the precondition strongly implies when not to use it. This is clear context without formal exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-searchB
Search games in the Yandex Games catalog by keyword
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action and target; it does not disclose whether the operation is read-only, how results are returned, whether pagination or ordering applies, or whether it searches title, description, or metadata. The search behavior beyond the bare action remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler. The action and target are front-loaded, and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should clarify what a successful search returns and any notable behavior like empty results or limits. It does not. While the parameter side is complete, the overall description leaves important gaps for an agent deciding whether and how to use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, 'query', is described as 'Search keyword'. The description's 'by keyword' adds no meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a clear resource ('games in the Yandex Games catalog'), and a specific method ('by keyword'). It is immediately distinguishable from sibling tools like yagames-publish or yagames-list-my-games, so an agent can tell which operation this tool performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for keyword-based searching, and the sibling list covers other operations, so the usage context is inferable. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions or prerequisites, leaving some guidance to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-statusA
Check the current status of a game (draft, moderation, publish). Requires auth env vars
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Game ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds the useful requirement 'Requires auth env vars' and the verb 'Check' suggests a read-only operation, but it does not explicitly confirm the absence of side effects, describe error behavior, or mention any rate limits. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that leads with the action and subject, then lists the relevant statuses and the auth requirement. Every word adds value and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should clarify what the caller can expect in return. It lists the possible statuses but does not state the response format (e.g., a simple string versus a structured object), nor does it cover error cases like an unknown appId. It is sufficient for a basic understanding but lacks full contextual detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents 'appId' as 'Game ID'. The description adds no further parameter meaning beyond the term 'game', which is consistent with the schema. Thus the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Check') and resource ('current status of a game') and enumerates the possible status values. It is unmistakably distinct from sibling tools like yagames-search, yagames-upload-build, and yagames-publish, so an agent can immediately tell what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: whenever the agent needs to know a game's lifecycle status. However, it does not explicitly name alternatives or state when not to use it, leaving the decision to inference rather than clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-submit-moderationA
Submit a game draft for moderation review. Takes 3-5 business days. Requires auth env vars
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Game ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully reveals the 3-5 business day delay and auth requirement, but does not mention side effects like the draft becoming locked during review, whether resubmission is allowed, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that includes both the core action and two important operational details. Every word earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool, the description gives adequate invocation context: what action is taken, how long it takes, and that auth is needed. However, it lacks guidance on how the agent should verify submission success or handle post-submission status, especially given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the only parameter appId is already described as 'Game ID'. The description adds no additional semantic detail about the parameter, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Submit') and resource ('a game draft for moderation review'), which clearly distinguishes it from siblings like yagames-publish and yagames-update-draft. The meaning is immediately unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the moderation timeline and auth requirement, giving some operational context. However, it does not explicitly state when to use this tool versus the alternatives, such as publishing after approval or updating the draft before submission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-update-draftC
Update an existing game draft. Requires authentication env vars
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| appId | Yes | Game ID from the console | |
| title | No | ||
| category | No | ||
| ageRating | No | ||
| howToPlay | No | ||
| languages | No | ||
| platforms | No | ||
| cloudSaves | No | ||
| description | No | ||
| orientation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the authentication-env-var prerequisite, a genuine operational fact beyond the name. But it never states whether the update is a partial patch or full replacement, what happens if the draft is already in moderation, or whether changes affect a published game.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and resource, with the prerequisite in a clean second sentence. Nothing is wasted, though the terseness borders on under-specification for an 11-parameter mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 11 parameters, no annotations, and no output schema, the description is under-equipped: no update semantics, no effect on moderation state, no return-value information. The auth note is the only contextual hint, and required-parameter semantics beyond 'appId is the console ID' are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 9% — ten of eleven parameters (tags, title, category, howToPlay, languages, platforms, cloudSaves, description, orientation, ageRating) have no schema description — so the tool description must compensate. It provides zero information about any parameter: no guidance on which fields are updatable, how to format them, or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Update') on a specific resource ('an existing game draft'), and the word 'existing' implicitly separates it from the sibling yagames-create-draft. However, it adds little beyond the tool name itself and relies on inference rather than explicitly naming distinguishing scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives no guidance on when to use this tool versus its nine siblings. The 'Requires authentication env vars' note is a prerequisite, not a selection criterion; there is no mention that create-draft is for new drafts, that upload-build feeds drafts, or where update fits in the moderation/publish workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yagames-upload-buildB
Upload a game ZIP archive as a new build. Requires authentication env vars
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Game ID from the console | |
| version | No | Version string (default: 0.0.0.1) | |
| archivePath | Yes | Local path to the ZIP archive containing the game (must have index.html in root) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It only notes 'Requires authentication env vars' and the fact that it uploads. It does not disclose side effects, whether an existing build/version is overwritten, validation behavior, or expected results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one focused sentence with no filler. It front-loads the primary purpose and adds a relevant auth requirement without wasting words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating upload tool with no annotations and no output schema, the description is too sparse. It lacks guidance on selecting this tool over siblings, behavioral expectations, and any post-upload context. The auth note helps but does not make the definition complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters and even adds a useful constraint about index.html in the archive root. The description itself adds no additional parameter-level meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Upload'), a specific resource ('a game ZIP archive'), and a clear outcome ('as a new build'). This distinguishes it from lifecycle siblings like yagames-update-draft, yagames-submit-moderation, and yagames-publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The action itself implies when it should be used: when uploading a ZIP as a new build. However, there is no explicit guidance about when to prefer this over yagames-update-draft or other alternatives, and no mention of lifecycle or prerequisite steps beyond auth.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v0.1.0- First observed
yagames-categories - First observed
yagames-create-draft - First observed
yagames-list-my-games - First observed
yagames-popular - First observed
yagames-publish - First observed
yagames-search - First observed
yagames-status - First observed
yagames-submit-moderation - First observed
yagames-update-draft - First observed
yagames-upload-build
TDQS
Scored across 10 tools
Most tools target distinct actions in the catalog or developer lifecycle. Search and popular both return catalog games but differ by keyword versus ranking, and status versus list-my-games have different scopes. These are minor overlaps, not true duplicates.
All names share the consistent yagames- prefix and snake_case, but the action pattern is inconsistent: five use verb_noun like upload-build and create-draft, while others are bare verbs like search and publish, or nouns/adjectives like status, categories, and popular. This mixed convention is readable but not a uniform verb_noun scheme.
Ten tools is well-scoped for the server's dual purpose of browsing the Yandex Games catalog and managing a developer's game lifecycle. No obvious bloat or overly narrow set.
The developer lifecycle is well covered: draft creation/update, build upload, moderation submission, publishing, and status checks are all present, plus catalog browsing via search, popular, and categories. Minor gaps exist such as no delete/unpublish or detailed single-game get, but agents can complete the primary workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
Publish and discover MCP servers via the official MCP Registry. Powered by HAPI MCP server.
MCP server for Appcircle mobile CI/CD platform.
MCP Server for JFrog, providing tools for development and artifact management.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Yandex Disk that enables file and folder management, search, upload/download, publishing, and trash operations through natural language.22MIT
- AlicenseAqualityFmaintenanceMCP server for interacting with Yandex.Webmaster API to manage sites, retrieve search queries, and check indexing status. Requires an OAuth token.13713MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for managing Yandex Cloud infrastructure including Compute VMs, Object Storage, Serverless Functions, and Operations.171MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI assistants to interact with Yandex 360 organization services, currently supporting Yandex Wiki for reading, editing, and searching pages.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PETERGS27/YaGamesMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server