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 集成