World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
Description from the maker (original English)
Provision and manage Krova Cloud Cubes — Firecracker microVMs with root access and no public IP.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Cloud MCP key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
SettingsDeveloperEdit Config
{
"mcpServers": {
"krova": {
"command": "npx",
"args": [
"-y",
"@krovacloud/mcp"
],
"env": {
"KROVA_API_KEY": "your-value",
"KROVA_SPACE_ID": "your-value",
"KROVA_BASE_URL": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Cloud MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using Cloud MCP or shows a Cloud MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Cloud MCP yet
Cloud MCP runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Cloud MCP
B · Others in Other that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
You need a Cloud MCP key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add krova --env KROVA_API_KEY=your-value --env KROVA_SPACE_ID=your-value --env KROVA_BASE_URL=your-value -- npx -y @krovacloud/mcpReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Cloud MCP listed as connected
Use Cloud MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Cloud MCP or shows a Cloud MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Cloud MCP key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Cloud MCP settings, KROVA_API_KEY, KROVA_SPACE_ID, KROVA_BASE_URL is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Cloud MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Cloud MCP or shows a Cloud MCP tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Cloud MCP key (sign up on the maker’s site, may cost money) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Cloud MCP settings, KROVA_API_KEY, KROVA_SPACE_ID, KROVA_BASE_URL is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Cloud MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Cloud MCP or shows a Cloud MCP tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add krova --env KROVA_API_KEY=your-value --env KROVA_SPACE_ID=your-value --env KROVA_BASE_URL=your-value -- npx -y @krovacloud/mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"krova": {
"command": "npx",
"args": [
"-y",
"@krovacloud/mcp"
],
"env": {
"KROVA_API_KEY": "your-value",
"KROVA_SPACE_ID": "your-value",
"KROVA_BASE_URL": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"krova": {
"command": "npx",
"args": [
"-y",
"@krovacloud/mcp"
],
"env": {
"KROVA_API_KEY": "your-value",
"KROVA_SPACE_ID": "your-value",
"KROVA_BASE_URL": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"krova": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@krovacloud/mcp"
],
"env": {
"KROVA_API_KEY": "your-value",
"KROVA_SPACE_ID": "your-value",
"KROVA_BASE_URL": "your-value"
}
}
}
}KROVA_API_KEY secret required envKROVA_SPACE_ID envKROVA_BASE_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
The registry name was verified against the domain krova.cloud (the registry checks domain ownership)
Code last changed 2 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: KROVA_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 2 days ago, and the latest version (0.3.19) reached the registry 8 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: World Monitor, Claude Flow, Tldraw
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for [Krova Cloud](https://krova.cloud) — let Claude, Cursor, and any MCP client provision and manage Cubes (Firecracker microVMs) in natural language.
A Model Context Protocol server that exposes Krova Cloud as a set of tools an AI agent can call. Ask Claude to "spin up a 2-vCPU Ubuntu cube in us", "list my running cubes", or "power off the idle ones", and it drives the Krova Cloud API for you.
It's a thin, fully typed bridge over the official @krovacloud/sdk: each Krova Cloud operation is an MCP tool with a validated input schema, authenticated with your API key.
The fastest way to try it — no install, no clone:
KROVA_API_KEY=kro_... npx -y @krovacloud/mcp
The server speaks MCP over stdio, so you normally don't run it by hand — your MCP client launches it with that command. Pick your client below.
Krova Cloud also hosts this server at https://krova.cloud/mcp over Streamable HTTP. It exposes the same tools as this package, so there is nothing to install.
Add a custom connector with the URL https://krova.cloud/mcp. Sign in to Krova, pick a Space, and approve the connection. Access is limited to that Space, with your permissions in it.
Setup guides: Claude and ChatGPT.
With an API key:
claude mcp add --transport http krova https://krova.cloud/mcp --header "Authorization: Bearer kro_..."
Leave out --header to sign in with OAuth instead.
Send your API key in an Authorization: Bearer kro_... header on each request to https://krova.cloud/mcp.
The local stdio setup below is unchanged and still supported.
All clients use the same launch command (npx -y @krovacloud/mcp) and the same environment variables. Set at least KROVA_API_KEY; set KROVA_SPACE_ID too if you want the Cube tools to default to one Space.
Edit claude_desktop_config.json (Settings → Developer → Edit Config, or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS / %APPDATA%\Claude\claude_desktop_config.json on Windows) 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.
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/mcp
Or add it to .mcp.json in your project root (checked in, shared with your team):
{
"mcpServers": { "krova": { "command": "npx", "args": ["-y", "@krovacloud/mcp"], "env": { "KROVA_API_KEY": "kro_your_api_key_here", "KROVA_SPACE_ID": "space_optional_default" } } } }
Verify with claude mcp list.
Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):
{
"mcpServers": { "krova": { "command": "npx", "args": ["-y", "@krovacloud/mcp"], "env": { "KROVA_API_KEY": "kro_your_api_key_here", "KROVA_SPACE_ID": "space_optional_default" } } } }
Then enable the krova server in Cursor Settings → MCP.
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.
The server is configured entirely through environment variables:
| Variable | Required | Description |
|---|---|---|
KROVA_API_KEY | yes | Your Krova Cloud API key (kro_...). Scoped to a Space; inherits the permissions of the membership that created it. |
KROVA_SPACE_ID | no | A default Space id, so Cube tools can omit spaceId. |
KROVA_BASE_URL | no | Override the API base URL (defaults to the Krova Cloud production API). |
All 37 tools, their parameters, and what they do. Every tool's spaceId is optional when KROVA_SPACE_ID is set.
| Tool | Parameters | Description |
|---|---|---|
list_cubes | spaceId? | List all Cubes (Firecracker microVMs) in a Space. |
get_cube | spaceId?, cubeId | Get details for a single Cube by id. |
get_cube_ssh | spaceId?, cubeId | Host, port, login user and pinned host keys for SSH. host is the Cube's own stable SSH hostname — not the server's IP — and survives migration to another server; it falls back to the server's public IPv4 only when the Cube has no DNS record yet. Call this rather than guessing a username — it is ubuntu/debian on newer Cubes and root on older ones, and cannot be derived from the image id. |
create_cube | spaceId?, name, image, vcpu, ramGb, diskGb, sshPublicKey, region?, userData? | Provision a new Cube. Asynchronous — the returned Cube starts in a pending state. Billable. Destructive. |
power_off_cube | spaceId?, cubeId | Power off a running Cube (releases compute + host RAM, keeps disk). Asynchronous. |
wake_cube | spaceId?, cubeId | Start a stopped Cube. Asynchronous. |
restart_cube | spaceId?, cubeId | Restart a running Cube. This is a COLD restart — the Cube boots against the host's current kernel, so it is the only way to pick up a refreshed guest kernel (a reboot issued inside the Cube cannot, and reports no error). Disk state is preserved. Asynchronous; a concurrent restart is rejected, not queued. |
delete_cube | spaceId?, cubeId | Delete a Cube. Asynchronous — deletion is enqueued. Destructive. |
protect_cube | spaceId?, cubeId | Turn on termination protection: delete_cube is refused with 409 until it is turned off. Power-off, wake, restart, snapshot and restore stay allowed. Idempotent. |
unprotect_cube | spaceId?, cubeId | Turn termination protection off, so delete_cube works again. Idempotent. |
list_regions | — | List regions with available capacity. |
list_images | — | List available OS images for new Cubes. |
get_pricing | — | Get per-resource hourly rates and volume pricing tiers. |
list_domains | spaceId?, cubeId | List the custom domains attached to a Cube. |
get_domain_records | spaceId?, cubeId, mappingId | The DNS records a domain needs, each checked against live DNS — missing means not published yet (expected before the user creates them, never an error), and summary.complete turns true once every record is found. Performs real DNS lookups; rate limited. |
create_domain | spaceId?, cubeId, domain, port, originScheme?, proxyProtocol?, confirmMixedProxyProtocol? | Attach a custom domain to a Cube. Returns the domain and the DNS records to publish — relay them verbatim. |
update_domain | spaceId?, cubeId, mappingId, originScheme?, proxyProtocol?, confirmMixedProxyProtocol? | Change a domain's proxy settings: the origin scheme, and the PROXY protocol header (v1, v2 or off) that names the visitor on each connection to the Cube. Pass at least one; what you leave out keeps its value. |
delete_domain | spaceId?, cubeId, mappingId | Detach a custom domain. Destructive. |
list_snapshots | spaceId?, cubeId | List a Cube's disk snapshots. |
create_snapshot | spaceId?, cubeId, name? | Snapshot a Cube's disk. Asynchronous. |
delete_snapshot | spaceId?, cubeId, snapshotId | Delete a snapshot. Destructive. |
restore_cube | spaceId?, cubeId, snapshotId | Restore a Cube's disk from a snapshot — replaces the disk. Destructive. |
list_backups | spaceId? | List the space's backups, newest first. sharedFromBackupId is set on a copy another space shared with this one. |
get_backup | spaceId?, backupId | Get one backup. |
share_backup | spaceId?, backupId, destinationSpaceId | Offer a copy of a backup to another space. Nothing is copied until the destination accepts within 48 hours; the copy is then its own and billed to it. Destructive (it hands a copy of the disk to another space). |
list_backup_shares | spaceId? | Pending shares into (incoming) and out of (outgoing) the space. |
accept_backup_share | spaceId?, shareId | Accept a backup shared with the space. The space pays backup storage for its copy from now. Destructive (it adds a bill). |
decline_backup_share | spaceId?, shareId | Decline a backup shared with the space. Nothing is copied. |
cancel_backup_share | spaceId?, shareId | Withdraw a pending share the space offered. |
list_tcp_mappings | spaceId?, cubeId | List a Cube's TCP port mappings. |
create_tcp_mapping | spaceId?, cubeId, cubePort, whitelistedIps? | Expose a Cube TCP port on the host. whitelistIps is still accepted as a deprecated alias. |
delete_tcp_mapping | spaceId?, cubeId, mappingId | Remove a TCP port mapping. Destructive. |
list_webhooks | spaceId? | List the webhook endpoints in the space, with their events and whether each is enabled. |
get_webhook | spaceId?, endpointId | Get one webhook endpoint. The signing secret is never returned here. |
create_webhook | spaceId?, url, events, description? | Create a webhook endpoint. The signing secret is returned only in this response; persist it immediately. |
delete_webhook | spaceId?, endpointId | Delete a webhook endpoint and its delivery history. Destructive. |
list_webhook_deliveries | spaceId?, endpointId, limit? | The last 30 days of delivery attempts for an endpoint, newest first (max 100). |
Every tool advertises MCP annotations so your client can treat them appropriately: the sixteen read tools (list_cubes, get_cube, get_cube_ssh, list_regions, list_images, get_pricing, list_domains, get_domain_records, list_snapshots, list_backups, get_backup, list_backup_shares, list_tcp_mappings, list_webhooks, get_webhook, list_webhook_deliveries) are marked read-only, while the nine destructive tools (create_cube, delete_cube, delete_domain, delete_snapshot, restore_cube, share_backup, accept_backup_share, delete_tcp_mapping, delete_webhook) are marked destructive. update_domain mutates but is idempotent and reversible, so it is not. Most MCP clients surface a confirmation prompt before running a destructive tool — keep that confirmation on, since an LLM driven by untrusted content could be induced to call one.
The backup tools need the Backups permissions on the API key's member: View Backups to read, Manage Backups to share and answer shares. There is deliberately no download tool: the download link fetches the whole disk with no further authentication, and a model's conversation is the wrong place for it. Use krova backups download from the CLI.
create_cube parameters| Param | Type | Notes |
|---|---|---|
name | string | Human-readable Cube name. |
| image | string | OS image slug — s