MacTech CMMC / NIST 800-171
REMOTE · WWW.MACTECHSOLUTIONSLLC.COM · SCANNED SEP 27
NIST 800-171 controls and 800-171A objectives, crosswalks, exact SPRS scoring, POA&M generation.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability88
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 8549 tokens (~36/item across 233 items; 13 tools + 220 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (8% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the MacTech CMMC / NIST 800-171 MCP server?
MacTech CMMC / NIST 800-171 is a hosted endpoint at https://www.mactechsolutionsllc.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.mactechsolutionsllc.com
claude mcp add --transport http com-mactechsolutionsllc-www-cmmc 'https://www.mactechsolutionsllc.com/api/mcp'
{
"mcpServers": {
"com-mactechsolutionsllc-www-cmmc": {
"url": "https://www.mactechsolutionsllc.com/api/mcp"
}
}
} {
"servers": {
"com-mactechsolutionsllc-www-cmmc": {
"type": "http",
"url": "https://www.mactechsolutionsllc.com/api/mcp"
}
}
} [mcp_servers.com-mactechsolutionsllc-www-cmmc] url = "https://www.mactechsolutionsllc.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mactechsolutionsllc-www-cmmc": {
"type": "remote",
"url": "https://www.mactechsolutionsllc.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-mactechsolutionsllc-www-cmmc --url 'https://www.mactechsolutionsllc.com/api/mcp' --transport streamable-http
mcp_servers:
com-mactechsolutionsllc-www-cmmc:
url: "https://www.mactechsolutionsllc.com/api/mcp" {
"McpServers": {
"com-mactechsolutionsllc-www-cmmc": {
"Transport": "http",
"Url": "https://www.mactechsolutionsllc.com/api/mcp"
}
}
} assistant mcp add com-mactechsolutionsllc-www-cmmc -t streamable-http -u 'https://www.mactechsolutionsllc.com/api/mcp'
{
"mcpServers": {
"com-mactechsolutionsllc-www-cmmc": {
"type": "http",
"url": "https://www.mactechsolutionsllc.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 16 Sept 26 0
- Tool “generate_poam_entries” rewrote its description, which is the text the model reads security
- “generate_poam_entries” added an optional parameter “conditionalStatusDate” cosmetic
- 7 Sept 26 +1
- Stability: 0.97 → pass security
- 5 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 27 Sept 2026 · Probed https://www.mactechsolutionsllc.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.mactechsolutionsllc.com | CN=YR2,O=Let's Encrypt,C=US | 22 Sept 2026 | 21 Dec 2026 | RSA 2048 | SHA256-RSA | 537444711065e8e495ce7a3f08654337a71 |
| SANs: www.mactechsolutionsllc.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.mactechsolutionsllc.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| mactechsolutionsllc.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://stats.mactechsolutionsllc.com https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://vault.mactechsolutionsllc.com https://stats.mactechsolutionsllc.com https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; frame-ancestors 'none'; |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | geolocation=(), microphone=(), camera=(), payment=(), usb=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.mactechsolutionsllc.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://www.mactechsolutionsllc.com/api/mcp | HTTPS enforced | 301 | https://www.mactechsolutionsllc.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
calculate_sprs_score Calculate an SPRS score ~263
Compute an exact SPRS score per the DoD Assessment Methodology: start at 110 and subtract each unimplemented requirement's Annex A weight (floor −203). Pass the control numbers that are NOT implemented; optionally pass 3.5.3 and/or 3.13.11 as partially implemented for their sliding-scale values (MFA for privileged/remote only = −3; encryption present but not FIPS-validated = −3). Also reports whether the score clears the 88-point conditional CMMC Level 2 certification threshold and flags a missing SSP (3.12.4), which blocks SPRS submission entirely.
| Name | Type | Req | Description |
|---|---|---|---|
| not_implemented | array | yes | Rev 2 control numbers not implemented, e.g. ["3.5.3", "3.11.2"]. An empty array means all 110 implemented (score 110). Rev 3 identifiers are rejected - there is no DoD scoring methodology for Rev 3. |
| partially_implemented | array | – | Sliding-scale controls at their partial value: 3.5.3 (MFA for privileged and remote users only) and/or 3.13.11 (encryption employed but not FIPS-validated). Deducts 3 instead of 5. |
| Name | Type | Req | Description |
|---|---|---|---|
| conditional_note | string | – | – |
| deductions | array | yes | – |
| meets_conditional_level_2_threshold | boolean | yes | Whether the score reaches 88. Clearing it is necessary but not sufficient - every open item must also be POA&M-eligible. |
| missing_ssp | string | – | Present when 3.12.4 is unimplemented, in which case no score can be submitted to SPRS at all. |
| scale | string | yes | – |
| sprs_score | number | yes | The computed score, from 110 down to the -203 floor. |
| total_points_deducted | number | yes | – |
| unknown_controls | array | – | Inputs that matched no requirement - treat as caller error, not as implemented. |
No examples provided.
check_contract_type_eligibility Can you accept this contract type? ~182
Determine whether a contractor can legally be awarded a given contract type, based on the business systems that type requires. A cost-reimbursement contract may be awarded only if the accounting system is adequate for determining costs (FAR 16.301-3), and T&M billing cannot be substantiated without compliant timekeeping - so this is an eligibility gate, not a preference. Call this before a bid/no-bid, when a solicitation names a contract type, or when someone asks what a pre-award survey will examine. Also returns the SF1408 criteria and the six DFARS business systems whose deficiencies trigger payment withholding after award.
| Name | Type | Req | Description |
|---|---|---|---|
| contract_type | string | – | The contract type named in the solicitation. Omit to compare all types. |
| include_sf1408 | boolean | – | Include the SF1408 pre-award accounting system survey criteria. |
No output schema declared.
No examples provided.
crosswalk_control Crosswalk a control across frameworks ~200
Map a security control across frameworks: NIST SP 800-171 Rev 2 ↔ NIST SP 800-53 (FedRAMP Moderate) ↔ NIST CSF 2.0 ↔ SOC 2 Trust Services Criteria. Accepts an 800-171 number ("3.5.3"), an 800-53 id ("AC-2"), a CSF category ("PR.AA" style / "GV.RM"), or a SOC 2 criterion ("CC6"). Call this when the user asks what a control corresponds to in another framework, or how existing FedRAMP/SOC 2/CSF work maps onto CMMC. These are practitioner mappings, not the NIST-published authoritative crosswalk.
| Name | Type | Req | Description |
|---|---|---|---|
| control | string | yes | A control id from any supported framework, e.g. "3.1.1", "AC-2", "GV.RM", or "CC6" |
No output schema declared.
No examples provided.
crosswalk_revisions Compare 800-171 Rev 2 and Rev 3 ~161
Explain how NIST SP 800-171 Rev 2 and Rev 3 differ, and what happened to a specific requirement between them. Call this when someone is implementing Rev 3 early, holds a Rev 3 citation and needs the Rev 2 obligation, or asks which revision applies to them. Answers the question DoD guidance forces on early adopters: assessments still run against Rev 2, so Rev 2 gaps must be closed regardless of what has been built to Rev 3.
| Name | Type | Req | Description |
|---|---|---|---|
| requirement | string | – | Optional: a specific requirement in either scheme, e.g. "3.5.3" (Rev 2) or "03.05.03" (Rev 3). Omit for the structural summary alone. |
No output schema declared.
No examples provided.
determine_cmmc_level Determine required CMMC level ~208
Determine which CMMC level (1, 2, or 3) applies to a defense contractor based on the data they handle and the clauses in their contracts, and - separately - which assessment type may actually be designated today. Those are not the same question: CMMC Phase II was suspended on 13 July 2026, so C3PAO and DIBCAC assessments cannot currently be designated even where the level calls for one. Call this when the user asks "what CMMC level do I need", whether FCI-only work needs CMMC, or what DFARS 252.204-7012/7019/7020/7021 imply.
| Name | Type | Req | Description |
|---|---|---|---|
| contract_clauses | array | – | FAR/DFARS clauses present in their contracts, if known |
| handles_cui | string | yes | Does the organization store, process, or transmit Controlled Unclassified Information (CUI) - e.g. technical data, drawings, specs above general descriptive material? |
No output schema declared.
No examples provided.
generate_poam_entries Generate POA&M entries for control gaps ~243
Turn a list of unimplemented NIST SP 800-171 controls into structured Plan of Action & Milestones (POA&M) entries, and - the part that decides whether the plan is usable - sort them by eligibility under 32 CFR 170.21. Most gaps CANNOT go on a CMMC Level 2 POA&M: the rule bars every requirement worth more than 1 point (excepting 3.13.11 when encryption is employed but not FIPS-validated), bars six named 1-point requirements outright, and permits no POA&M at all below a score of 88. Returns per-entry eligibility with the reason, the requirements that must close before the assessment, and the single 180-day closeout window. Call this when the user has assessment gaps and needs a remediation plan artifact.
| Name | Type | Req | Description |
|---|---|---|---|
| conditionalStatusDate | string | – | Conditional CMMC Status Date (YYYY-MM-DD), if one exists. The 180-day closeout window runs from this date - NOT from the day the plan is written - so without it no deadline can be computed. |
| gaps | array | yes | The unimplemented or partially implemented controls |
No output schema declared.
No examples provided.
get_assessment_objectives Get 800-171A assessment objectives for a control ~127
Get the official NIST SP 800-171A assessment objectives for one NIST SP 800-171 Rev 2 requirement - the exact "Determine if..." objectives a CMMC Level 2 assessor scores, plus the potential assessment methods (what an assessor examines, who they interview, what they test). Call this when the user asks how a control is assessed, what evidence an assessor will look for, or how to prepare a specific control for a C3PAO assessment.
| Name | Type | Req | Description |
|---|---|---|---|
| control | string | yes | Control number, e.g. "3.5.3" |
No output schema declared.
No examples provided.
list_controls List NIST 800-171 controls ~183
List NIST SP 800-171 Rev 2 requirements with their DoD Assessment Methodology (SPRS) weights, optionally filtered by control family name or by point weight (5, 3, or 1). Call this to enumerate the 110 CMMC Level 2 controls, to find all 5-point (highest-impact) requirements, or to see everything in one family such as Access Control. Returns identifiers and weights only - use lookup_control for one requirement's full text, or pass verbose to include every requirement's text at roughly twenty times the size.
| Name | Type | Req | Description |
|---|---|---|---|
| family | string | – | Filter by control family |
| verbose | boolean | – | Include the full requirement text for every result. Off by default: an unfiltered verbose listing is ~25× larger and is rarely what the question needs. |
| weight | – | – | Filter by DoD assessment point weight |
No output schema declared.
No examples provided.
list_level1_practices List the 17 CMMC Level 1 practices ~66
List all 17 CMMC Level 1 basic safeguarding practices with their FAR 52.204-21 clause citations - the complete requirement set for contractors handling Federal Contract Information (FCI) only. Call this when the user asks what CMMC Level 1 requires.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
lookup_clause Look up a FAR/DFARS cybersecurity clause ~240
Explain what a FAR or DFARS cybersecurity clause obliges a contractor to do: what triggers it, the concrete duties, the reporting deadlines, what it flows down to subcontractors, and which other clauses come with it. Covers 52.204-21, 252.204-7008, 252.204-7012, 252.204-7019, 252.204-7020, 252.204-7021, 252.239-7010. Call this when someone asks "my contract has 7012 in it, what do I have to do", which clauses require CMMC, what flows down to a subcontractor, or how long they have to report an incident. Does NOT reproduce clause text verbatim - the text is law, it gets amended, and quoting a stale copy into a contract dispute is worse than a citation; each answer links the authoritative text at acquisition.gov.
| Name | Type | Req | Description |
|---|---|---|---|
| clause | string | – | Clause number - "7012", "252.204-7012", or "DFARS 252.204-7012" all work. Omit to list every clause covered. |
No output schema declared.
No examples provided.
lookup_control Look up a NIST 800-171 control ~235
Get one NIST SP 800-171 Rev 2 security requirement by number (e.g. "3.5.3"): the full requirement text, its control family, and its exact DoD Assessment Methodology (SPRS) point weight, including the sliding-scale rules for 3.5.3 (MFA) and 3.13.11 (FIPS cryptography). Call this when the user asks what a specific 800-171 or CMMC Level 2 control requires or how many SPRS points it is worth. Pass sections to get the 800-171A assessment objectives and the framework crosswalk in the same call instead of three.
| Name | Type | Req | Description |
|---|---|---|---|
| control | string | yes | Control number, e.g. "3.1.1" or "3.13.11" |
| sections | array | – | Extra views to include: "objectives" for the 800-171A assessment objectives (how an assessor tests it), "crosswalk" for the 800-53 / CSF 2.0 / SOC 2 mappings. Omit for the requirement and its weight… |
No output schema declared.
No examples provided.
lookup_rev3_requirement Look up a NIST 800-171 Rev 3 requirement (advisory) ~263
Get one NIST SP 800-171 REVISION 3 requirement by its zero-padded number (e.g. "03.01.01"): the requirement statement, its organization-defined parameters, the 800-171A Rev 3 assessment objectives, and whether it was withdrawn. Rev 3 has 97 active requirements of 130 numbered across 17 families, with 88 ODPs and 422 objectives. IMPORTANT: Rev 3 is NOT currently binding for DoD contracts - DFARS 252.204-7012 is pinned to Rev 2 by class deviation, and SPRS scores Rev 2 only. Use lookup_control for anything contractual; use this when the user is planning ahead, doing civilian-agency CUI work, or has explicitly asked about Rev 3. Identifiers differ between revisions and collide: Rev 2's 3.1.1 is not Rev 3's 03.01.01.
| Name | Type | Req | Description |
|---|---|---|---|
| requirement | string | yes | Rev 3 requirement number, e.g. "03.01.01" or "3.1.1" (zero-padded automatically). This is a Rev 3 identifier - it is NOT the same requirement as the Rev 2 control with the similar number. |
No output schema declared.
No examples provided.
scope_assessment Determine CMMC assessment scope ~191
Work out which assets fall inside a CMMC assessment boundary, and what each category obliges. Returns the DoD asset categories (CUI Asset, Security Protection Asset, Contractor Risk Managed Asset, Specialized Asset, Out-of-Scope) with how each is treated at assessment, plus the CUI categories that most often pull a defense contractor into scope unexpectedly. Call this when someone asks what is in scope, how to reduce assessment cost, whether an enclave helps, or whether a specific system counts. Scope decides the size and cost of the whole engagement, so getting it wrong is expensive in both directions.
| Name | Type | Req | Description |
|---|---|---|---|
| include_cui_categories | boolean | – | Include the common CUI categories and the traps that hide them. Useful when the contractor is unsure whether they hold CUI at all. |
| level | – | yes | CMMC level being scoped. Level 1 has no asset taxonomy - everything touching FCI is in scope. |
No output schema declared.
No examples provided.
What is the MacTech CMMC / NIST 800-171 MCP server?
MacTech CMMC / NIST 800-171 is an MCP server listed in the public MCP registry as com.mactechsolutionsllc.www/cmmc. NIST 800-171 controls and 800-171A objectives, crosswalks, exact SPRS scoring, POA&M generation. This page covers its hosted endpoint (https://www.mactechsolutionsllc.com/api/mcp).
Is the MacTech CMMC / NIST 800-171 MCP server safe to use?
MacTech CMMC / NIST 800-171 scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the MacTech CMMC / NIST 800-171 MCP server expose?
MacTech CMMC / NIST 800-171 exposes 13 tools: lookup_control, list_controls, calculate_sprs_score, get_assessment_objectives, crosswalk_control, and 8 more. Their descriptions and schemas cost roughly 2,562 tokens of context every time the server is loaded.
Does the MacTech CMMC / NIST 800-171 MCP server require authentication?
No. We connected to MacTech CMMC / NIST 800-171 without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the MacTech CMMC / NIST 800-171 MCP server still maintained?
MacTech CMMC / NIST 800-171 is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.