list_requirement_controls
Retrieve security controls linked to a compliance requirement within RAD Security to verify framework adherence and manage cloud environment security.
Instructions
List controls associated with a specific requirement within a compliance framework
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| framework_name | Yes | Name of the compliance framework | |
| requirement_id | Yes | ID of the requirement within the framework | |
| datasource_ids | Yes | Comma-separated datasource IDs (e.g. AWS Account IDs) | |
| page | No | Page number starting from 1 | |
| page_size | No | Page size |
Implementation Reference
- src/index.ts:935-952 (handler)MCP tool call handler that parses input using the schema, calls the core listRequirementControls function with the RadSecurityClient, and formats the response as MCP content.case "list_requirement_controls": { const args = cloudCompliance.ListRequirementControlsSchema.parse( request.params.arguments ); const response = await cloudCompliance.listRequirementControls( client, args.framework_name, args.requirement_id, args.datasource_ids, args.page, args.page_size ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2) }, ], }; }
- Zod input schema defining parameters for the list_requirement_controls tool: framework_name, requirement_id, datasource_ids, page, page_size.// Schema for list_requirement_controls export const ListRequirementControlsSchema = z.object({ framework_name: z.string().describe("Name of the compliance framework"), requirement_id: z.string().describe("ID of the requirement within the framework"), datasource_ids: z.string().describe("Comma-separated datasource IDs (e.g. AWS Account IDs)"), page: z.number().optional().default(1).describe("Page number starting from 1"), page_size: z.number().optional().default(10).describe("Page size"), });
- src/index.ts:247-253 (registration)Tool registration entry in the ListToolsRequest handler, specifying the tool name, description, and input schema reference.name: "list_requirement_controls", description: "List controls associated with a specific requirement within a compliance framework", inputSchema: zodToJsonSchema( cloudCompliance.ListRequirementControlsSchema ), },
- Core handler function implementing the tool logic: constructs API parameters and calls client.makeRequest to the specific compliance endpoint for listing requirement controls./** * List controls associated with a specific requirement within a compliance framework. */ export async function listRequirementControls( client: RadSecurityClient, frameworkName: string, requirementId: string, datasourceIds: string, page?: number, pageSize?: number ): Promise<any> { const params: Record<string, any> = { datasource_ids: datasourceIds }; if (page !== undefined) { params.page = page; } if (pageSize !== undefined) { params.page_size = pageSize; } return client.makeRequest( `/accounts/${client.getAccountId()}/compliance/cloud/frameworks/${encodeURIComponent(frameworkName)}/requirements/${encodeURIComponent(requirementId)}/controls`, params ); }