MCP 서버

mcp-server

com.loopgantt/mcp-server
비즈니스 및 운영 생산성 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Builds project schedules and Gantt charts from task dependencies, durations, milestones, float, and critical paths.

create_gantt
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.
입력 스키마
{'type': 'object', 'required': ['name', 'tasks'], 'properties': {'name': {'type': 'string', 'description': 'Project name'}, 'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Task name'}, 'parent': {'type': 'integer', 'minimum': 0, 'description': 'Position (0-based) of an EARLIER task with isPhase=true that this task belongs to'}, '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.'}, '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.'}, 'duration': {'type': 'integer', 'minimum': 0, 'description': 'Working days (default 1). 0 makes the task a milestone.'}, 'description': {'type': 'string'}, 'isMilestone': {'type': 'boolean', 'description': 'Milestone (zero duration, drawn as a diamond)'}, 'dependencies': {'type': 'array', 'items': {'oneOf': [{'type': 'integer', 'minimum': 0}, {'type': 'object', 'required': ['task'], 'properties': {'lag': {'type': 'integer'}, 'task': {'type': 'integer', 'minimum': 0}, 'type': {'enum': ['FS', 'SS', 'FF', 'SF'], 'type': 'string'}}}]}, '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'}}}, 'maxItems': 300, 'minItems': 1}, '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'}, 'holidays': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Non-working dates, YYYY-MM-DD'}, 'workDays': {'type': 'array', 'items': {'type': 'integer', 'maximum': 7, 'minimum': 1}, 'description': 'Working weekdays as ISO numbers 1 (Mon) … 7 (Sun). Default Mon–Fri.'}, 'startDate': {'type': 'string', 'description': 'YYYY-MM-DD (defaults to today)'}, 'description': {'type': 'string', 'description': 'Optional one-line description'}}}
get_template
Get one industry template by slug: its task list with durations, ready to adapt and pass to create_gantt.
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Template slug from list_templates'}}}
list_templates
List LoopGantt's industry project templates with task counts and typical durations. Pick one, fetch it with get_template, adapt it, then create_gantt.
입력 스키마
{'type': 'object', 'properties': {}}
schedule_project
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.
입력 스키마
{'type': 'object', 'required': ['tasks'], 'properties': {'name': {'type': 'string', 'description': 'Project name'}, 'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Task name'}, 'parent': {'type': 'integer', 'minimum': 0, 'description': 'Position (0-based) of an EARLIER task with isPhase=true that this task belongs to'}, '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.'}, '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.'}, 'duration': {'type': 'integer', 'minimum': 0, 'description': 'Working days (default 1). 0 makes the task a milestone.'}, 'description': {'type': 'string'}, 'isMilestone': {'type': 'boolean', 'description': 'Milestone (zero duration, drawn as a diamond)'}, 'dependencies': {'type': 'array', 'items': {'oneOf': [{'type': 'integer', 'minimum': 0}, {'type': 'object', 'required': ['task'], 'properties': {'lag': {'type': 'integer'}, 'task': {'type': 'integer', 'minimum': 0}, 'type': {'enum': ['FS', 'SS', 'FF', 'SF'], 'type': 'string'}}}]}, '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'}}}, 'maxItems': 300, 'minItems': 1}, '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'}, 'holidays': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Non-working dates, YYYY-MM-DD'}, 'workDays': {'type': 'array', 'items': {'type': 'integer', 'maximum': 7, 'minimum': 1}, 'description': 'Working weekdays as ISO numbers 1 (Mon) … 7 (Sun). Default Mon–Fri.'}, 'startDate': {'type': 'string', 'description': 'YYYY-MM-DD (defaults to today)'}, 'description': {'type': 'string', 'description': 'Optional one-line description'}}}
추가됨
get_template
2026년 9월 17일 12:36 PM
추가됨
list_templates
2026년 9월 17일 12:36 PM
추가됨
schedule_project
2026년 9월 17일 12:36 PM
추가됨
create_gantt
2026년 9월 17일 12:36 PM