P6XER MCP Server

by osama-ata

9 stars
366 downloads
Not rated
GitHub Website

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

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name P6XER MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

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

PyPI version
Python 3.12+
License: MIT
MCP

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 for p6xer-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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.