Skip to main content
Glama

list_controls

Retrieve flattened control mappings across FedRAMP security control sets to analyze compliance requirements and regulatory relationships.

Instructions

Return flattened control mappings across FRMR sets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
familyNo
controlNo
sourceNo

Implementation Reference

  • The execute handler function for the 'list_controls' tool, which invokes listControlMappings with the input parameters and returns the mappings.
    execute: async (input) => { const mappings = listControlMappings({ family: input.family, control: input.control, source: input.source, }); return { mappings }; },
  • Zod schema defining the input parameters for the list_controls tool: optional family, control, and source enum.
    const schema = z.object({ family: z.string().optional(), control: z.string().optional(), source: z .enum([ "KSI", "MAS", "VDR", "SCN", "FRD", "ADS", "CCM", "FSI", "ICP", "PVA", "RSC", "UCM", "unknown", ]) .optional(), });
  • Registration of all tools including listControlsTool in the registerTools function, which is called by the MCP server.
    export function registerTools(server: McpServer): void { registerToolDefs(server, [ // Document discovery listFrmrDocumentsTool, getFrmrDocumentTool, listVersionsTool, // KSI tools listKsiTool, getKsiTool, filterByImpactTool, getThemeSummaryTool, getEvidenceExamplesTool, // Control mapping tools listControlsTool, getControlRequirementsTool, analyzeControlCoverageTool, // Search & lookup tools searchMarkdownTool, readMarkdownTool, searchDefinitionsTool, getRequirementByIdTool, // Analysis tools diffFrmrTool, grepControlsTool, significantChangeTool, // System tools healthCheckTool, updateRepositoryTool, ]);
  • Core helper function that filters and returns control mappings based on family, control, and source options.
    export function listControlMappings( options: ListControlOptions, ): ControlMapping[] { return getControlMappings().filter((mapping) => { if (options.source && mapping.source !== options.source) { return false; } if (options.family) { const family = mapping.control.split("-")[0]; if (!family.startsWith(options.family.toUpperCase())) { return false; } } if (options.control) { const expected = options.control.toUpperCase(); const controlId = mapping.control.toUpperCase(); if ( !( controlId === expected || controlId.startsWith(`${expected}-`) || expected.startsWith(controlId) ) ) { return false; } } return true; }); }

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/ethanolivertroy/fedramp-docs-mcp'

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