danafitkowski avatar

Critical Path Partners

danafitkowski/cpp-cpm-engine

Connects Claude to a forensic scheduling engine that reads Primavera P6 XER files and runs CPM calculations aligned with AACE industry standards. Exposes operations for forward/backward pass scheduling, DCMA-14 compliance checks, time impact analysis under multiple baselines, and topology fingerprinting via SHA-256 hashes for court-facing provenance. Built by Critical Path Partners for construction delay claims and includes a Daubert disclosure framework. You'd reach for this when analyzing schedule delays, preparing expert reports under FRE 702, or running forensic comparisons between baseline and as-built schedules. The engine handles calendar arithmetic across 66 jurisdictions and emits AACE method labels that peer reviewers expect in litigation contexts.

tools
13
transport
HTTP
last updated
Nov 10, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.criticalpathpartners.ca/mcp --name cpp-cpm-engine

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http cpp-cpm-engine https://mcp.criticalpathpartners.ca/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 13 tools

Verified live against the running server on Nov 6, 2026.

forensic_windows_analysisRun forensic windows analysis (AACE RP 29R-03 §3.3, MIP 3.3 Observational / Dynamic / Contemporaneous As-Is) across multiple Primavera P6 XER snapshots and return the full analysis dict. This is the headline forensic tool — it computes per-window completion shifts, per-window...5 params

Run forensic windows analysis (AACE RP 29R-03 §3.3, MIP 3.3 Observational / Dynamic / Contemporaneous As-Is) across multiple Primavera P6 XER snapshots and return the full analysis dict. This is the headline forensic tool — it computes per-window completion shifts, per-window...

Parameters* required
baseline_idxinteger
default: 0
entitlement_milestonestring
default:
output_dirstring
default:
project_namestring
default:
schedules*array
concurrent_delay_matrixBuild the per-window x per-party concurrent-delay attribution matrix from a chronological list of XER snapshots. Implements the per-window concurrency view per AACE RP 29R-03 §3.3.I (apportionment) and §4.2 (concurrency). Where ``forensic_windows_analysis`` answers "how many d...3 params

Build the per-window x per-party concurrent-delay attribution matrix from a chronological list of XER snapshots. Implements the per-window concurrency view per AACE RP 29R-03 §3.3.I (apportionment) and §4.2 (concurrency). Where ``forensic_windows_analysis`` answers "how many d...

Parameters* required
schedulesarray
xer_contentsarray
xer_pathsarray
woet_classifierWorked-vs-On-time Execution Timeline (WOET) per-activity day-by-day classification of as-built execution against baseline. For each pairable activity (matched by ``task_code``), classifies execution into 4 day-states: - PROGRESS: work performed during the baseline-planned wind...5 params

Worked-vs-On-time Execution Timeline (WOET) per-activity day-by-day classification of as-built execution against baseline. For each pairable activity (matched by ``task_code``), classifies execution into 4 day-states: - PROGRESS: work performed during the baseline-planned wind...

Parameters* required
actual_xer_contentstring
default:
actual_xer_pathstring
default:
baseline_xer_contentstring
default:
baseline_xer_pathstring
default:
todaystring
default:
slip_velocityPer-window slip velocity & acceleration trend across XER snapshots. Computes three signed metrics per window from the underlying forensic windows analysis: - slip_velocity_days_per_day: completion shift / window duration (positive = slipping, negative = recovering). Numerator...3 params

Per-window slip velocity & acceleration trend across XER snapshots. Computes three signed metrics per window from the underlying forensic windows analysis: - slip_velocity_days_per_day: completion shift / window duration (positive = slipping, negative = recovering). Numerator...

Parameters* required
schedulesarray
xer_contentsarray
xer_pathsarray
collapsed_as_builtCollapsed As-Built / But-For analysis on a post-impact XER. Implements AACE RP 29R-03 §3.8 Modeled / Subtractive / Single Base method (paired with MIP 3.3 Windows for the dual-method gap report per SCL §11.5). Validates a forensic windows analysis (MIP 3.3) by independently co...7 params

Collapsed As-Built / But-For analysis on a post-impact XER. Implements AACE RP 29R-03 §3.8 Modeled / Subtractive / Single Base method (paired with MIP 3.3 Windows for the dual-method gap report per SCL §11.5). Validates a forensic windows analysis (MIP 3.3) by independently co...

Parameters* required
as_built_xer_contentstring
default:
as_built_xer_pathstring
default:
contractor_filterboolean
default: false
delay_eventsarray
output_dirstring
default:
project_namestring
default:
removal_methodstring
default: shorten
time_impact_analysis_fragnetTime Impact Analysis (TIA) — prospective fragnet insertion into a pre-impact baseline schedule. Supports two modes. **Single-base mode** (legacy): supply ``baseline_xer_path`` or ``baseline_xer_content``. All fragnets are inserted into the same shared baseline XER and impact i...6 params

Time Impact Analysis (TIA) — prospective fragnet insertion into a pre-impact baseline schedule. Supports two modes. **Single-base mode** (legacy): supply ``baseline_xer_path`` or ``baseline_xer_content``. All fragnets are inserted into the same shared baseline XER and impact i...

Parameters* required
baseline_xer_contentstring
default:
baseline_xer_pathstring
default:
fragnetsarray
output_dirstring
default:
per_event_basesobject
project_namestring
default:
critical_path_validatorCritical-path validation, logic health, and DCMA-14 assessment of a Primavera P6 schedule. Runs the CPP critical-path validator: checks for false criticality, constraint-driven CP segments, open ends, broken logic, and surfaces a DCMA-14 block with the 14 metrics (logic, leads...6 params

Critical-path validation, logic health, and DCMA-14 assessment of a Primavera P6 schedule. Runs the CPP critical-path validator: checks for false criticality, constraint-driven CP segments, open ends, broken logic, and surfaces a DCMA-14 block with the 14 metrics (logic, leads...

Parameters* required
baseline_xer_contentstring
default:
baseline_xer_pathstring
default:
profilestring
default: commercial
project_indexinteger
default: 0
xer_contentstring
default:
xer_pathstring
default:
dcma14_health_checkFull Schedule Health Dashboard HTML report — DCMA-14 + CPLI + BEI + variance/slip register against the baseline. Wraps the CPP Schedule Health Review skill, which produces a self-contained ~1.3 MB HTML dashboard. The dashboard renders DCMA metrics, charts, baseline-vs-current...8 params

Full Schedule Health Dashboard HTML report — DCMA-14 + CPLI + BEI + variance/slip register against the baseline. Wraps the CPP Schedule Health Review skill, which produces a self-contained ~1.3 MB HTML dashboard. The dashboard renders DCMA metrics, charts, baseline-vs-current...

Parameters* required
baseline_xer_contentstring
default:
baseline_xer_pathstring
default:
current_xer_contentstring
default:
current_xer_pathstring
default:
debugboolean
default: false
output_pathstring
default:
return_html_inlineboolean
default: true
timeout_secondsinteger
default: 120
path_explorerLogic-trace driver-chain explorer — answers "WHY is this activity critical?" and "WHAT does it drive?". Traces driving predecessors backward from a target activity to project start (the "why critical" chain) and/or driving successors forward to project finish (the "what it dri...6 params

Logic-trace driver-chain explorer — answers "WHY is this activity critical?" and "WHAT does it drive?". Traces driving predecessors backward from a target activity to project start (the "why critical" chain) and/or driving successors forward to project finish (the "what it dri...

Parameters* required
directionstring
default: both
include_near_criticalboolean
default: true
output_dirstring
default:
target_activity_codesarray
xer_contentstring
default:
xer_pathstring
default:
monte_carlo_p50_p80Monte Carlo Schedule Risk Analysis — P10/P50/P80/P90 completion-date forecast for a Primavera P6 schedule. Implements an AACE-style quantitative SRA (the same math as CPP's browser Tool_11 Portfolio Risk Engine, scripted Python counterpart). For each iteration, every activity...9 params

Monte Carlo Schedule Risk Analysis — P10/P50/P80/P90 completion-date forecast for a Primavera P6 schedule. Implements an AACE-style quantitative SRA (the same math as CPP's browser Tool_11 Portfolio Risk Engine, scripted Python counterpart). For each iteration, every activity...

Parameters* required
distributionstring
default: Triangular
iterationsinteger
default: 5000
most_likely_pctnumber
default: 100
optimistic_pctnumber
default: 85
output_dirstring
default:
pessimistic_pctnumber
default: 120
seedinteger
default: 0
xer_contentstring
default:
xer_pathstring
default:
qramm_maturityQRAMM-aligned maturity reading for an SRA result. Places a Schedule Risk Analysis run (from ``monte_carlo_p50_p80`` or any equivalent dict) on the five named maturity levels of AACE RP 122R-22 (Quantitative Risk Analysis Maturity Model), section 3: level 1 Reactive, level 2 Ad...1 params

QRAMM-aligned maturity reading for an SRA result. Places a Schedule Risk Analysis run (from ``monte_carlo_p50_p80`` or any equivalent dict) on the five named maturity levels of AACE RP 122R-22 (Quantitative Risk Analysis Maturity Model), section 3: level 1 Reactive, level 2 Ad...

Parameters* required
sra_result*object
claim_workbench_evidence_ledgerForensic claim workbench — analyzes a folder of mixed evidence (XER chain + MSG/PDF/DOCX/XLSX correspondence) and produces a unified workbench dashboard. Built from the real-world workflow where forensic delay analysis starts from a folder containing schedule updates, owner co...7 params

Forensic claim workbench — analyzes a folder of mixed evidence (XER chain + MSG/PDF/DOCX/XLSX correspondence) and produces a unified workbench dashboard. Built from the real-world workflow where forensic delay analysis starts from a folder containing schedule updates, owner co...

Parameters* required
contract_formstring
default: CCDC2
evidence_filesvalue
folder_pathstring
default:
original_baseline_xer_filenamestring
default:
output_dirstring
default:
project_namestring
default:
run_forensicboolean
default: true
xer_parserParse a Primavera P6 XER file and return a TABLE SUMMARY (not the full row-level data — XER row dumps explode the MCP context window). For each table in the XER, returns the table name, field list, and record count. Per-row data is intentionally omitted — for forensic / DCMA /...2 params

Parse a Primavera P6 XER file and return a TABLE SUMMARY (not the full row-level data — XER row dumps explode the MCP context window). For each table in the XER, returns the table name, field list, and record count. Per-row data is intentionally omitted — for forensic / DCMA /...

Parameters* required
xer_contentstring
default:
xer_pathstring
default:

Sponsors

Readme

Details

Repository
github.com/danafitkowski/cpp-cpm-engine
Website
criticalpathpartners.ca
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026