MCP server
Run the Krova Cloud MCP server so Claude, Cursor, and any MCP client can provision and manage Cubes in natural language.
@krovacloud/mcp is a Model Context Protocol server that exposes Krova Cloudas a set of tools an AI agent can call. Ask Claude to "spin up a 2-vCPU Ubuntu cube in us-east", "list my running cubes", or "sleep the idle ones", and it drives the Krova CloudAPI for you. It's a thin, fully typed bridge over the TypeScript SDK, published on npm as @krovacloud/mcp.
Quickstart
The fastest way to try it — no install, no clone. The server speaks MCP over stdio, so you normally don't run it by hand; your MCP client launches it with this command.
KROVA_API_KEY=kro_... npx -y @krovacloud/mcpYou need a Krova Cloud API key — create one per space from Settings → API keys in the dashboard (see API keys). Set KROVA_SPACE_ID too if you want the Cube tools to default to one space.
Configuration
The server is configured entirely through environment variables.
KROVA_API_KEY(required) — yourkro_…key, scoped to a space.KROVA_SPACE_ID— a default space id, so Cube tools can omitspaceId.KROVA_BASE_URL— override the API base URL (defaults to the Krova Cloud production API).
Connect your client
Every client uses the same launch command (npx -y @krovacloud/mcp) and the same environment variables.
Claude Desktop
Open Settings → Developer → Edit Config (or edit claude_desktop_config.json directly) and add:
{
"mcpServers": {
"krova": {
"command": "npx",
"args": ["-y", "@krovacloud/mcp"],
"env": {
"KROVA_API_KEY": "kro_your_api_key_here",
"KROVA_SPACE_ID": "space_optional_default"
}
}
}
}Restart Claude Desktop; the Krova Cloud tools appear under the tools (🔨) menu.
Claude Code
Add the server with one command:
claude mcp add krova \
--env KROVA_API_KEY=kro_your_api_key_here \
--env KROVA_SPACE_ID=space_optional_default \
-- npx -y @krovacloud/mcpOr check a .mcp.json into your project root (shared with your team) using the same mcpServers shape as above, then verify with claude mcp list.
Cursor
Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects) with the same mcpServers config, then enable the krova server in Cursor Settings → MCP.
Any other MCP client
Any client that speaks MCP over stdio works — launch npx -y @krovacloud/mcp with the environment variables set. The config shape above is portable across VS Code (Copilot), Windsurf, Zed, and custom agents built on the MCP SDK.
Tools
19 tools cover the Cube lifecycle, the catalog, and a Cube's attached resources. Every tool's spaceId is optional when KROVA_SPACE_ID is set.
- Cubes —
list_cubes,get_cube,create_cube,sleep_cube,wake_cube,delete_cube,restore_cube. - Catalog —
list_regions,list_images,get_pricing. - Domains —
list_domains,create_domain,delete_domain. - Snapshots —
list_snapshots,create_snapshot,delete_snapshot. - TCP mappings —
list_tcp_mappings,create_tcp_mapping,delete_tcp_mapping.
Every tool advertises MCP annotations: the read tools are marked read-only, while the billable/irreversible ones — create_cube, all the delete_* tools, and restore_cube(which replaces a Cube's disk) — are marked destructive. Most clients prompt for confirmation before a destructive tool — keep that confirmation on, since an LLM driven by untrusted content could be induced to call one.
Security
Your API key is scoped to a single space and never leaves your machine — the server runs locally and talks directly to the Krova Cloud API. Never commit the key or paste it into logs, issues, or chats; rotate any key you believe has been exposed.
Next steps
- API keys — create the key the server authenticates with.
- TypeScript SDK — the typed client this server is built on.
- Cubes — what the tools create, and how sleep/wake billing works.