P6XER MCP Server
About
This is the Model Context Protocol (MCP) Server for P6 XER files, exposes machine-readable MCP manifests for PyP6XER's modules for use by AI models.
Details
- Author
- osama-ata
- GitHub stars
- 9
- Downloads
- 366
- Categories
- Other
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
P6XER MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": [
"p6xer-mcp-server"
]
}
}
}
parse_xer_file
Parse a Primavera P6 XER file and return basic project information: project list with status breakdowns, total activities, resources, calendars, WBS elements, and relationships.
get_project_activities
Get activities from an XER file. Filter options: - project_id: numeric P6 project ID - project_short_name: project short name string - status: TK_NotStart | TK_Active | TK_Complete - task_type: TT_Task | TT_Mile | TT_FinMile | TT_WBS - limit: max rows returned (default 100)
get_critical_path
Find critical path activities (total float <= 0, incomplete only). Results are sorted by early start date ascending. Accepts either project_id (numeric) or project_short_name as a filter.
analyze_resource_utilization
Summarize resource utilization: planned/actual hours and costs per resource. Labor resources (RT_Labor) are flagged as over_allocated if planned hours exceed max_hours_per_year (default 2080 = 40 hrs/week x 52 weeks). Results are sorted by planned hours descending.
check_schedule_quality
DCMA-style schedule quality check on open/in-progress activities. Identifies: - Activities missing predecessors (excluding start milestones) - Activities missing successors (excluding finish milestones) - Long-duration activities (threshold: long_duration_days, default 20) - High-float activities (threshold: high_float_days, default 44) - TT_Task activities without any resource assignment - Activities missing early start dates
get_resources
List all resources in an XER file. Optionally filter by type: RT_Labor | RT_Mat | RT_Equip
get_resource_assignments
Get resource-activity assignments, enriched with resource and activity names. - rsrc_name: partial match on resource name (case-insensitive) - task_code: exact match on activity task code
get_wbs
Get the Work Breakdown Structure (WBS) hierarchy, optionally filtered by project.
get_relationships
Get activity predecessor/successor relationships, enriched with task codes. If task_code is supplied, returns only relationships where that activity appears as the successor or as the predecessor.
get_calendars
List all calendar definitions in the XER file with hours-per-period data.
get_schedule_summary
Comprehensive schedule summary: activity counts by status, critical activity count, milestone count, resource/calendar/WBS/relationship totals, and date range.
get_earned_value
Calculate Earned Value Management (EVM) metrics per project: PV (Planned Value), EV (Earned Value), AC (Actual Cost), CV (Cost Variance), SV (Schedule Variance), CPI, SPI, EAC.
get_activity_detail
Get full detail for a single activity by its task_code (case-insensitive). Returns all scheduling fields plus enriched predecessors, successors, and resource assignments with names and costs.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"p6xer mcp server": {
"p6xer": {
"command": "uvx",
"args": [
"p6xer-mcp-server"
]
}
}
}
}
McpServers
{
"p6xer": {
"command": "uvx",
"args": [
"p6xer-mcp-server"
]
}
}
P6XER MCP Server
mcp-name: io.github.osama-ata/p6xer-mcp-server
A full-featured Model Context Protocol (MCP) server for Primavera P6 XER files, built on PyP6XER.
Exposes 13 Tools, 3 Resources, and 2 Prompts so any MCP-compatible AI client (Claude Desktop, Claude Code, Cursor, etc.) can interactively parse, query, and analyze .xer schedule files.
---
🚀 Features
🔧 Tools (13)
| Tool | Description |
|------|-------------|
| parse_xer_file | Parse an XER file — project list, totals, status breakdowns |
| get_project_activities | Activities with filters: project_id, project_short_name, status, task_type |
| get_critical_path | Critical path activities (float ≤ 0), sorted by early start |
| analyze_resource_utilization | Planned/actual hours & costs per resource; over-allocation flags |
| check_schedule_quality | DCMA-style check: missing logic, long durations, high float, unresourced tasks |
| get_resources | List resources, optionally filtered by type |
| get_resource_assignments | Resource–activity assignments with enriched names and costs |
| get_wbs | Work Breakdown Structure hierarchy |
| get_relationships | Predecessor/successor relationships enriched with task codes |
| get_calendars | Calendar definitions with hours-per-period data |
| get_schedule_summary | At-a-glance stats: counts, date range, critical count |
| get_earned_value | EVM: PV, EV, AC, CV, SV, CPI, SPI, EAC per project |
| get_activity_detail | Full detail for one activity (preds + succs + resources) |
📋 Resources (3)
| URI | Description |
|-----|-------------|
| xer-project://{file_path}/{project_id} | Detailed text summary of a specific project |
| xer-activities://{file_path} | Activities summary with status breakdown and duration stats |
| xer-resources://{file_path} | Resources summary with type breakdown and assignment stats |
💬 Prompts (2)
| Prompt | Types |
|--------|-------|
| analyze_xer_project | general · schedule · resources · progress · quality |
| xer_reporting_prompt | executive · detailed · critical_path · resource · milestone |
---
� Install from Store
Via PyPI (uvx — no install needed)
uvx p6xer-mcp-server
Via PyPI (pip)
pip install p6xer-mcp-server
p6xer-mcp-server
Via Smithery
Search forp6xer-mcp-server on smithery.ai and click Install.
It will generate the correct Claude Desktop config automatically.
Via GitHub MCP Registry
The server is listed in the GitHub MCP Registry. In Claude Code:claude mcp add p6xer -- uvx p6xer-mcp-server
Claude Desktop config (after PyPI install)
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": ["p6xer-mcp-server"]
}
}
}
---
�📦 Installation
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



