> For the complete documentation index, see [llms.txt](https://docs.cloud.olakrutrim.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloud.olakrutrim.com/mcp/overview.md).

# Overview

Bring Krutrim Cloud resource discovery and supported operations into your preferred AI client.

Krutrim Cloud MCP brings Krutrim Cloud resource discovery and supported operations into your preferred AI client. The local stdio server authenticates to Krutrim Cloud with your API key and works within your access permissions.

![Krutrim Cloud MCP Overview](https://3930361567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlcdalF6NcNO6DZa5TKbY%2Fuploads%2F5aLTPPKjstYzgMwjk2PP%2FUntitled%20design%20\(1\).png?alt=media\&token=e0b57145-7c81-452c-b87f-3501c39509dd)

## Why Krutrim Cloud MCP?

Use natural-language requests in your AI client while keeping the work grounded in Krutrim Cloud tools, regions, and your access permissions. One local MCP server connects your preferred clients without a separate Cloud integration for each.

## What you can do

* Discover available regions, VPCs, virtual machines, load balancers, and other supported Cloud resources.
* Run supported operations from the client you already use.
* Authenticate with your Krutrim Cloud API key and keep operations within your access permissions.

## Choose your client

Use the guide for your client: the configuration format and secret-handling options differ.

| Connection guide                                 | Configuration                           |
| ------------------------------------------------ | --------------------------------------- |
| [Claude Desktop](/mcp/connect-claude-desktop.md) | JSON · local desktop configuration      |
| [Codex](/mcp/connect-codex.md)                   | TOML · local user configuration         |
| [Cursor](/mcp/connect-cursor.md)                 | JSON · global or project configuration  |
| [VS Code](/mcp/connect-vs-code.md)               | JSON · user profile with masked input   |
| [Hermes Agent](/mcp/connect-hermes.md)           | YAML · local agent configuration        |
| [OpenCode](/mcp/connect-opencode.md)             | JSON / JSONC · local user configuration |

Need help? Open [Troubleshooting](/mcp/troubleshooting.md) for startup, API-key, and tool-discovery checks.

## Initial setup

### Prerequisites

* A Krutrim Cloud account.
* A Krutrim Cloud API key, stored privately.
* An MCP-compatible client.
* Your target region, such as `In-Bangalore-1` or `In-Hyderabad-1`.

{% stepper %}
{% step %}

### Install the MCP server

You can run the server directly with `uvx`, or install it into a virtual environment. Python 3.10–3.13 is supported.

PyPI package: <https://pypi.org/project/krutrim-mcp-server/>

Latest version: **1.0.5**

Recommended for the client examples below: install uv so `uvx` is available, then check the package.

```bash
uvx krutrim-mcp-server --help
```

Optional: install into a virtual environment instead.

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install krutrim-mcp-server
```

On Windows, activate the environment with:

```powershell
.venv\Scripts\Activate.ps1
```

The connection guides use `uvx`. If you choose a virtual-environment installation, configure the client to launch that environment’s `krutrim-mcp-server` executable instead.
{% endstep %}

{% step %}

### Create and protect an API key

In Krutrim Cloud Console, go to **Administration → API keys → Create API Key**. Use the raw API key as `KRUTRIM_API_KEY`, without a `Bearer` prefix or surrounding spaces. Keep it private and restart the client after changing the key.

> Keep the API key private. Never put it in prompts, screenshots, logs, shared configuration, or source control.

#### Optional: create a key with curl or Postman

Alternatively, create an API key with curl or Postman. `POST https://cloud.olakrutrim.com/iam/v1/apikey` requires an authorized Cloud Console access token. That token is for key creation only; MCP uses the returned API key, not the Console token.

{% code overflow="wrap" %}

```bash
curl --request POST 'https://cloud.olakrutrim.com/iam/v1/apikey' \
  --header "Authorization: Bearer ${KRUTRIM_CONSOLE_ACCESS_TOKEN}" \
  --header 'Content-Type: application/json' \
  --header 'x-region: In-Hyderabad-1' \
  --data '{"apiKeyName":"mcp-key"}'
```

{% endcode %}

Set `KRUTRIM_CONSOLE_ACCESS_TOKEN` privately before running the request. In Postman, import the curl request, choose Authorization → Bearer Token, and enter your authorized Console access token. Browser cookies are not needed. Store the returned `secretKey` securely and use it as `KRUTRIM_API_KEY`. Never share keys in prompts, screenshots, logs, or source control.
{% endstep %}

{% step %}

### Configure your client

Choose one of the six connection guides above and merge its example into your existing client configuration. Each guide uses the correct format for that client; there is no single JSON schema shared by all clients.

Save the configuration and restart the client after changing the configuration or API key.
{% endstep %}

{% step %}

### Verify Cloud access

Ask your connected client to make a read-only Cloud request:

```
List my VPCs in In-Bangalore-1.
```

Review the proposed `list_vpcs` invocation and confirm the region. A successful request verifies API-key access and permissions; local tool discovery alone does not.

For local package checks and connection failures, see [Troubleshooting](/mcp/troubleshooting.md).
{% endstep %}
{% endstepper %}

## Use Cloud tools safely

List resources first, select exact identifiers and a supported region (`In-Bangalore-1` or `In-Hyderabad-1`), then review the proposed change.&#x20;

Mutations require `confirm=true`; floating-IP allocation also requires `allow_public_ip=true`. Set `KRUTRIM_MCP_READ_ONLY=true` to block mutations.&#x20;

{% hint style="warning" %}
Note: After a create timeout, check whether the resource exists before retrying.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cloud.olakrutrim.com/mcp/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
