@krovacloud/mcp
Official# krova-node
[](https://glama.ai/mcp/servers/krovacloud/krova-node)
The single home for the [Krova Cloud](https://krova.cloud) **JavaScript / TypeScript** packages — SDK,
CLI, MCP server, webhook verifier, and the n8n node. A pnpm-workspace monorepo:
the CLI/MCP consume the SDK via `workspace:*`, so everything stays in sync and a
cross-package change is one PR.
| Package | npm | What it is |
| --- | --- | --- |
| [`packages/sdk`](packages/sdk) | [`@krovacloud/sdk`](https://www.npmjs.com/package/@krovacloud/sdk) | Typed TypeScript SDK for the Krova Cloud API |
| [`packages/cli`](packages/cli) | [`@krovacloud/cli`](https://www.npmjs.com/package/@krovacloud/cli) | The `krova` CLI (pure Node — built on the SDK) |
| [`packages/mcp`](packages/mcp) | [`@krovacloud/mcp`](https://www.npmjs.com/package/@krovacloud/mcp) | MCP server for Claude/Cursor/etc. |
| [`packages/webhook`](packages/webhook) | [`@krovacloud/webhook`](https://www.npmjs.com/package/@krovacloud/webhook) | Outbound-webhook signature verification |
| [`packages/n8n-node`](packages/n8n-node) | [`n8n-nodes-krova`](https://www.npmjs.com/package/n8n-nodes-krova) | n8n community node |
## Develop
```sh
pnpm install
pnpm -r build # topological — the SDK builds before its consumers
pnpm -r test
pnpm -r typecheck
```
## Releasing (automatic, no manual version bumps)
Every push to `main` runs [`scripts/release.mjs`](scripts/release.mjs): for each
package that **changed since its last release tag**, it patch-increments the
latest version on npm, publishes it (with provenance), and records a
`<name>@<version>` git tag + GitHub release. Unchanged packages are skipped.
An explicit higher version in a package's `package.json` is honored as-is.
Publishing uses npm **trusted publishing (OIDC)** — the release workflow has
`id-token: write` and runs `pnpm publish --provenance`, so **no `NPM_TOKEN`** (or
any long-lived npm token) is required. See "How releases work" in
[CONTRIBUTING.md](./CONTRIBUTING.md).
TDQS
Scored across 37 tools
Most tools target a distinct resource+action pair (cubes, domains, snapshots, webhooks, TCP mappings, backups, shares). A few are close—get_cube vs get_cube_ssh, and the cluster of share/backup-share tools—but descriptions draw clear boundaries and tell the agent when to use each.
Nearly everything follows a consistent snake_case verb_noun pattern (list_cubes, create_domain, delete_snapshot). Minor deviations like get_cube_ssh, get_domain_records, and power_off_cube add a qualifier, but the overall convention is readable and predictable.
37 tools is heavy for a single server, above the typical 3-15 sweet spot. However the platform genuinely spans many resource families (compute, networking, DNS, backups, webhooks, billing), so most tools do earn their place rather than being redundant.
Cube lifecycle is thoroughly covered (create/get/list/delete, power/wake/restart/restore, protect/unprotect, ssh, snapshots) and backups/domains/webhooks have near-full CRUD. Gaps are minor: no update/resize for cubes, no update for snapshots or TCP mappings, and no get for a single domain.