Skip to main content
Cube’s brilliance lies in its automated, type-safe abstraction layer that eliminates repetitive boilerplate code.

How API Calls Are Built?

All resources are statically defined at compile time using a macro system. This ensures consistency and prevents runtime errors.
The previous resource macro produce the following endpoints.
This matters because this allows us to get a very small codebase while having access to all APIs. It made it easy to update if new API endpoints are released by Netwrix. Compile-time safety guarantees resource definitions never go stale.

CLI

The cube binary dynamically generates API calls at runtime. It abstracts complex API interactions into intuitive commands. For example, executing the following command:
Automatically maps to the corresponding RESTful endpoint: GET /api/AccessControl/AccessControlEntry

MCP Server: Dynamic Tool Generation

The cube-mcp crate dynamically generates tools at runtime based on the Resource registry.

Name Mapping: PascalCase → snake_case

Tools are prefixed and namespaped consistently:

Dynamic Schema Generation

Each tool type has a standardized schema automatically constructed. The schemas encode:

Production-Ready Patterns Demonstrated in Cube