get_cloud_resource_facets
Retrieve available filtering facets for cloud resources to enable targeted security analysis and resource management across AWS, GCP, Azure, and Linode providers.
Instructions
Get available facets for filtering cloud resources from a provider
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Cloud provider (aws, gcp, azure, linode) |
Implementation Reference
- src/operations/cloud-inventory.ts:81-88 (handler)The core handler function that implements the tool logic by calling the RAD Security API to retrieve available facets for cloud resources of the specified provider.export async function getCloudResourceFacets( client: RadSecurityClient, provider: ProviderType ): Promise<any> { return client.makeRequest( `/accounts/${client.getAccountId()}/cloud-inventory/v1/${provider}/facets` ); }
- Zod schema defining the input parameters for the tool (provider: aws, gcp, azure, or linode). Used for validation in both tool listing and execution.export const GetCloudResourceFacetsSchema = z.object({ provider: ProviderTypeEnum.describe("Cloud provider (aws, gcp, azure, linode)"), });
- src/index.ts:210-216 (registration)Tool registration in the listTools response, defining the tool name, description, and input schema for MCP clients to discover the tool.name: "get_cloud_resource_facets", description: "Get available facets for filtering cloud resources from a provider", inputSchema: zodToJsonSchema( cloudInventory.GetCloudResourceFacetsSchema ), },
- src/index.ts:872-884 (registration)Dispatch handler in the CallToolRequest switch statement: validates input with schema, invokes the getCloudResourceFacets handler, formats response as MCP content.case "get_cloud_resource_facets": { const args = cloudInventory.GetCloudResourceFacetsSchema.parse( request.params.arguments ); const response = await cloudInventory.getCloudResourceFacets( client, args.provider ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2) }, ], };