Ask your Primavera P6 schedule, in plain language
A local Primavera P6 MCP server for Claude, ChatGPT, Cursor and VS Code. It reads the P6 Professional database or XER files and computes the answer from the schedule: driving path, total float, the DCMA 14-point check, what changed since the last update, what-if. When you allow it, it edits the schedule too: previewed, confirmed by you, backed up and logged.
Free and open source under Apache 2.0. Not affiliated with Oracle.
What drives MS-1100 - Project completion?
p6_driving_path(project="DEMO-SS225", target="MS-1100")
Driving path of MS-1100 - Project completion, root first: PRC-TR-1040 - Power transformers 225/63 kV - manufacturing, in progress from the data date 26 Oct 2026 to 2 Apr 2027; factory acceptance test; shipping and delivery to site until 1 Jun 2027; transformer installation and oil filling in June and July; firefighting system; transformer tests; MS-1070 - Ready for energization on 18 Aug 2027; trial operation in September; MS-1100 - Project completion on 5 Oct 2027, after the must finish by date of 16 Aug 2027. Every activity shown has a total float of minus 36 days.
The finish is driven by PRC-TR-1040 - Power transformers 225/63 kV - manufacturing, still in progress: its remaining work starts at the data date. The chain then runs through delivery, installation, tests and trial operation. Total float is -36 days because the must finish by date (16 Aug 2027) is 36 working days before the forecast finish (5 Oct 2027).
p6_driving_path and p6_float_origin on the public demo project (synthetic data): 11 of the 24 activities on the path shown.Every update, the same questions
-
Data date 26 Oct 2026
What drives the finish date?
p6_driving_pathfollows the driving predecessors of MS-1100 back to the root cause: transformer manufacturing, still in progress at the data date.p6_float_originexplains the -36 days of float: the must finish by date of 16 Aug 2027. -
Example: June 2027 update
What changed since the last update?
p6_compare_projectscompares the new update with the previous one, activity by activity and link by link: which dates slipped, why, and how much float was lost.p6_update_integritylists the changes a reviewer should question. -
Example: August 2027 update
Does the schedule still pass the DCMA check?
p6_health_checkruns the 14 checks with the thresholds set in P6 for the project, plus the critical path test, CPLI and BEI, and lists the activities behind every failed check. -
Forecast finish 5 Oct 2027
Will the finish date hold?
p6_schedule_riskruns a Monte Carlo simulation on the remaining durations: the P50 and P80 finish dates, the chance of finishing on time and how often each activity is critical.
Scroll to move the data date through the year. Demo project with synthetic data: its update is dated 26 Oct 2026, the June and August 2027 updates are examples.
-

p6_driving_pathWhat drives the finish date? -

p6_compare_projectsWhat changed since the last update? -

p6_health_checkDoes the schedule still pass the DCMA check? -

p6_schedule_riskWill the finish date hold?
Questions a scheduler asks, answered from the schedule
The server does the scheduling arithmetic on P6's own data; the model only explains the result. Dates and float come from the last schedule run (F9).
- What drives the finish date?
p6_driving_pathfollows the driving predecessors back to the root cause (a constraint, the data date, an actual date);p6_float_originsays where the total float comes from.- Does this schedule pass the DCMA 14-point check?
p6_health_checkruns the 14 checks with the thresholds set in P6 for the project, the critical path test, CPLI and BEI, and lists the activities behind every failed check. DCMA guide- What changed since last month's update?
p6_compare_projectscompares activity by activity and link by link, with slip causes and float erosion;p6_update_integritylists the changes a reviewer should question. Comparison guide- What if procurement takes four more weeks?
p6_schedule_whatifapplies the change in memory and runs a CPM engine checked against P6's own dates (p6_cpm_validate); nothing is written.- How likely is the contract finish?
p6_schedule_riskruns a Monte Carlo simulation on the remaining durations: P50 and P80 finish, on-time probability, criticality index.- What is coming up in the next two weeks?
p6_lookaheadlists what starts, finishes or runs in the window, critical work first;p6_milestonessets each milestone against its baseline date.- Is this XER ready to submit?
p6_inspect_xerruns the import pre-flight checks without importing; XER-only mode then runs every analysis on the file alone. XER review guide
Edits go through the steps you would take yourself
XER-only MCP servers stop at reading a file, or rewrite an XER you import again. This one writes to the P6 Professional database: durations, logic, constraints, actual dates, units, UDFs. The server enforces this sequence on every call.
Off until you turn it on
Writes need the Full tool profile and "Allow write operations" in the Settings window.
Dry run first
The tool returns the plan of every change and a single-use confirmation token. Deletes and restores also need a typed confirmation.
Your explicit yes, with P6 closed
The write is refused while PM.exe runs, on an untested P6 schema, or if the database changed since the dry run.
Backup, then one transaction
A copy of the database is taken before the change; a batch of edits succeeds or fails as a whole.
Edit log
Every confirmed write is recorded with its before and after values. Any backup can be restored.
F9 in P6
Planned, early and late dates and float are never written: open P6 and schedule.

Compared with XER‑only MCP servers
Several MCP servers parse P6 XER files. This one works on the P6 database itself and reads XER files too.
| Capability | MCP for Primavera P6 | Typical XER-file MCP server |
|---|---|---|
| Reads the P6 Professional database directly | Yes, every project, baseline, code, UDF and schedule option | No: export an XER first |
| Writes changes back to P6 | Yes, into the database; then F9 in P6 | No, or edits an XER you import again |
| Dry run, confirmation token, backup, edit log, restore | Yes, enforced by the server | Not applicable, or varies |
| Reads, imports and exports XER files | Yes, plus an XER-only mode | Reads them |
| CPM engine checked against P6's F9 dates | Yes, for what-if and Monte Carlo risk | Varies |
| DCMA thresholds taken from the P6 project | Yes, DCMA defaults when none are set | Varies |
| Installation | Windows installer and Settings window; registers your MCP clients | Usually a Python package |
| Runs on macOS or Linux | No | Usually yes |
Install in five minutes
- Download
P6MCP-Setup-2.0.0.exefrom the latest release and check it againstSHA256SUMS.txt. - Run it: per-user install, no administrator rights. On its last page it offers to register the server with the MCP clients it finds.
- In the Settings window, pick your P6 database, click Test connection (read only), then Use this database and Save.
- Restart your MCP client and ask: "List my P6 projects".
MCP clients
- Claude Desktop installer or .mcpb bundle
- Claude Code installer
- Cursor installer
- VS Code (Copilot agent mode) installer
- LM Studio installer
- Cline installer
- ChatGPT Codex or Secure MCP Tunnel, not tested yet
- Any other MCP client stdio or local HTTP
Guides
Step by step, with the prompts to type and real results from the public demo project.
DCMA 14-point check with AIRun the check with your P6 thresholds, read each failed check and drill into the activities behind it.
Driving path in P6 with ClaudeTrace what drives an activity back to its root cause and where its total float comes from.
Comparing two P6 updates with AISlips, slip causes, float erosion and logic changes, then the questions to ask about the update.
AI review of an XER before submissionFile checks, logic, progress and integrity of an update XER before it goes to the client.
FAQ
Scope, privacy and what the AI is allowed to change.
What is an MCP server for Primavera P6?
MCP (Model Context Protocol) is the open standard AI assistants use to call tools. This server gives an assistant 58 tools that read and analyse P6 schedules, so you ask in plain language and get answers computed from the schedule rather than guessed by the model.
Can the AI change my P6 schedule?
Only if you allow it. Writes are off by default. When on, each change is previewed in a dry run and applied only with a single-use token after your explicit yes, a backup is taken first, and P6 must be closed. Planned dates and float are never written: P6 computes them when you press F9.
Does my schedule leave my PC?
The server runs locally and sends nothing anywhere. What the tools return goes to the AI model of your MCP client; with a cloud model that means its provider. For confidential projects use a local model, for example in LM Studio.
Which P6 versions and databases are supported?
P6 Professional standalone (SQLite), tested with version 25.12; other versions are read only until tested or trusted. XER files work without P6. P6 EPPM and P6 Professional on SQL Server or Oracle are not supported.
Does it work with ChatGPT?
Through Codex, which starts local MCP servers, or through OpenAI's Secure MCP Tunnel for ChatGPT chat. Both routes are documented in the README but not yet tested by the maintainer. Claude Desktop, Claude Code, Cursor, VS Code, LM Studio and Cline are registered by the installer.
Does it run on macOS or Linux?
No. P6 Professional is a Windows program and the server is built for Windows 10 and 11.