Skip to main content

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

# Clone the repo
git clone https://github.com/osama-ata/p6xer-mcp-server.git
cd p6xer-mcp-server

# Install with uv (recommended)
uv sync

# Or with pip
pip install "mcp[cli]>=1.6.0,<2.0.0" pyp6xer

🏃 Running

Development / MCP Inspector:

uv run mcp dev src/p6xer_mcp_server/server.py

Stdio (Claude Desktop / Claude Code):

uv run p6xer-mcp-server

🔌 Claude Desktop

Add to claude_desktop_config.json:

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

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

🔌 Claude Code (CLI)

claude mcp add p6xer -- uvx p6xer-mcp-server

💬 Example Prompts

Once connected:

Parse project.xer and give me an overview of all projects

What are all the critical path activities, sorted by start date?

Run a DCMA schedule quality check on project.xer

Calculate earned value metrics — what are the CPI and SPI?

Show all resource assignments for "John Smith"

What are the predecessors and successors of activity A1000?

List all over-allocated labor resources

Generate an executive summary report for project.xer

📊 Tool Reference

Filter parameters (most tools accept)

  • project_id – numeric P6 project ID (e.g. "1234")
  • project_short_name – project short name string (e.g. "PROJ1")

Status codes

TK_NotStart · TK_Active · TK_Complete

Task types

TT_Task · TT_Mile · TT_FinMile · TT_WBS

Resource types

RT_Labor · RT_Mat · RT_Equip


🗂️ Project Structure

p6xer-mcp-server/
├── src/
│   └── p6xer_mcp_server/
│       ├── __init__.py
│       └── server.py       # All tools, resources, and prompts
├── manifest.json           # MCPB bundle manifest
├── mcp.json                # MCP registry metadata
├── smithery.yaml           # Smithery registry configuration
├── pyproject.toml
└── README.md

📋 Requirements

  • Python ≥ 3.10
  • mcp[cli] >= 1.6.0, < 2.0.0
  • pyp6xer >= 1.16.0

📄 License

MIT


🚢 Publishing to PyPI (GitHub Actions + Trusted Publishing)

This repository includes a release workflow at .github/workflows/publish-to-pypi.yml based on the PyPA guide and pypa/gh-action-pypi-publish.

1) Configure Trusted Publishers

Create trusted publishers for this exact workflow file:

Use these values:

  • Owner: osama-ata
  • Repository: p6xer-mcp-server
  • Workflow file: publish-to-pypi.yml
  • Environment: pypi (for PyPI), testpypi (for TestPyPI)
  • Project name: p6xer-mcp-server

2) Create GitHub Environments

In repository settings, create two environments:

  • pypi
  • testpypi

Recommended security setup:

  • Require manual approval for pypi
  • No approval required for testpypi

3) Build locally (optional sanity check)

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

4) Release flow

  • Push to main: publishes to TestPyPI
  • Push tag v* (for example v0.1.1): publishes to PyPI
git tag v0.1.1
git push origin v0.1.1

Release files for p6xer-mcp-server 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for p6xer-mcp-server 0.1.3
File Size Uploaded
p6xer_mcp_server-0.1.3.tar.gz 76.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for p6xer-mcp-server 0.1.3
File Interpreter ABI Platform
p6xer_mcp_server-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 90.0 kB

Release files / p6xer_mcp_server-0.1.3.tar.gz

Download URL p6xer_mcp_server-0.1.3.tar.gz
Size 76.2 kB
Tags Source
SHA-256 checksum
How to use checksums
658a89f4610a011c1d3b8a1e86aace2e36b473b6967eb6b159169fdd1eaa7788
BLAKE2b-256 checksum
How to use checksums
3e2df0c7db9c1fab2e5290798e849be00420210d305b2b1d88bbad4bb6ef8bd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / p6xer_mcp_server-0.1.3-py3-none-any.whl

Download URL p6xer_mcp_server-0.1.3-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4fe21b68e7f75e59cacdffd971da60ad5256e0e348efe641dc96686280efa251
BLAKE2b-256 checksum
How to use checksums
d00a615cbb82f6cec3b7c8548b036493cd9a212bbdd642bae1047bbff3bd9c22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page