# p6xer MCP Server [Health: Active]

**Category:** 📋 Product Management  
**Repository:** https://github.com/osama-ata/p6xer-mcp-server  
**GitHub Stars:** 12  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/p6xer-mcp-server

## Description
An MCP server for Primavera P6 XER files.

## Tools
Capabilities this server exposes over MCP:

- **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 Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "p6xer-mcp-server": {
    "command": "uvx",
    "args": ["p6xer-mcp-server"]
  }
}
```

## Documentation

## What p6xer MCP Server MCP server does

The p6xer MCP Server MCP server connects AI clients to Primavera P6 XER schedule files through the PyP6XER library. It parses `.xer` files and makes project, activity, resource, relationship, calendar, and work breakdown data available through the Model Context Protocol.

Its 13 tools cover both direct data access and schedule analysis. You can retrieve project activities with project, status, and task-type filters; inspect critical-path activities; view predecessors and successors; and request detailed information for an individual activity. Other tools report schedule summaries, WBS hierarchies, calendars, resources, resource assignments, and planned or actual resource utilization.

Analysis functions include a DCMA-style schedule quality check, over-allocation flags for resources, and earned value metrics such as PV, EV, AC, CV, SV, CPI, SPI, and EAC. The server also provides three read-only resource patterns for project, activity, and resource summaries, plus two prompts for general, schedule, resource, progress, quality, executive, detailed, critical-path, resource, and milestone reporting.

## How it works

The p6xer MCP Server MCP server runs as an MCP process and accepts file paths in tool and resource requests. Most relevant tools can be narrowed by numeric P6 project ID or project short name. Activity queries also support status and task-type values, while resource queries can filter by resource type.

Returned schedule information is derived from the XER file, including enriched task codes in relationships and enriched names and costs in resource assignments. Critical-path results use activities with float less than or equal to zero and sort them by early start. The available status, task-type, and resource-type values are documented by the project, including `TK_NotStart`, `TK_Active`, `TK_Complete`, `TT_Task`, `TT_Mile`, `TT_FinMile`, `TT_WBS`, `RT_Labor`, `RT_Mat`, and `RT_Equip`.

## Setup and configuration

Install the published package with either `uvx p6xer-mcp-server` or pip followed by the `p6xer-mcp-server` command. A Claude Desktop configuration can invoke `uvx` with `p6xer-mcp-server` as its argument. Claude Code can add the same stdio server with `claude mcp add p6xer -- uvx p6xer-mcp-server`.

For local development, clone the repository, run `uv sync`, or install the documented MCP and PyP6XER dependencies. The repository also supports `uv run mcp dev src/p6xer_mcp_server/server.py` for MCP Inspector use. The stated requirements are Python 3.10 or newer, `mcp[cli]` from 1.6.0 up to but not including 2.0.0, and `pyp6xer` 1.16.0 or newer.

## Tools and capabilities

The p6xer MCP Server MCP server exposes tools for:

- Parsing files and summarizing projects
- Filtering and inspecting activities
- Finding critical paths and activity logic
- Reviewing resources, assignments, costs, and utilization
- Checking schedule quality and over-allocation
- Reading WBS, calendars, and relationships
- Calculating earned value indicators

Its resources use `xer-project://`, `xer-activities://`, and `xer-resources://` URI patterns. Prompts can guide project analysis or produce reporting-oriented output.

## Limitations and notes

The documented input format is Primavera P6 XER. The material does not describe support for other schedule formats, remote file storage, authentication, or environment-variable configuration. The server is documented as a stdio application for Claude Desktop and Claude Code; no streamable HTTP deployment procedure is provided. Python and the listed package version requirements apply when installing from source or running the package locally.

_Full upstream README: https://allmcps.com/mcp/p6xer-mcp-server/readme_

