app.ganty/mcp-server
Official15 toolsby homareyoshizaki
Ganty MCP
Gantt chart SaaS with server-side critical path and dependency-aware shift-impact tools, plus CRUD.
Manage Gantt charts with critical path analysis and dependency-aware project scheduling.
Topics
Captured live from the server via tools/list.
list_workspaces
Get all workspaces the authenticated user is a member of.
No parameters.
list_projects
List all projects in a workspace (excluding archived).
Parameters (1)
- workspaceIdstringrequired
Workspace ID (UUID)
create_project
Create a new project in a workspace. Returns the created project. Subject to plan-based project count limits.
Parameters (6)
- workspaceIdstringrequired
Workspace ID (UUID)
- namestringrequired
Project name
- descriptionstring
- colorstring
Hex color (e.g. #3b82f6). Defaults to blue.
- startDatestring
YYYY-MM-DD. Defaults to today.
- endDatestring
YYYY-MM-DD. Optional.
delete_project
Permanently delete a project. All tasks, milestones, and dependencies inside the project are also removed. This cannot be undone.
Parameters (1)
- projectIdstringrequired
list_tasks
List tasks in a project. Supports optional filtering by name (search), status, and assignee.
Parameters (4)
- projectIdstringrequired
Project ID (UUID)
- searchstring
Filter task name by case-insensitive substring
- statusstring
- assigneeIdstring
Filter by assignee profile ID
get_task
Get detailed information about a single task, including assignees and dependencies.
Parameters (1)
- taskIdstringrequired
Task ID (UUID)
list_milestones
List milestones in a project (key dates such as launch or review gates).
Parameters (1)
- projectIdstringrequired
create_milestone
Add a milestone (key date) to a project.
Parameters (4)
- projectIdstringrequired
- namestringrequired
- datestringrequired
YYYY-MM-DD
- colorstring
Hex color (defaults to #f59e0b)
create_task
Create a new task in a project. Dates must be in YYYY-MM-DD format. End date is exclusive (a 1-day task has end = start + 1 day).
Parameters (10)
- projectIdstringrequired
- namestringrequired
- startDatestringrequired
YYYY-MM-DD
- endDatestringrequired
YYYY-MM-DD (exclusive end)
- descriptionstring
- parentIdstring
Parent task ID for hierarchy
- assigneeIdstring
Profile ID of the assignee
- progressnumber
- statusstring
- colorstring
Hex color (e.g. #3b82f6)
update_task
Update fields of an existing task. Only provided fields will be modified.
Parameters (9)
- taskIdstringrequired
- namestring
- descriptionstring
- startDatestring
YYYY-MM-DD
- endDatestring
YYYY-MM-DD
- progressnumber
- statusstring
- colorstring
- assigneeIdstring | null
null to unassign
set_task_progress
Update the progress percentage of a task (0-100). Status is auto-derived: 0=not_started, 1-99=in_progress, 100=done.
Parameters (2)
- taskIdstringrequired
- progressnumberrequired
add_dependency
Add a finish-to-start dependency between two tasks in the same project.
Parameters (3)
- predecessorIdstringrequired
Task that must finish first
- successorIdstringrequired
Task that can start after predecessor finishes
- lagDaysnumber
Optional lag in days after predecessor finishes
delete_task
Delete a task. Child tasks and dependencies are removed as well.
Parameters (1)
- taskIdstringrequired
get_critical_path
Calculate the critical path of a project on the Ganty side and return it as data (don't ask the model to reason over raw task lists). Uses forward/backward CPM with progress-aware remaining duration. Returns critical_path tasks in order, per-task earliest/latest start/finish + slack, project_end_date, and total_duration_days. v1 limitations: Finish-to-Start dependencies only (Ganty has no other types), calendar days by default (business_days=true skips Sat/Sun but no holiday table), ignores multi-period segments, no resource calendars. Returns { error: 'cyclic_dependency', cycle } if a cycle is detected.
Parameters (3)
- project_idstringrequired
Project ID (UUID)
- as_of_datestring
YYYY-MM-DD. Start point for projecting remaining work. Defaults to today.
- business_daysboolean
If true, skip Saturday and Sunday in duration calculations. National holidays are still treated as working days (v1 has no holiday table). Defaults to false.
reschedule_and_propagate
Compute the downstream impact of shifting a single task. Default is dry_run (no DB writes); set mode='commit' to actually persist the changes. Cascades forward only (no pull): successors are pushed only if their predecessor's new end + lag would violate their current start. Tasks with progress=100 are treated as pinned; pass pinned_task_ids for additional pins. When a pin would be violated, the change is recorded in 'conflicts' and not propagated further. In mode='commit', if any conflicts exist nothing is written (all-or-nothing transaction). Same v1 limitations as get_critical_path: FS only, calendar days by default, no holiday table, ignores multi-period segments.
Parameters (7)
- task_idstringrequired
Task ID (UUID) to shift
- shiftstring
Relative shift like '+3d' (push back) or '-2d' (pull earlier). Specify exactly one of shift or new_start_date.
- new_start_datestring
Absolute new start date as YYYY-MM-DD. Specify exactly one of shift or new_start_date.
- modestring
dry_run (default): compute and return; do not modify DB. commit: write to DB in a single transaction, but only if no conflicts. Audit logged on commit.
- respect_dependenciesboolean
If false, only the named task moves; successors are not cascaded. Default true.
- pinned_task_idsarray
Additional task IDs to treat as pinned (in addition to progress=100 tasks).
- business_daysboolean
If true, skip Sat/Sun in duration math. Defaults to false.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://ganty.app/api/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.