Ganty MCP

app.gantyPublished by ganty.appOfficial publisherv1.0.0Updated Oct 25, 2026

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

VerifiedStreamable HTTPWeb executableProductivity & WorkflowData & Analytics

Overview

AI-generated overview

Ganty MCP connects an assistant to Ganty's Gantt chart projects, letting it read and edit tasks, milestones and dependencies and compute critical paths server-侧

What you can do
List workspaces, projects, tasks and milestones, and read a single task with its assignees and dependencies.
When to use it
Use it when you manage projects in Ganty and want an assistant to answer scheduling questions or make task changes in natural language instead of clicking through the Gantt UI.
Requirements
A remote Streamable HTTP endpoint; no local runtime or package. A Ganty account and an MCP token issued from the dashboard, sent as a Bearer Authorization header, scoped read or write.
Before you install
Write-scope tokens can create, update and permanently delete projects and tasks; deleting a project also removes its tasks, milestones and dependencies, and cannot be undone. reschedule_and_propagate defaults to dry_run but commit mode persists changes; it is treated as a write tool even in dry_run. Every write is audit-logged with actor and IP.

Installation

In SourceWeft

  1. Open Ganty MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.ganty%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ganty": {
      "type": "http",
      "url": "https://ganty.app/api/mcp"
    }
  }
}

README

Ganty MCP

Ganty is a Gantt chart SaaS with a built-in Model Context Protocol (MCP) server that lets AI clients like Claude Desktop and Claude Code drive your projects in natural language — and computes critical paths and shift-impact server-side rather than asking the LLM to do math.

Status: v1.0.0 — production endpoint at https://ganty.app/api/mcp (Streamable HTTP) Free on every Ganty plan including Free.

What makes this different

Most MCP servers expose CRUD over an existing API. Ganty's also exposes calculation tools that compute on the server and return JSON — so the LLM never has to reason about dates, dependencies, or critical paths.

  • get_critical_path — forward/backward-pass CPM with progress-aware remaining duration. Returns the critical path tasks in order, per-task earliest/latest start/finish, slack, projected end date. Detects cycles before computing and returns error: 'cyclic_dependency' instead of hanging or guessing.
  • reschedule_and_propagate — simulate or commit a task shift. Default mode is dry_run (no DB writes). Push-only cascade respects pinned tasks (anything at progress=100 or in pinned_task_ids) and reports conflicts instead of overwriting. commit mode wraps everything in an all-or-nothing transaction.

Quick start

  1. Issue an MCP token in Ganty: dashboard → Settings → MCP Integration → "Issue new token".
  2. Configure Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json at project root):
    json
    {  "mcpServers": {    "ganty": {      "url": "https://ganty.app/api/mcp",      "headers": { "Authorization": "Bearer YOUR_TOKEN" }    }  }}
  3. Restart Claude and try a prompt:
    • "List my Ganty projects"
    • "What's the critical path for the e-commerce rebuild project?"
    • "If I push the payments task by +3 days, when does release ship?"

Full setup walk-through: https://ganty.app/guide/mcp-integration

Tools

Read tools (visible to read-only and write tokens)

ToolDescription
list_workspacesWorkspaces the token's user belongs to
list_projectsProjects in a workspace
list_tasksTasks in a project (filter by name/status/assignee)
get_taskSingle task with assignees + dependencies
list_milestonesMilestones in a project
get_critical_pathServer-side CPM with slack and total duration

Write tools (write-scope tokens only)

ToolDescription
create_project, delete_projectProject lifecycle
create_task, update_task, delete_taskTask lifecycle
set_task_progressUpdate task progress (auto-sets status)
add_dependencyFinish-to-Start dependency between two tasks
create_milestoneAdd a milestone
reschedule_and_propagateShift a task, cascade through dependencies, dry-run or commit

reschedule_and_propagate is classified as a write tool even in dry_run mode (it shares the same compute path as commit and we don't want read-only tokens running unlimited simulations).

v1 scope and limitations

We prefer explicit non-support over silent wrong answers. Every response from the calculation tools includes a limitations array.

  • Dependency types: Finish-to-Start only (Ganty's schema doesn't model SS/FF/SF)
  • Calendar: calendar days by default; business_days: true skips Sat/Sun only (no holiday table)
  • No resource calendars in v1
  • Multi-period tasks (extraSegments) are ignored in v1; calculations use only the main start/end of each task
  • Pinned tasks: progress=100 automatically pinned; supply pinned_task_ids for additional pins
  • Push-only cascade: successors are pushed back when required, never pulled forward

Architecture

  • Transport: Streamable HTTP (JSON-RPC 2.0 over HTTP POST) — https://ganty.app/api/mcp
  • Auth: Bearer tokens (gnty_...) issued from the Ganty dashboard. Tokens are scoped read or write.
  • Rate limits: 120 req/min for read, 30 req/min for write (per token)
  • Audit logging: every write call is logged with action, actor, IP, and arg summary
  • Atomicity: reschedule_and_propagate commit mode is wrapped in a Prisma transaction; conflicts abort without writes

The calculation logic lives in pure TypeScript functions backed by 28 golden tests asserting concrete dates and day counts (linear chain shifts, diamond merges, cycle detection within 2 seconds, progress-aware remaining duration, hand-calculated CPM with slack, business-day mode, lag-day handling, push-only cascade).

Links

License

MIT for this documentation repository. The Ganty server itself is a hosted SaaS; the MCP endpoint is a feature of every Ganty workspace.

Source: README.md at commit df43d13

Tools

15

list_workspaces

Get all workspaces the authenticated user is a member of.

Takes no parameters.

list_projects

List all projects in a workspace (excluding archived).

ParametersworkspaceIdrequired

create_project

Create a new project in a workspace. Returns the created project. Subject to plan-based project count limits.

ParametersnamerequiredcolorendDatestartDatedescriptionworkspaceIdrequired

delete_project

Permanently delete a project. All tasks, milestones, and dependencies inside the project are also removed. This cannot be undone.

ParametersprojectIdrequired

list_tasks

List tasks in a project. Supports optional filtering by name (search), status, and assignee.

ParameterssearchstatusprojectIdrequiredassigneeId

get_task

Get detailed information about a single task, including assignees and dependencies.

ParameterstaskIdrequired

list_milestones

List milestones in a project (key dates such as launch or review gates).

ParametersprojectIdrequired

create_milestone

Add a milestone (key date) to a project.

ParametersdaterequirednamerequiredcolorprojectIdrequired

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).

ParametersnamerequiredcolorstatusendDaterequiredparentIdprogressprojectIdrequiredstartDaterequiredassigneeIddescription

update_task

Update fields of an existing task. Only provided fields will be modified.

ParametersnamecolorstatustaskIdrequiredendDateprogressstartDateassigneeIddescription

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.

ParameterstaskIdrequiredprogressrequired

add_dependency

Add a finish-to-start dependency between two tasks in the same project.

ParameterslagDayssuccessorIdrequiredpredecessorIdrequired

delete_task

Delete a task. Child tasks and dependencies are removed as well.

ParameterstaskIdrequired

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.

Parametersas_of_dateproject_idrequiredbusiness_days

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.

Parametersmodeshifttask_idrequiredbusiness_daysnew_start_datepinned_task_idsrespect_dependencies

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Ganty integrations