All recipes

Secure & Govern · Prompt

CMMC POA&M builder

Build a Plan of Action and Milestones for every unmet practice, respecting what CMMC allows on a POA&M.

ControlMap
Requires MCPby Greg Brydon · Solutions Engineer

Needs an LLM client connected to ScalePad MCP — Claude Desktop, Cursor, Windsurf or similar. Without it the assistant cannot call the recipe's tools.

User prompt

1 input to fill
For [CLIENT NAME], find every NIST 800-171 / CMMC requirement in ControlMap that isn't fully met. For each:
1. Describe the weakness and the planned fix
2. Set milestones with dates and an owner
3. Flag whether it's eligible to be on a POA&M under current CMMC rules, and mark any that must be closed before assessment
4. Note the SPRS point value

Before you create, update or delete anything, show me exactly what you plan to change in a table and wait for my approval. After approval, create the POA&M items in ControlMap. Flag anything that needs a C3PAO or RPO to confirm.

How to work with the ControlMap API (ScalePad MCP):
- Find the client with GET /controlmap/v1/clients/health and use its tenant ID (for example "dundmif") in every request. Some clients have no UUID.
- Send the header Content-Type: application/json on every POST, PUT and PATCH, including searches.
- Use page_size of 50 or less and follow next_cursor. The "fields" parameter is ignored, so responses are large.
- Judge controls by "status", not the "compliant" flag. Objective lists include sub-objectives, so take totals from objective_summary.
- Use framework-level scores and labels. The overall score_label on client health can be wrong.
- Older policy sections may be URL-encoded twice: decode them and use the highest version of each section.
- If a call returns 502 or fails to connect, wait a few seconds and retry once. If it still fails, tell me exactly which data is missing.

When writing to ControlMap:
- Update policies one field per request. review_date must include milliseconds (2027-01-01T00:00:00.000Z) and policy status must be draft, in_progress, in_review or approved.
- Risk scores and treatment can't be changed through the API. A new risk takes one impact and likelihood, which sets inherent, current and target together. List any score or treatment changes for me to make in ControlMap.
- Write evidence request notes to the "notes" field and assignees to "assigned_to".
- Files can't be uploaded through the MCP. Attach a link to where the file lives (SharePoint, Google Drive) and list any files I need to upload in ControlMap.
- Department and risk category must match existing values (GET /risks/departments and /risks/categories).
- Action item effort is capped at 8 hours, so put larger estimates in the description.
- A 500 error can still save part of a change. Read the record back before retrying.

# CMMC POA&M builder

Hook: Build a Plan of Action and Milestones for every unmet practice, respecting what CMMC allows on a POA&M.

When to use it

After a CMMC self-assessment or mock assessment.

What you get

A POA&M with milestones, owners and eligibility flags.

Fill in the details

  • [CLIENT NAME]: Client name (e.g. Acme Dental)

Status

Tested against the ControlMap API on October 16, 2026. Only asks for what the API supports.

Makes changes: Claude shows a plan of every create, update or delete and waits for your approval before acting.

GBAuthorGreg BrydonSolutions Engineer · ScalePad

Recipes are starting points. Adapt them to your environment and validate the output before putting one into practice.

Request a recipe

More in Secure & Govern