Skip to content

Ganty MCP

by ganty.app · remote · no sign-in to list tools · v1.0.0 · published by app.ganty

Gantt chart SaaS with server-side critical path and dependency-aware shift-impact tools, plus CRUD.

Deletes · 2Changes · 7

15 tools: 2 can delete or cancel things, 7 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ganty https://ganty.app/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

15 tools

Deletes or cancels 2Claude Code: deny
  • delete_projectPermanently delete a project.No findings

    Why it is in this group

    • The name "delete_project" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a project. All tasks, milestones, and dependencies inside the project are also removed. This cannot be undone.
  • delete_taskDelete a task.No findings

    Why it is in this group

    • The name "delete_task" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a task. Child tasks and dependencies are removed as well.
Changes things 7Claude Code: ask
  • add_dependencyAdd a finish-to-start dependency between two tasks in the same project.No findings

    Why it is in this group

    • The name "add_dependency" says "add": a word for a change.
    Description, as the server wrote it
    Add a finish-to-start dependency between two tasks in the same project.
  • create_milestoneAdd a milestone (key date) to a project.No findings

    Why it is in this group

    • The name "create_milestone" says "create": a word for a change.
    Description, as the server wrote it
    Add a milestone (key date) to a project.
  • create_projectCreate a new project in a workspace.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a new project in a workspace. Returns the created project. Subject to plan-based project count limits.
  • create_taskCreate a new task in a project.No findings

    Why it is in this group

    • The name "create_task" says "create": a word for a change.
    Description, as the server wrote it
    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).
  • reschedule_and_propagateCompute the downstream impact of shifting a single task.No findings

    Why it is in this group

    • The name "reschedule_and_propagate" says "reschedule": a word for a change.
    Description, as the server wrote it
    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.
  • set_task_progressUpdate the progress percentage of a task (0-100).No findings

    Why it is in this group

    • The name "set_task_progress" says "set": a word for a change.
    Description, as the server wrote it
    Update the progress percentage of a task (0-100). Status is auto-derived: 0=not_started, 1-99=in_progress, 100=done.
  • update_taskUpdate fields of an existing task.No findings

    Why it is in this group

    • The name "update_task" says "update": a word for a change.
    Description, as the server wrote it
    Update fields of an existing task. Only provided fields will be modified.
Only reads 6Claude Code: allow
  • get_critical_pathCalculate 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).No findings

    Why it is in this group

    • The name "get_critical_path" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • get_taskGet detailed information about a single task, including assignees and dependencies.No findings

    Why it is in this group

    • The name "get_task" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed information about a single task, including assignees and dependencies.
  • list_milestonesList milestones in a project (key dates such as launch or review gates).No findings

    Why it is in this group

    • The name "list_milestones" says "list": a word for reading.
    Description, as the server wrote it
    List milestones in a project (key dates such as launch or review gates).
  • list_projectsList all projects in a workspace (excluding archived).No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List all projects in a workspace (excluding archived).
  • list_tasksList tasks in a project.No findings

    Why it is in this group

    • The name "list_tasks" says "list": a word for reading.
    Description, as the server wrote it
    List tasks in a project. Supports optional filtering by name (search), status, and assignee.
  • list_workspacesGet all workspaces the authenticated user is a member of.No findings

    Why it is in this group

    • The name "list_workspaces" says "list": a word for reading.
    Description, as the server wrote it
    Get all workspaces the authenticated user is a member of.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ganty https://ganty.app/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ganty__list_workspaces",
      "mcp__ganty__list_projects",
      "mcp__ganty__list_tasks",
      "mcp__ganty__get_task",
      "mcp__ganty__list_milestones",
      "mcp__ganty__get_critical_path"
    ],
    "ask": [
      "mcp__ganty__create_project",
      "mcp__ganty__create_milestone",
      "mcp__ganty__create_task",
      "mcp__ganty__update_task",
      "mcp__ganty__set_task_progress",
      "mcp__ganty__add_dependency",
      "mcp__ganty__reschedule_and_propagate"
    ],
    "deny": [
      "mcp__ganty__delete_project",
      "mcp__ganty__delete_task"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ganty. Review it before you use it.