Ganty MCP

app.ganty由 ganty.app 發布官方發布者v1.0.0更新於 Oct 25, 2026

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

已驗證Streamable HTTP可網頁執行效率與工作流資料與分析

概覽

AI 產生的概覽

Ganty MCP 將助理連接到 Ganty 的甘特圖專案,可讀寫任務、里程碑與相依關係,並由伺服器端計算要徑。

可以做什麼
列出工作區、專案、任務與里程碑,並檢視單一任務及其負責人與相依關係。
適用情境
當你在 Ganty 中管理專案,希望助理以自然語言回答排程問題或直接修改任務,而不必在甘特圖介面中逐項操作時使用。
執行需求
遠端 Streamable HTTP 端點,無需本機執行環境或安裝套件。需要 Ganty 帳號,以及在儀表板簽發的 MCP 權杖,透過 Bearer Authorization 標頭傳送,範圍為 read 或 write。
安裝前請注意
write 範圍權杖可建立、更新並永久刪除專案與任務;刪除專案會一併移除其任務、里程碑與相依關係,且無法復原。reschedule_and_propagate 預設為 dry_run,但 commit 模式會實際寫入變更;即使 dry_run 也視為寫入工具。每次寫入都會留下操作者、IP 等稽核記錄。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Ganty MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.ganty%2Fmcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "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.

來源:README.md,提交 df43d13

工具

15

list_workspaces

Get all workspaces the authenticated user is a member of.

無需輸入參數。

list_projects

List all projects in a workspace (excluding archived).

輸入參數workspaceId必填

create_project

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

輸入參數name必填colorendDatestartDatedescriptionworkspaceId必填

delete_project

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

輸入參數projectId必填

list_tasks

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

輸入參數searchstatusprojectId必填assigneeId

get_task

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

輸入參數taskId必填

list_milestones

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

輸入參數projectId必填

create_milestone

Add a milestone (key date) to a project.

輸入參數date必填name必填colorprojectId必填

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

輸入參數name必填colorstatusendDate必填parentIdprogressprojectId必填startDate必填assigneeIddescription

update_task

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

輸入參數namecolorstatustaskId必填endDateprogressstartDateassigneeIddescription

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.

輸入參數taskId必填progress必填

add_dependency

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

輸入參數lagDayssuccessorId必填predecessorId必填

delete_task

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

輸入參數taskId必填

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.

輸入參數as_of_dateproject_id必填business_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.

輸入參數modeshifttask_id必填business_daysnew_start_datepinned_task_idsrespect_dependencies

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Ganty 整合