This is the Model Context Protocol (MCP) Server for P6 XER files, built on top of PyP6XER.
It exposes machine-readable MCP manifests for PyP6XER's modules for use by AI models such as:
- XER Parser
- XER Analyzer
- XER Converter
parse_xer_file(file_path)- Parse Primavera P6 XER files and extract basic project informationget_project_activities(file_path, project_id?)- Get activities from XER files, optionally filtered by project. Supports pagination (offset, limit), filtering (status_filter, critical_only), and response_format optionsget_critical_path(file_path, project_id?)- Find critical path activities (zero or negative total float). Supports pagination and response_format optionsget_activity_resources(file_path, activity_ids?)- Get resource assignments for activities, showing which resources are assigned to which tasksanalyze_resource_utilization(file_path)- Analyze resource allocation, hours, and costscheck_schedule_quality(file_path, project_id?)- Perform schedule quality checks and identify issues
xer-project://{file_path}/{project_id}- Get detailed information about a specific projectxer-activities://{file_path}- Get comprehensive activities summary with status breakdownxer-resources://{file_path}- Get resources summary with type breakdown and assignment statistics
analyze_xer_project(file_path, analysis_type)- Generate analysis prompts for different types of project analysis- Analysis types:
general,schedule,resources,progress,quality
- Analysis types:
xer_reporting_prompt(file_path, report_type)- Generate prompts for creating professional project reports- Report types:
executive,detailed,critical_path,resource,milestone
- Report types:
Use uvx to run without cloning or installing:
uvx --from git+https://github.com/osama-ata/p6xer-mcp-server p6xer-serverAdd to your Claude Desktop MCP settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"p6xer": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/osama-ata/p6xer-mcp-server",
"p6xer-server"
]
}
}
}For local development and customization:
# Clone the repository
git clone https://github.com/osama-ata/p6xer-mcp-server.git
cd p6xer-mcp-server
# Install dependencies using uv (recommended)
uv sync
# Run the server
uv run p6xer-serverFor development and testing:
# Run in development mode
uv run p6xer-server
# Or use MCP Inspector for interactive testing
npx @modelcontextprotocol/inspector uv run p6xer-serverOpen in your browser:
- MCP Inspector: http://localhost:5173
- Test tools, resources, and prompts interactively
-
Start the MCP server:
uv run --with mcp mcp run server.py
-
Connect from your AI assistant or MCP client
-
Use the tools: Parse XER files, analyze critical paths, check resource utilization, and generate comprehensive reports
- Project Overview: Basic project information, activities count, resources, calendars
- Critical Path Analysis: Activities with zero or negative float, schedule risks
- Resource Utilization: Resource allocation, hours, costs, over-allocation detection
- Schedule Quality: Missing predecessors/successors, long duration activities, logic issues
- Progress Tracking: Activity status, completion percentages, schedule performance
- Project Management: Schedule analysis, resource optimization, progress tracking
- Quality Assurance: Schedule quality checks, best practices validation
- Reporting: Executive summaries, detailed analysis reports, milestone tracking
- Data Integration: Extract P6 data for external systems and dashboards
- Parse XER File:
parse_xer_file("project.xer")→ Get basic project info - Analyze Critical Path:
get_critical_path("project.xer", "PROJECT_ID")→ Find critical activities - Check Resources:
analyze_resource_utilization("project.xer")→ Review resource allocation - Quality Check:
check_schedule_quality("project.xer")→ Identify schedule issues - Generate Report: Use prompts to create comprehensive analysis reports