Skip to main content
Glama
S-CurveLabs

io.github.S-CurveLabs/longpath

Official
by S-CurveLabs

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JAVA_HOMENoPath to Java home directory (Java 11+) for .mpp / P6 XML support.
LONGPATH_HOMENoDirectory to look for longpath.toml, default is platform-specific.
LONGPATH_CONFIGNoPath 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. project = short name or id, needed only when the file holds several projects (the error lists them).

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 calendar (name or id) for one calendar with its exception dates (up to exceptions of them).

list_activitiesA

List activities with filters; returns the match count and the top limit rows (id, name, WBS, type, status, durations, start/finish, computed total float in working days, constraint). Filters: wbs = WBS code or name fragment (includes everything below it); code = 'Code Type=Value' or a bare value (activity codes and user fields); status = not_started / in_progress / complete / incomplete; activity_type = task, milestone, level_of_effort, wbs_summary, resource_dependent; text = fragment of the ID or name; min/max_float_days on the CPM total float; critical_only (float <= the project's critical threshold); longest_path_only. include_stored_float adds the float saved in the file next to the computed one. sort = start, finish, float, id, duration. For all rows use export_csv(tool='list_activities', ...).

wbs_treeB

The WBS hierarchy down to max_depth levels, each node with its activity count (including everything below it), how many are incomplete, the earliest start, latest finish and lowest total float (working days) under it.

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). tool is one of list_activities, list_relationships, wbs_tree, critical_path, driving_path, dcma_assessment (with check=...), logic_check (with check=...), compare_schedules (with section=...), baseline_variance, s_curve, list_resources; arguments are that tool's arguments (path, filters...). Never overwrites an existing file and never touches the schedule. dry_run=true (default) returns the row count, columns and first rows without writing; writing needs dry_run=false and allow_writes = true in longpath.toml.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 17 tools

Disambiguation5/5

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).

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues