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:
27
src/xer_mcp/parser/table_handlers/__init__.py
Normal file
27
src/xer_mcp/parser/table_handlers/__init__.py
Normal file
@@ -0,0 +1,27 @@
|
||||
"""XER table handlers module."""
|
||||
|
||||
from xer_mcp.parser.table_handlers.base import TableHandler
|
||||
from xer_mcp.parser.table_handlers.calendar import CalendarHandler
|
||||
from xer_mcp.parser.table_handlers.project import ProjectHandler
|
||||
from xer_mcp.parser.table_handlers.projwbs import ProjwbsHandler
|
||||
from xer_mcp.parser.table_handlers.task import TaskHandler
|
||||
from xer_mcp.parser.table_handlers.taskpred import TaskpredHandler
|
||||
|
||||
# Registry mapping table names to handlers
|
||||
TABLE_HANDLERS: dict[str, type[TableHandler]] = {
|
||||
"PROJECT": ProjectHandler,
|
||||
"TASK": TaskHandler,
|
||||
"TASKPRED": TaskpredHandler,
|
||||
"PROJWBS": ProjwbsHandler,
|
||||
"CALENDAR": CalendarHandler,
|
||||
}
|
||||
|
||||
__all__ = [
|
||||
"CalendarHandler",
|
||||
"ProjectHandler",
|
||||
"ProjwbsHandler",
|
||||
"TABLE_HANDLERS",
|
||||
"TableHandler",
|
||||
"TaskHandler",
|
||||
"TaskpredHandler",
|
||||
]
|
||||
Reference in New Issue
Block a user