{"name":"io.github.S-CurveLabs/longpath","slug":"s-curvelabs-longpath","title":"longpath","description":"Read-only P6 / MS Project schedule analysis: CPM, float, DCMA 14-point, logic checks, S-curves.","url":"https://mcp.market/server/s-curvelabs-longpath","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":15,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-23T22:42:35.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/S-CurveLabs/longpath","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"longpath","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to longpath.toml (java_home, mpxj_classpath, max_rows, allow_writes). Optional: .xer and MS Project XML need no config.","name":"LONGPATH_CONFIG"},{"description":"Folder searched for longpath.toml when LONGPATH_CONFIG is not set (default: a longpath folder in %LOCALAPPDATA%, or ~/.local/share/longpath).","name":"LONGPATH_HOME"},{"description":"A Java 11+ runtime, used only to open .mpp / P6 XML files through MPXJ (install longpath[mpp] for the MPXJ jars).","name":"JAVA_HOME"}]}],"tools":[{"name":"activity_detail","description":"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 f","write_action":false,"price_micros":0,"input_schema":null},{"name":"baseline_variance","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_setup","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_schedules","description":"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","write_action":true,"price_micros":0,"input_schema":null},{"name":"critical_path","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"dcma_assessment","description":"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. Mis","write_action":false,"price_micros":0,"input_schema":null},{"name":"driving_path","description":"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?'.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_csv","description":"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 overw","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_activities","description":"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; activit","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_calendars","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_relationships","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_resources","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logic_check","description":"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 c","write_action":false,"price_micros":0,"input_schema":null},{"name":"run_cpm","description":"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 diff","write_action":true,"price_micros":0,"input_schema":null},{"name":"s_curve","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"schedule_summary","description":"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` = shor","write_action":false,"price_micros":0,"input_schema":null},{"name":"wbs_tree","description":"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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-24T05:03:49.012Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T05:03:48.951Z","components":{"code":{"score":25,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"longpath","version":"0.1.0","found":true,"license":"MIT","dependencyCount":5,"publishedAt":"2026-09-23T22:43:34.338281Z","repositoryUrl":"https://github.com/S-CurveLabs/longpath"}],"repo":{"found":true,"owner":"S-CurveLabs","repo":"longpath","archived":false,"pushedAt":"2026-09-23T22:42:35Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/331485439?v=4","ownerCreatedAt":"2026-09-20T03:04:44Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-23T22:42:35.000Z","score":15}}}},"grade_history":[],"reviews":[]}