List ISM OSCAL profiles
list_profilesLists OSCAL profiles for ISM releases, covering five classification baselines and three Essential Eight maturity levels.
Instructions
Lists the OSCAL profiles published alongside each ISM release: the five classification baselines (NC, OS, P, S, TS) and the three Essential Eight maturity levels (ML1, ML2, ML3).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:484-491 (handler)The handler function for the 'list_profiles' tool. It returns the list of profile names with their kinds (classification or essential-eight) from the PROFILE_NAMES constant.
async () => { return txt({ profiles: PROFILE_NAMES.map((name) => ({ name, kind: name.startsWith("ISM_E8") ? "essential-eight" : "classification", })), }); }, - src/index.ts:476-492 (registration)Registration of the 'list_profiles' tool on the MCP server with title, description, input schema (empty), and the handler.
server.registerTool( "list_profiles", { title: "List ISM OSCAL profiles", description: "Lists the OSCAL profiles published alongside each ISM release: the five classification baselines (NC, OS, P, S, TS) and the three Essential Eight maturity levels (ML1, ML2, ML3).", inputSchema: {}, }, async () => { return txt({ profiles: PROFILE_NAMES.map((name) => ({ name, kind: name.startsWith("ISM_E8") ? "essential-eight" : "classification", })), }); }, ); - src/index.ts:68-72 (helper)The 'txt' helper function used by the handler to format the response as a text content block.
function txt(value: unknown): { content: { type: "text"; text: string }[] } { const text = typeof value === "string" ? value : JSON.stringify(value, null, 2); return { content: [{ type: "text", text }] }; } - src/types.ts:94-103 (schema)The PROFILE_NAMES constant defining the list of all valid profile names (5 classification baselines + 3 Essential Eight maturity levels) used by the handler.
export const PROFILE_NAMES: ProfileName[] = [ "ISM_NON_CLASSIFIED", "ISM_OFFICIAL_SENSITIVE", "ISM_PROTECTED", "ISM_SECRET", "ISM_TOP_SECRET", "ISM_E8_ML1", "ISM_E8_ML2", "ISM_E8_ML3", ];