
p6xer MCP Server
io.github.osama-ataPublished by GitHub account osama-atav0.1.3Updated Oct 24, 2026
An MCP server for Primavera P6 XER files.
Overview
Lets an assistant parse and analyze Primavera P6 XER schedule files, including critical path, resources, and earned value.
- What you can do
- Built on PyP6XER, it exposes 13 tools for reading .xer schedule files: parsing a file into project lists and status breakdowns, listing activities and WBS hierarchy, finding critical path activities, checking schedule quality with DCMA-style rules, and reviewing resources, assignments, calendars, and relationships. It also computes earned value metrics such as PV, EV, AC, CPI, SPI, and EAC, plus summary statistics. Three resources and two prompt templates provide project, activity, and resource summaries and report outlines.
- When to use it
- Useful when an assistant needs to inspect or report on Primavera P6 project schedules stored as XER files, for example schedule quality reviews, critical path questions, resource utilization checks, or earned value reporting. It suits project controls and planning workflows rather than general file handling.
- Requirements
- Runs locally as a stdio process, typically via uvx or pip, and needs Python 3.10 or newer with the mcp and pyp6xer packages. An API key is read from the P6XER_API_KEY environment variable; P6XER_ENDPOINT optionally points to a p6xer service, otherwise a local daemon is assumed. P6XER_LOG_LEVEL optionally sets log verbosity. Desktop client only.
Installation
In SourceWeft
- Open p6xer MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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)
📋 Resources (3)
💬 Prompts (2)
� Install from Store
Via PyPI (uvx — no install needed)
Via PyPI (pip)
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 Desktop config (after PyPI install)
�📦 Installation
🏃 Running
Development / MCP Inspector:
Stdio (Claude Desktop / Claude Code):
🔌 Claude Desktop
Add to claude_desktop_config.json:
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)
💬 Example Prompts
Once connected:
📊 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
📋 Requirements
- Python ≥ 3.10
mcp[cli] >= 1.6.0, < 2.0.0pyp6xer >= 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:
- PyPI: https://pypi.org/manage/account/publishing/
- TestPyPI: https://test.pypi.org/manage/account/publishing/
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:
pypitestpypi
Recommended security setup:
- Require manual approval for
pypi - No approval required for
testpypi
3) Build locally (optional sanity check)
4) Release flow
- Push to
main: publishes to TestPyPI - Push tag
v*(for examplev0.1.1): publishes to PyPI
Source: README.md at commit 416ec11
Tools
0Version history
1- v0.1.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts