An MCP server for Primavera P6 XER files.
Valid MCP server (0 strong, 4 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
4 files analyzed Β· 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: P6XER_API_KEY
Environment variable: P6XER_ENDPOINT
Environment variable: P6XER_LOG_LEVEL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-osama-ata-p6xer-mcp-server": {
"env": {
"P6XER_API_KEY": "your-p6xer-api-key-here",
"P6XER_ENDPOINT": "your-p6xer-endpoint-here",
"P6XER_LOG_LEVEL": "your-p6xer-log-level-here"
},
"args": [
"p6xer-mcp-server"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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.
| 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) |
| 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 |
| Prompt | Types |
|---|---|
analyze_xer_project | general Β· schedule Β· resources Β· progress Β· quality |
xer_reporting_prompt | executive Β· detailed Β· critical_path Β· resource Β· milestone |
uvx p6xer-mcp-server
pip install p6xer-mcp-server
p6xer-mcp-server
Search for p6xer-mcp-server on smithery.ai and click Install.
It will generate the correct Claude Desktop config automatically.
The server is listed in the GitHub MCP Registry. In Claude Code:
claude mcp add p6xer -- uvx p6xer-mcp-server
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": ["p6xer-mcp-server"]
}
}
}
# 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
Development / MCP Inspector:
uv run mcp dev src/p6xer_mcp_server/server.py
Stdio (Claude Desktop / Claude Code):
uv run p6xer-mcp-server
Add to claude_desktop_config.json:
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": ["p6xer-mcp-server"]
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonclaude mcp add p6xer -- uvx p6xer-mcp-server
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
project_id β numeric P6 project ID (e.g. "1234")project_short_name β project short name string (e.g. "PROJ1")TK_NotStart Β· TK_Active Β· TK_Complete
TT_Task Β· TT_Mile Β· TT_FinMile Β· TT_WBS
RT_Labor Β· RT_Mat Β· RT_Equip
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
mcp[cli] >= 1.6.0, < 2.0.0pyp6xer >= 1.16.0MIT
This repository includes a release workflow at .github/workflows/publish-to-pypi.yml based on the PyPA guide and pypa/gh-action-pypi-publish.
Create trusted publishers for this exact workflow file:
Use these values:
osama-atap6xer-mcp-serverpublish-to-pypi.ymlpypi (for PyPI), testpypi (for TestPyPI)p6xer-mcp-serverIn repository settings, create two environments:
pypitestpypiRecommended security setup:
pypitestpypipython -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
main: publishes to TestPyPIv* (for example v0.1.1): publishes to PyPIgit tag v0.1.1
git push origin v0.1.1
Be the first to review this server!
by Modelcontextprotocol Β· Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno Β· Developer Tools
Toleno Network MCP Server β Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace Β· Developer Tools
Create, build, and publish Python MCP servers to PyPI β conversationally.
by Microsoft Β· Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace Β· Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm β conversationally
by mcp-marketplace Β· Finance
Free stock data and market news for any MCP-compatible AI assistant.