{"name":"com.loopgantt/mcp-server","slug":"loopgantt-mcp-server","title":null,"description":"Create scheduled Gantt charts with critical path from a plain-language plan — no account or key.","url":"https://mcp.market/server/loopgantt-mcp-server","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":27,"stars":0,"forks":0,"downloads_week":53,"last_push_at":"2026-09-01T21:37:19.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T04:10:36.055Z","last_ok_at":"2026-11-04T04:10:36.055Z","latency_ms":389},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://loopgantt.com","version":"1.4.0","remotes":[{"type":"streamable-http","url":"https://loopgantt.com/api/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@loopgantt/mcp-server","version":"1.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional. Enables the account tools create_project / list_projects (https://loopgantt.com/settings/api-keys).","isSecret":true,"name":"LOOPGANTT_API_KEY"}]}],"tools":[{"name":"create_gantt","description":"Create a Gantt chart from a task list — no account or API key needed. YOU author the plan: list the tasks in execution order with realistic working-day durations and dependencies (0-based positions of earlier tasks; use { task, type, lag } for start-to-start/finish-to-finish links or lag). Milestones have duration 0. Only add a dependency where a task truly needs another one finished - independent tasks should run in PARALLEL (share a predecessor, or take no dependencies at all and start at the project start). Group tasks into top-level phases for a structured plan/WBS: the phase task gets isPhase: true, its tasks get parent = the position of the phase. LoopGantt schedules it with its critical-path engine and returns a picture of the chart, the dates, the critical path and a link where the user can view, export (PNG/PDF) and save the chart. Always show the user the link. Tasks with a due date take deadline: YYYY-MM-DD (a marker - the reply reports the fit). Use create_gantt when the user wants a chart to open, export or save; use schedule_project instead for what-if date math where nothing should be stored.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Project name"},"description":{"type":"string","description":"Optional one-line description"},"startDate":{"type":"string","description":"YYYY-MM-DD (defaults to today)"},"deadline":{"type":"string","description":"Optional deadline YYYY-MM-DD - drawn on the chart; compare with the returned projectEndDate and warn the user if the plan overshoots"},"workDays":{"type":"array","items":{"type":"integer","minimum":1,"maximum":7},"description":"Working weekdays as ISO numbers 1 (Mon) … 7 (Sun). Default Mon–Fri."},"holidays":{"type":"array","items":{"type":"string"},"description":"Non-working dates, YYYY-MM-DD"},"tasks":{"type":"array","minItems":1,"maxItems":300,"items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Task name"},"duration":{"type":"integer","minimum":0,"description":"Working days (default 1). 0 makes the task a milestone."},"isMilestone":{"type":"boolean","description":"Milestone (zero duration, drawn as a diamond)"},"isPhase":{"type":"boolean","description":"Top-level phase (a group). Tasks join it with parent = this position. Phases take no dependencies and no parent; their dates become the envelope of their tasks."},"parent":{"type":"integer","minimum":0,"description":"Position (0-based) of an EARLIER task with isPhase=true that this task belongs to"},"description":{"type":"string"},"deadline":{"type":"string","description":"Finish-by date YYYY-MM-DD for a task with a due date (essay due, exam day, launch). A MARKER: the task is still scheduled normally and the reply reports its fit - buffer or days late."},"dependencies":{"type":"array","description":"Predecessors: positions (0-based) of EARLIER tasks in this list, or objects { task, type: FS|SS|FF|SF, lag } for typed links / lag in days","items":{"oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["task"],"properties":{"task":{"type":"integer","minimum":0},"type":{"type":"string","enum":["FS","SS","FF","SF"]},"lag":{"type":"integer"}}}]}}}}}},"required":["name","tasks"]}},{"name":"get_template","description":"Get one industry template by slug: its task list with durations, ready to adapt and pass to create_gantt.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Template slug from list_templates"}},"required":["slug"]}},{"name":"list_templates","description":"List LoopGantt's industry project templates with task counts and typical durations. Pick one, fetch it with get_template, adapt it, then create_gantt.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"schedule_project","description":"Compute a schedule without storing anything: dates, critical path, float and project end for a task list (same input shape as create_gantt; name optional). Use it to answer \"what is the critical path?\", \"when would this finish?\", \"how much slack does X have?\". Use create_gantt when the user wants a chart they can open.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Project name"},"description":{"type":"string","description":"Optional one-line description"},"startDate":{"type":"string","description":"YYYY-MM-DD (defaults to today)"},"deadline":{"type":"string","description":"Optional deadline YYYY-MM-DD - drawn on the chart; compare with the returned projectEndDate and warn the user if the plan overshoots"},"workDays":{"type":"array","items":{"type":"integer","minimum":1,"maximum":7},"description":"Working weekdays as ISO numbers 1 (Mon) … 7 (Sun). Default Mon–Fri."},"holidays":{"type":"array","items":{"type":"string"},"description":"Non-working dates, YYYY-MM-DD"},"tasks":{"type":"array","minItems":1,"maxItems":300,"items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Task name"},"duration":{"type":"integer","minimum":0,"description":"Working days (default 1). 0 makes the task a milestone."},"isMilestone":{"type":"boolean","description":"Milestone (zero duration, drawn as a diamond)"},"isPhase":{"type":"boolean","description":"Top-level phase (a group). Tasks join it with parent = this position. Phases take no dependencies and no parent; their dates become the envelope of their tasks."},"parent":{"type":"integer","minimum":0,"description":"Position (0-based) of an EARLIER task with isPhase=true that this task belongs to"},"description":{"type":"string"},"deadline":{"type":"string","description":"Finish-by date YYYY-MM-DD for a task with a due date (essay due, exam day, launch). A MARKER: the task is still scheduled normally and the reply reports its fit - buffer or days late."},"dependencies":{"type":"array","description":"Predecessors: positions (0-based) of EARLIER tasks in this list, or objects { task, type: FS|SS|FF|SF, lag } for typed links / lag in days","items":{"oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["task"],"properties":{"task":{"type":"integer","minimum":0},"type":{"type":"string","enum":["FS","SS","FF","SF"]},"lag":{"type":"integer"}}}]}}}}}},"required":["tasks"]}}],"scan":{"score":83,"grade":"B","scanned_at":"2026-10-29T18:46:40.835Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-29T18:46:40.796Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1078ms"]},"poisoning":{"score":15,"max":15,"notes":["4 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 58 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://loopgantt.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":1078,"serverInfo":{"name":"loopgantt","version":"1.6.0"}}],"packages":[{"registryType":"npm","identifier":"@loopgantt/mcp-server","version":"1.4.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-09-01T00:23:22.864Z","repositoryUrl":"git+https://github.com/idrjoe/loopgantt-mcp.git","weeklyDownloads":53}],"repo":{"found":true,"owner":"idrjoe","repo":"loopgantt-mcp","archived":false,"pushedAt":"2026-09-01T21:37:19Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/250470015?v=4","ownerCreatedAt":"2025-12-19T04:45:07Z","license":"MIT"},"icon":{"url":"https://loopgantt.com/icon-512.png","source":"registry","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":53,"license":"MIT","lastPushAt":"2026-09-01T21:37:19.000Z","score":27}}}},"grade_history":[],"reviews":[]}