
Critical Path Partners
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-engineRun 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/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 13 toolsVerified 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...
baseline_idxintegerentitlement_milestonestringoutput_dirstringproject_namestringschedules*arrayconcurrent_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...
schedulesarrayxer_contentsarrayxer_pathsarraywoet_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...
actual_xer_contentstringactual_xer_pathstringbaseline_xer_contentstringbaseline_xer_pathstringtodaystringslip_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...
schedulesarrayxer_contentsarrayxer_pathsarraycollapsed_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...
as_built_xer_contentstringas_built_xer_pathstringcontractor_filterbooleandelay_eventsarrayoutput_dirstringproject_namestringremoval_methodstringtime_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...
baseline_xer_contentstringbaseline_xer_pathstringfragnetsarrayoutput_dirstringper_event_basesobjectproject_namestringcritical_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...
baseline_xer_contentstringbaseline_xer_pathstringprofilestringproject_indexintegerxer_contentstringxer_pathstringdcma14_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...
baseline_xer_contentstringbaseline_xer_pathstringcurrent_xer_contentstringcurrent_xer_pathstringdebugbooleanoutput_pathstringreturn_html_inlinebooleantimeout_secondsintegerpath_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...
directionstringinclude_near_criticalbooleanoutput_dirstringtarget_activity_codesarrayxer_contentstringxer_pathstringmonte_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...
distributionstringiterationsintegermost_likely_pctnumberoptimistic_pctnumberoutput_dirstringpessimistic_pctnumberseedintegerxer_contentstringxer_pathstringqramm_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...
sra_result*objectclaim_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...
contract_formstringevidence_filesvaluefolder_pathstringoriginal_baseline_xer_filenamestringoutput_dirstringproject_namestringrun_forensicbooleanxer_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 /...
xer_contentstringxer_pathstringSponsors
Readme
Details
- Repository
- github.com/danafitkowski/cpp-cpm-engine
- Website
- criticalpathpartners.ca
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026