Open the XER without importing it
Nothing here writes to a P6 database. In the Settings window choose Database > Data source > XER files only, add the XER you are about to send, and the previous submission if you have it, then click Load and check. The files are read into a private read-only copy and every read tool works on it. P6 does not need to be installed.
1. The file
Inspect D:\Submissions\DEMO-SS225_2026-10.xer and tell me if anything would fail or be lost on import.
p6_inspect_xer reads the file without importing it: header and P6 version, encoding (UTF-8, or cp1252 with the offset of the first non UTF-8 byte), the end marker, rows per table, projects with their data dates, and the import pre-flight. The pre-flight reports errors that would stop an import (an activity without WBS or calendar, a duplicate Activity ID, an assignment of an activity missing from the file, a row whose field count does not match its table) and warnings.
On the demo update: exported by P6 24.12, UTF-8 without byte order mark, end marker present, one project (DEMO-SS225, data date 26 Oct 2026) with 214 activities, 332 relationships and 257 resource assignments, no errors and no warnings.
2. Logic and quality
Run the DCMA 14-point check on the XER project, then list its open starts and open finishes and the links that are candidates for removal.
p6_health_check: the DCMA 14 checks (see the DCMA guide). An XER carries no P6 schedule check settings, so the DCMA defaults apply unless you give thresholds.p6_dangling: activities whose start or finish is not driven by logic, with a suggested link for each. The demo update has none.p6_redundant_links: links implied by another chain of finish-to-start links, duplicates, and links from completed predecessors to open work, each with what removing it would change.
3. Progress
Check the progress of the XER project: out-of-sequence links and status inconsistencies.
p6_progress_check lists the links whose successor progressed before its predecessor allowed it (by link type) and the status inconsistencies: in progress without an actual start, completed with remaining work, 100 % but not completed, not started with actual dates. The demo update has no out-of-sequence link and no inconsistency.
4. Changes since the last submission
Run an integrity review of DEMO-SS225 against the previous submission DEMO-SS225~2 and list the flags.
When the previous submission is loaded too, p6_update_integrity raises what a client's reviewer will ask about: open ends tied to the finish, negative float cleared by a constraint or a moved must finish by date, actual dates rewritten, durations cut, links to critical work removed, link types and lags changed, schedule options and calendars changed, in-progress or critical activities deleted, a data date that did not move. On the demo update it raises ten flags, detailed in the comparison guide. Every flag is a question to answer before submission, not a verdict.
5. Schedule options
Compare the schedule options in the XER with the ones of project DEMO-SS225 in my database.
p6_schedule_options(project="DEMO-SS225", xer_path="...") shows the options stored in P6 and the ones in the XER side by side, differences first: retained logic or progress override, the lag calendar, open-ended activities critical, the critical definition. A change of options between submissions moves dates without a single activity changing.
Checklist
| Check | Tool | Ready to submit when |
|---|---|---|
| File integrity | p6_inspect_xer | No pre-flight error; the data date is the one you reported |
| Logic | p6_health_check, p6_dangling | No open ends except the start and finish milestones |
| Leads, lags, constraints | p6_health_check | Every exception has a reason you can state |
| Progress | p6_progress_check | No status inconsistency; out-of-sequence links explained |
| Changes since last month | p6_update_integrity | Each flag has an answer and its evidence |
| Schedule options | p6_schedule_options | Same options as the accepted baseline, or a documented change |
Confidential projects
The server reads the XER on your PC and sends nothing anywhere. The results of each tool go to the AI model your MCP client uses: with a cloud model, they reach its provider, like any message you type. If the submission is confidential, run the review with a local model, for example in LM Studio; pick one that handles many tools, since this review uses the Full profile.