MCP for Primavera P6

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.

You

What drives MS-1100 - Project completion?

Tool

p6_driving_path(project="DEMO-SS225", target="MS-1100")

Answer

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).

Real output of 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

  1. Data date 26 Oct 2026

    What drives the finish date?

    p6_driving_path follows the driving predecessors of MS-1100 back to the root cause: transformer manufacturing, still in progress at the data date. p6_float_origin explains the -36 days of float: the must finish by date of 16 Aug 2027.

  2. Example: June 2027 update

    What changed since the last update?

    p6_compare_projects compares 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_integrity lists the changes a reviewer should question.

  3. Example: August 2027 update

    Does the schedule still pass the DCMA check?

    p6_health_check runs 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.

  4. Forecast finish 5 Oct 2027

    Will the finish date hold?

    p6_schedule_risk runs 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.

  1. A planner drawing a flowchart on a whiteboard
    p6_driving_pathWhat drives the finish date?
  2. Two engineers reviewing drawings at a desk
    p6_compare_projectsWhat changed since the last update?
  3. A laptop showing charts on a dashboard
    p6_health_checkDoes the schedule still pass the DCMA check?
  4. A wall calendar with past days crossed out
    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).

All 58 tools, with what each one reads or writes

What drives the finish date?
p6_driving_path follows the driving predecessors back to the root cause (a constraint, the data date, an actual date); p6_float_origin says where the total float comes from.
Does this schedule pass the DCMA 14-point check?
p6_health_check runs 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_projects compares activity by activity and link by link, with slip causes and float erosion; p6_update_integrity lists the changes a reviewer should question. Comparison guide
What if procurement takes four more weeks?
p6_schedule_whatif applies 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_risk runs 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_lookahead lists what starts, finishes or runs in the window, critical work first; p6_milestones sets each milestone against its baseline date.
Is this XER ready to submit?
p6_inspect_xer runs 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.

  1. Off until you turn it on

    Writes need the Full tool profile and "Allow write operations" in the Settings window.

  2. 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.

  3. 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.

  4. Backup, then one transaction

    A copy of the database is taken before the change; a batch of edits succeeds or fails as a whole.

  5. Edit log

    Every confirmed write is recorded with its before and after values. Any backup can be restored.

  6. F9 in P6

    Planned, early and late dates and float are never written: open P6 and schedule.

Engineers at a desk with several monitors

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.

"Varies": some XER servers do it, others do not.
CapabilityMCP for Primavera P6Typical XER-file MCP server
Reads the P6 Professional database directlyYes, every project, baseline, code, UDF and schedule optionNo: export an XER first
Writes changes back to P6Yes, into the database; then F9 in P6No, or edits an XER you import again
Dry run, confirmation token, backup, edit log, restoreYes, enforced by the serverNot applicable, or varies
Reads, imports and exports XER filesYes, plus an XER-only modeReads them
CPM engine checked against P6's F9 datesYes, for what-if and Monte Carlo riskVaries
DCMA thresholds taken from the P6 projectYes, DCMA defaults when none are setVaries
InstallationWindows installer and Settings window; registers your MCP clientsUsually a Python package
Runs on macOS or LinuxNoUsually yes

Install in five minutes

  1. Download P6MCP-Setup-2.0.0.exe from the latest release and check it against SHA256SUMS.txt.
  2. Run it: per-user install, no administrator rights. On its last page it offers to register the server with the MCP clients it finds.
  3. In the Settings window, pick your P6 database, click Test connection (read only), then Use this database and Save.
  4. 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

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.