get_compliance_control
Retrieve detailed information about specific compliance controls for cloud and Kubernetes environments using datasource IDs to verify security requirements.
Instructions
Get detailed information about a specific compliance control
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| control_name | Yes | Name of the compliance control | |
| datasource_ids | Yes | Comma-separated datasource IDs (e.g. AWS Account IDs) |
Implementation Reference
- The main handler function that implements the core logic for the 'get_compliance_control' tool by calling the RAD Security API to fetch details for a specific compliance control.export async function getComplianceControl( client: RadSecurityClient, controlName: string, datasourceIds: string ): Promise<any> { const params: Record<string, any> = { datasource_ids: datasourceIds }; return client.makeRequest( `/accounts/${client.getAccountId()}/compliance/cloud/controls/${encodeURIComponent(controlName)}`, params ); }
- Zod schema defining the input parameters for the 'get_compliance_control' tool: control_name and datasource_ids.// Schema for get_compliance_control export const GetComplianceControlSchema = z.object({ control_name: z.string().describe("Name of the compliance control"), datasource_ids: z.string().describe("Comma-separated datasource IDs (e.g. AWS Account IDs)"), });
- src/index.ts:263-269 (registration)Tool registration in the MCP server's ListTools handler, defining the tool name, description, and input schema for get_compliance_control.name: "get_compliance_control", description: "Get detailed information about a specific compliance control", inputSchema: zodToJsonSchema( cloudCompliance.GetComplianceControlSchema ), },
- src/index.ts:970-983 (registration)Tool invocation handler in the MCP server's CallTool request handler, which parses arguments using the schema and calls the getComplianceControl function.case "get_compliance_control": { const args = cloudCompliance.GetComplianceControlSchema.parse( request.params.arguments ); const response = await cloudCompliance.getComplianceControl( client, args.control_name, args.datasource_ids ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2) }, ], };