Skip to main content
Glama
rad-security

RAD Security

Official
by rad-security

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
NameRequiredDescriptionDefault
framework_nameYesName of the compliance framework
requirement_idYesID of the requirement within the framework
datasource_idsYesComma-separated datasource IDs (e.g. AWS Account IDs)
pageNoPage number starting from 1
page_sizeNoPage size

Implementation Reference

  • 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
      );
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rad-security/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server