io.github.S-CurveLabs/longpath
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JAVA_HOME | No | Path to Java home directory (Java 11+) for .mpp / P6 XML support. | |
| LONGPATH_HOME | No | Directory to look for longpath.toml, default is platform-specific. | |
| LONGPATH_CONFIG | No | Path to a longpath.toml configuration file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_setupA | Show the server version, which config file is in use, and whether .mpp support is available (Java + MPXJ jars, where they were found). Run this first if a .mpp file fails to open. .xer and XML files never need Java. |
| schedule_summaryA | Open a schedule file (.xer, .mpp, MS Project .xml, P6 .xml) and summarize it: projects in the file, data date,
activity/relationship/WBS/calendar/resource counts by type and status, planned start, finish (stored and as
computed by the CPM engine), critical and longest-path counts, float spread, scheduling options, and warnings from
reading the file. Use this first on any new file. |
| list_calendarsA | List the work calendars in a schedule file: work week (hours per weekday), hours per day, number of holiday and
changed-hours exceptions, and how many activities use each. Pass |
| list_activitiesA | List activities with filters; returns the match count and the top |
| wbs_treeB | The WBS hierarchy down to |
| activity_detailA | Everything about one activity (by activity ID, or exact name): type, status, calendar, durations, actual / early / late dates from the CPM engine next to the dates stored in the file, total and free float (computed and stored), constraints, activity codes, user fields, resource and cost assignments, and its predecessors and successors with relationship type, lag, relationship float and a driving flag. |
| list_relationshipsA | List relationships (predecessor -> successor, type, lag in working days of the predecessor, driving flag and relationship float from the CPM engine). Filter by an activity (either end), rel_type (FS/SS/FF/SF), lag range, or driving_only. |
| run_cpmA | Run the server's own CPM engine (forward/backward pass: FS/SS/FF/SF, lags, each activity's calendar with holidays, constraints, data date, retained logic or progress override per the file's settings) and report the computed finish, critical and longest-path counts, and a check against the float and early dates the scheduling tool saved in the file: how many total floats match, and the largest differences. Differences point at settings, calendars or stale files (a schedule not recalculated after edits) worth investigating. |
| critical_pathA | The critical path, in start order. method='longest_path' (default) traces driving relationships back from the latest finish, as P6's Longest Path does; method='total_float' lists activities whose total float is at or below the project's critical threshold (or float_threshold_days). Each row carries total float and whether it is driven by a relationship or by the data date / a constraint. |
| driving_pathA | Everything that drives one activity: its driving predecessors, their driving predecessors and so on, back to the activities driven only by the data date or a constraint. Use it to answer 'why is this activity (or milestone) forecast on that date?'. |
| dcma_assessmentA | DCMA 14-point schedule assessment with the standard thresholds: logic, leads, lags, relationship types, hard constraints, high float (>44 d), negative float, high duration (>44 d), invalid dates, resources, missed tasks, critical path test (adds 600 days to a longest-path activity and checks the finish moves), CPLI and BEI. Each check reports metric, threshold, pass/fail and example offenders. Missed tasks / BEI / CPLI need a baseline: baseline_path = a baseline schedule file, else the baseline stored in the file, else P6 planned dates (labelled). float_source = computed (this server's CPM) or stored (the file's own float). Pass check='6_high_float' (or its number, '6') for that check's full offender list. |
| logic_checkB | Logic-quality sweep: loops, open starts/finishes, dangling starts/finishes, leads, excessive lags (> max_lag_days), SF links, SS/FF-only activities, hard and soft constraints, long durations, out-of-sequence progress, dates on the wrong side of the data date, zero-duration tasks, duplicate and redundant links, summary-task and external links. Returns every check's count with a few examples; pass check= for that check's full list. |
| compare_schedulesA | Update-to-update comparison of two versions of a schedule (previous vs current update). Summary: both data dates and finishes, finish slip (working and calendar days), longest-path turnover; then counts and top rows for added/deleted activities and relationships, lag changes, duration changes, date changes (largest finish movement first), float changes (biggest loss first), started / finished this period, activities that were forecast to start this period but did not, actual dates edited after the fact, constraint, calendar and name changes, activities that joined or left the longest path. Pass section= for one section's full list. Activities match on P6 Activity ID (MS Project: Unique ID). |
| baseline_varianceA | Start / finish / duration variance of every activity against a baseline, in working days (positive = later than baseline), worst finish variance first, plus the project finish variance. Baseline source, in order: baseline_path (a baseline schedule file, matched on activity ID), the baseline stored in the file (MS Project Baseline 0), or P6 Planned Start/Finish (labelled as such, since it is not a true baseline). |
| s_curveA | S-curve / loading data by period: planned (baseline) vs actual vs forecast, per period and cumulative, for measure = cost, units (resource hours/quantities) or activities (count of finishes). period = week, month or quarter. resource = one resource's code or name for its histogram. Planned values come from baseline_path, the file's stored baseline, or P6 planned dates, spread linearly over working time. Also returns planned vs actual to the data date. |
| list_resourcesC | Resources assigned in the project with totals: activities, budget / actual / remaining units and cost, resource type. Expenses and fixed costs are summed on their own line. Largest budget cost first. |
| export_csvA | Write the FULL list behind one of the list tools to a new .csv file (Excel-friendly UTF-8). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool has a clearly distinct purpose: listing activities, relationships, resources, calendars, detailed views, CPM analysis, critical path, DCMA, logic checks, comparisons, variance, and S-curve. Even similar tools like critical_path vs driving_path are differentiated by scope (project-wide vs specific activity).
All tool names follow a consistent snake_case verb_noun pattern (list_*, run_cpm, compare_schedules, baseline_variance). Nouns like wbs_tree and s_curve are still in the same style, and there is no mixing of camelCase or inconsistent verbs.
17 tools is slightly above the ideal 3-15 range, but given the specialized domain of schedule analysis, each tool serves a distinct analytical function (DCMA, logic, comparison, variance, S-curve) and earns its place. It feels well-scoped rather than bloated.
The tool surface covers the full lifecycle of schedule analysis: reading/summarizing files, listing all resource types, detailed activity/relationship info, CPM engine, critical path, DCMA assessment, logic checks, update-to-update comparison, baseline variance, and S-curve. No obvious gaps for a read-only analysis tool.