feat: implement XER MCP Server with 9 schedule query tools
Implement complete MCP server for parsing Primavera P6 XER files and exposing schedule data through MCP tools. All 4 user stories complete. Tools implemented: - load_xer: Parse XER files into SQLite database - list_activities: Query activities with pagination and filtering - get_activity: Get activity details by ID - list_relationships: Query activity dependencies - get_predecessors/get_successors: Query activity relationships - get_project_summary: Project overview with counts - list_milestones: Query milestone activities - get_critical_path: Query driving path activities Features: - Tab-delimited XER format parsing with pluggable table handlers - In-memory SQLite database for fast queries - Pagination with 100-item default limit - Multi-project file support with project selection - ISO8601 date formatting - NO_FILE_LOADED error handling for all query tools Test coverage: 81 tests (contract, integration, unit)
This commit is contained in:
23
src/xer_mcp/models/activity.py
Normal file
23
src/xer_mcp/models/activity.py
Normal file
@@ -0,0 +1,23 @@
|
||||
"""Activity data model."""
|
||||
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
@dataclass
|
||||
class Activity:
|
||||
"""A unit of work in the schedule."""
|
||||
|
||||
task_id: str
|
||||
proj_id: str
|
||||
task_code: str
|
||||
task_name: str
|
||||
task_type: str
|
||||
wbs_id: str | None = None
|
||||
target_start_date: datetime | None = None
|
||||
target_end_date: datetime | None = None
|
||||
act_start_date: datetime | None = None
|
||||
act_end_date: datetime | None = None
|
||||
total_float_hr_cnt: float | None = None
|
||||
driving_path_flag: bool = False
|
||||
status_code: str | None = None
|
||||
Reference in New Issue
Block a user