Yandex Cloud MCP Server
Provides tools for managing Yandex Cloud infrastructure, including Compute VM (list, get, start, stop), Object Storage (list buckets), Serverless Functions (list, invoke), and checking operation status.
Click on "Deploy 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., "@Yandex Cloud MCP ServerShow me all virtual machines in my folder."
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.
Yandex Cloud MCP — управление облаком из диалога с нейросетью
Если вы искали, как запустить или погасить виртуалку в Яндекс Облаке одной фразой, посмотреть содержимое бакета Object Storage или вызвать serverless-функцию без консоли и CLI — это оно. 8 инструментов: Compute VM, Object Storage, Serverless Functions и статусы операций.
Часть серии WWmcp (46 серверов) by @theYahia.
Установка
Claude Desktop
{
"mcpServers": {
"yandex-cloud": {
"command": "npx",
"args": ["-y", "@theyahia/yandex-cloud-mcp"],
"env": { "YANDEX_CLOUD_TOKEN": "your-iam-token", "YANDEX_CLOUD_FOLDER_ID": "your-folder-id" }
}
}
}Claude Code
claude mcp add yandex-cloud -e YANDEX_CLOUD_TOKEN=your-iam-token -e YANDEX_CLOUD_FOLDER_ID=your-folder-id -- npx -y @theyahia/yandex-cloud-mcpVS Code / Cursor
{ "servers": { "yandex-cloud": { "command": "npx", "args": ["-y", "@theyahia/yandex-cloud-mcp"], "env": { "YANDEX_CLOUD_TOKEN": "your-iam-token", "YANDEX_CLOUD_FOLDER_ID": "your-folder-id" } } } }Требуется
YANDEX_CLOUD_TOKEN(IAM-токен) иYANDEX_CLOUD_FOLDER_ID. Получите в консоли Yandex Cloud.
Related MCP server: selectel-mcp
Инструменты (8)
Инструмент | Описание |
| Список виртуальных машин в каталоге |
| Информация о VM по ID |
| Запустить VM |
| Остановить VM |
| Список бакетов Object Storage |
| Список serverless-функций |
| Вызвать serverless-функцию |
| Проверить статус операции |
Демо-промпты
Покажи все виртуальные машины в моём каталоге
Получи информацию о VM epd1234567890
Запусти виртуальную машину epd1234567890
Остнови VM epd1234567890
Покажи все бакеты Object Storage
Покажи все serverless-функции
Вызови функцию d4e1234567890 с payload {"key": "value"}
Проверь статус операции abcdef123456Лицензия
MIT
Available Tools
8 toolsget_instanceB
Получить информацию о виртуальной машине по ID.
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | ID виртуальной машины |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read-only operation ('get information'), which is a useful behavioral trait given there are no annotations. However, it does not disclose potential error cases (e.g., invalid ID), authentication requirements, or return shape beyond the implicit read nature. For a simple get, this is adequate but not thorough.
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. It front-loads the action ('get information') and the key qualifier ('by ID'). Every word contributes to the meaning, making it well-structured for quick parsing.
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 with no output schema, the description is nearly complete. An agent knows the operation is a fetch by ID and can correctly invoke it using the schema. Minor gaps like response content or error behavior are not critical for making the call, so a 4 is appropriate.
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%: the only parameter instance_id is described as 'ID виртуальной машины'. The description repeats this same information ('по ID') without adding format, validation, or usage details. Baseline 3 applies because the schema already documents the parameter fully.
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 clear verb and resource: 'Get information about a virtual machine by ID.' It is distinct from sibling tools like list_instances or start_instance, but it does not explicitly differentiate itself from them. The 'by ID' scope helps, but lacks a direct contrast with 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?
No guidance is provided about when to use this tool instead of list_instances, get_operation, or other siblings. There is no mention of prerequisites, context, or exclusion criteria. The description only states what the tool does, not when to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_operationB
Проверить статус асинхронной операции по ID.
| Name | Required | Description | Default |
|---|---|---|---|
| operation_id | Yes | ID операции для проверки статуса |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states the nominal purpose and does not mention response format, whether the operation result is included, or any polling/error behavior.
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, direct sentence with no filler or redundant wording. It is appropriately sized for a one-parameter 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?
With no annotations and no output schema, the description does not explain what the status response contains or how the agent should interpret it. It is minimally sufficient to identify the call but incomplete for fully informed 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 input schema already documents operation_id with 100% coverage, and the description adds no additional semantic detail about the parameter. The baseline score of 3 applies because the schema fully handles parameter documentation.
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 a specific verb ('Проверить') and resource ('статус асинхронной операции по ID'), making the tool's function immediately understandable. It also distinguishes itself from sibling tools like get_instance or list_instances by focusing on asynchronous operation status rather than resources.
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?
No guidance is provided about when to use this tool versus alternatives, such as after starting an async operation or for polling workflows. The purpose is implied but not explicitly contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_functionB
Вызвать serverless-функцию с payload.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | No | JSON payload для вызова функции | {} |
| function_id | Yes | ID serverless-функции |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It only says 'invoke with payload' and does not disclose whether invocation is synchronous, whether it creates resources, what errors may occur, or what the operation returns. This is a significant gap for a mutation-like operation.
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 clear sentence with no filler; it is appropriately sized for a simple tool. It does not earn points for extra guidance, but it is not bloated or redundant.
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 no annotations and no output schema, the description should disclose return behavior, side effects, and invocation semantics. The current text is minimal and leaves the agent without enough context to predict the result of the call or handle failures.
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 both parameters have descriptions, so the baseline is 3. The description mentions payload but adds no meaning beyond what the input schema already provides—no format hints, invocation type, or relationship between function_id and payload.
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 'Вызвать serverless-функцию с payload' gives a specific verb (invoke) and resource (serverless function), plus the key input (payload). It is clearly distinguishable from siblings like list_functions, get_operation, and start_instance/stop_instance.
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 no guidance about when to use this tool versus alternatives, and no exclusions or prerequisites. Sibling tool names hint at the difference, but the description itself does not say 'use this instead of list_functions' or similar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bucketsB
Список бакетов Object Storage в каталоге.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | No | ID каталога (по умолчанию из env) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action (list) but does not indicate read-only nature, return format, pagination, or error handling. For a list operation, the absence of return description and any side effects leaves significant ambiguity.
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 directly states the tool's purpose. It is front-loaded with the key verb and resource. There is no wasted wording, making it efficient, though it sacrifices depth for brevity.
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 optional parameter and no output schema, the description is minimally adequate: it tells what the tool does. However, it does not describe what the tool returns (e.g., list of bucket names) or any caveats. Given the simplicity, the absence of return details is a notable gap but not critical. The description is functionally sufficient for a trivial listing 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 description coverage is 100%, and the single parameter (folder_id) is fully documented in the schema with its default behavior. The description adds no extra meaning beyond the schema, but since the schema already explains the parameter, a baseline 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 'list' and resource 'buckets of Object Storage' with an optional location qualifier 'в каталоге'. This clearly distinguishes it from sibling tools like list_instances or list_functions, which target different resources. The purpose is 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 provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, dependencies, or explicit states (e.g., 'use when you need to enumerate buckets'). Without sibling differentiation or context, an agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_functionsB
Список serverless-функций в каталоге.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | No | ID каталога (по умолчанию из env) |
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 disclosing behavior. The word 'Список' implies a read-only listing, but the description does not state whether the operation only reads data, what the return structure looks like, whether pagination exists, or how the default folder from the environment is used.
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, focused sentence with no redundant wording. The action and resource are front-loaded, and every word contributes to the 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?
This is a simple tool with one optional parameter and no output schema, so the description is minimally viable. However, it lacks information about the return format, pagination, usage context, and alternatives, which an agent would need for confident 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?
Schema description coverage is 100%: the only parameter, folder_id, already has a description stating it is the folder ID and defaults to the environment value. The tool description adds no additional parameter detail, so the baseline 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 uses a specific verb and resource ('Список serverless-функций' = list serverless functions) and indicates the scope ('в каталоге' = in the folder). It clearly distinguishes the tool from siblings like list_instances and list_buckets by resource type, though it does not explicitly name those siblings.
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?
There is no guidance on when to use this tool versus alternatives such as list_instances or invoke_function. The only usage signal is implicit in the resource name and description; no exclusions, prerequisites, or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_instancesB
Список виртуальных машин (Compute) в каталоге Yandex Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | No | ID каталога (по умолчанию из env) |
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 says 'list' and does not state whether the operation is read-only, whether pagination applies, what fields are returned, or whether any permissions are required. The word 'list' implies retrieval, but little else is disclosed.
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 containing the relevant resource and scope, with no filler or repetition. It is appropriately sized for a one-parameter list operation.
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 list tool with one optional parameter, the description is nearly sufficient, but with no output schema or annotations it omits return shape, pagination, and authorization expectations. An agent can invoke it, but may not know what the result contains without additional information.
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%: folder_id already has a clear description with default-from-env behavior. The main description repeats the folder scope but adds no new parameter-level details, 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 names a specific resource (virtual machines/Compute) and scope (a Yandex Cloud folder), and the verb 'list' distinguishes it from single-instance or action-oriented siblings. It does not explicitly name alternatives, but the operation and resource are 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 scope 'in a folder' implies the tool is for enumerating VMs rather than fetching one or acting on one, but there is no explicit when/when-not guidance or mention of alternatives like get_instance, start_instance, or stop_instance. Usage must be inferred from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_instanceC
Запустить виртуальную машину.
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | ID виртуальной машины для запуска |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It merely states 'start' without explaining side effects, idempotency, asynchrony, required VM state, or what the response contains. This is minimal disclosure for a state-changing operation.
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 short, front-loaded sentence with no filler or redundant content. It is economical and easy to parse, though it is slightly too terse to fully compensate for the missing behavioral context.
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 no annotations and no output schema, the description provides only the core action and resource. It lacks usage guidance, behavioral details, and outcome information, leaving an agent to infer too much from the tool name and sibling names.
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 covers 100% of parameter documentation, including the instance_id string and its description, so the baseline is 3. The description adds no additional parameter meaning beyond the schema, but none is strictly required here.
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 ('Запустить' - start) and resource ('виртуальную машину' - virtual machine), making the action clear and distinguishing it from stop_instance and list_instances. It does not mention the broader service or any constraints, so it falls just short of a perfect score.
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?
No guidance is provided about when to use this tool versus alternatives like stop_instance or get_instance. There are no stated prerequisites, such as the VM needing to be in a stopped state, and no mention of when this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_instanceC
Остановить виртуальную машину.
| Name | Required | Description | Default |
|---|---|---|---|
| instance_id | Yes | ID виртуальной машины для остановки |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only names the action; it does not disclose what 'stopping' entails (graceful vs forced shutdown), whether it is reversible via start_instance, whether it is asynchronous (get_operation exists as a sibling), or what state the VM ends up in.
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 front-loaded sentence with no filler, appropriately short for a one-parameter tool. The brevity reflects under-specification more than deliberate economy, which keeps it from a 5.
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 state-changing tool with no annotations and no output schema, the description is too thin. It omits reversibility (start_instance sibling), potential async behavior (get_operation sibling), and state requirements, leaving an agent without enough context to invoke it correctly and interpret the outcome.
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 sole parameter instance_id is documented as 'ID виртуальной машины для остановки', so the schema fully carries the parameter meaning. The description adds no parameter detail, but the baseline 3 applies because the schema covers it entirely.
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 'Остановить виртуальную машину' (Stop the virtual machine) states a specific verb and resource in natural language. It clarifies that 'instance' refers to a virtual machine, and the verb 'stop' clearly differentiates it from the sibling start_instance. It is minimal and essentially restates the tool name's meaning, but the core purpose is 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 gives no guidance on when to use this tool versus its siblings such as start_instance, list_instances, or get_instance. There is no mention of prerequisites, such as the VM needing to be in a running state, nor any exclusions or alternative conditions.
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.
8 tool updates
v1.0.1- First observed
get_instance - First observed
get_operation - First observed
invoke_function - First observed
list_buckets - First observed
list_functions - First observed
list_instances - First observed
start_instance - First observed
stop_instance
TDQS
Scored across 8 tools
Each tool maps cleanly to a distinct resource and action: instance lifecycle (list/get/start/stop), bucket listing, function listing/invocation, and generic operation status. There is no meaningful overlap between any pair of tools.
All tools follow the same verb_noun snake_case pattern: list_instances, get_instance, start_instance, list_buckets, invoke_function, get_operation. The naming is predictable and easy to infer.
Eight tools is a reasonable, focused set for a Yandex Cloud server covering compute, storage, serverless, and async operations. Each tool serves a clear purpose without bloat.
The surface is notably incomplete: compute instances only support list/get/start/stop with no create or delete, Object Storage only lists buckets with no object or bucket management, and serverless functions only support list/invoke without create/update/delete. Agents would frequently hit dead ends when trying to perform common cloud operations.
Maintenance
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
MCP server for Russian books search, details, and recommendation candidates.
Related MCP Servers
- FlicenseBqualityDmaintenanceRead-only MCP server for Yandex Cloud resources including VMs, networks, disks, and more, with support for cloud/organization level access.332-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives an AI agent controlled access to a Selectel cloud account: OpenStack cloud servers, S3 object storage, and account billing.1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for interacting with Yandex Cloud AI Studio, enabling chat, text generation, image generation, speech recognition/synthesis, embeddings, classification, search indexes, and AI agent creation with function calling.-
- AlicenseAqualityDmaintenanceMCP server for Yandex Games that enables searching the catalog, managing game drafts, uploading builds, and publishing games.10MIT