PyP6Xer MCP Server
This server allows you to load, analyze, edit, and export Oracle Primavera P6 .xer schedule files from any MCP-compatible client.
File Management
Load
.xerfiles from a local path, URL, or base64-encoded contentManage multiple schedules simultaneously using different cache keys
Clear cached files and write modified schedules back to disk
Project & Activity Browsing
List all projects with summary statistics
List, paginate, filter, and search activities by name, ID, status, WBS code, or project
Get full details for a single activity (dates, float, costs, resources, relationships)
Retrieve available activity field names for optimized queries
Schedule Analysis
Critical path identification (total float ≤ 0)
Float distribution analysis with near-critical flagging
DCMA-style schedule quality checks (open ends, lags, constraints, negative float, etc.)
Composite schedule health score (0–100) with narrative summary
Slipping activities (forecast finish exceeds baseline finish)
Relationship analysis: types (FS/SS/FF/SF), lag/lead distribution, and logic density
Progress & Earned Value
Schedule progress summary (status breakdown, percent complete, milestones)
Full EVM metrics: BCWS, BCWP, ACWP, SPI, CPI, CV, SV, EAC, VAC
Resources & Calendars
List resources with assignment counts and cost/quantity totals
Resource utilization: planned vs. actual vs. remaining quantities and costs
List all calendars with type, hours, and default status
WBS Analysis
WBS hierarchy with task counts and cost rollups per node
Leaf-level work package summary with schedule and cost data
Export & Comparison
Export activities to CSV with configurable columns
Compare two schedule snapshots to identify added, removed, and changed activities
Editing
Update individual activity fields (status, percent complete, dates, remaining duration)
Batch update multiple activities in a single call
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PyP6Xer MCP ServerRun a schedule health check on terminal-building-airport"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PyP6Xer MCP Server
AI-agent tools for Primavera P6 XER schedules. Load, analyse, compare, edit, and export .xer files from Claude, ChatGPT, Cursor, or any MCP-compatible client.
PyP6Xer MCP is workflow-oriented, not just a parser. Unlike basic XER readers, it gives AI agents the full project-controls loop: schedule health checks, critical path, delay comparison, progress updates, relationship edits, and write-back to XER.
Prefer a web interface? p6.bouch.dev — upload an XER and analyse it without configuring MCP.
Use cases
Ask questions about a Primavera P6 XER schedule
Run critical path and float analysis
Compare baseline vs update XER files and identify slipping activities
Run schedule quality and health checks
Edit activity fields safely and batch-update progress
Export modified XER files
Analyse relationship changes between two XER snapshots
Build AI workflows for delay analysis and project controls
Related MCP server: MCP PDF
Example prompts
Load this XER and show the critical path.
Compare baseline.xer and update-03.xer and list major slippages.
Find activities with high float, missing logic, or long durations.
Update activity A1020 to 60% complete and export the edited XER.
Analyse relationship changes between two XER snapshots.
Connect
Hosted (no install)
{
"mcpServers": {
"pyp6xer": {
"type": "http",
"url": "https://pyp6xer-mcp.fly.dev/mcp"
}
}
}Local (uvx — no clone needed)
{
"mcpServers": {
"pyp6xer": {
"type": "stdio",
"command": "uvx",
"args": ["pyp6xer-mcp"]
}
}
}Local (from source)
Clone the repo, then point your MCP client at it:
git clone https://github.com/paulieb89/pyp6xer-mcp.git
cd pyp6xer-mcp
uv sync{
"mcpServers": {
"pyp6xer": {
"type": "stdio",
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/path/to/pyp6xer-mcp"
}
}
}Usage
1. pyp6xer_load_file — load a .xer from a local path, URL, or base64
2. <analysis tools> — analyse the loaded schedule
3. pyp6xer_write_file — persist any edits back to diskMultiple files can be loaded simultaneously using different cache_key values.
Tools (29)
Category | Tools |
File |
|
Activities |
|
Analysis |
|
Progress / EVM |
|
Resources |
|
Calendars |
|
WBS |
|
Export |
|
Write |
|
All tool names are prefixed pyp6xer_ to avoid conflicts when used alongside other MCP servers.
Dependencies
Licence
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paulieb89/pyp6xer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server