Zovo Project Timeline
Server Details
A Gantt chart maker and project timeline planner that works inside the chat.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one builds a baseline schedule, the other compares what-if scenarios against that schedule. Descriptions even include explicit 'do not use for X, use Y instead' cross-references, so an agent cannot easily misselect.
Both follow a clean snake_case verb_noun pattern (plan_project_timeline, compare_timeline_scenarios) with the domain noun consistently present. No mixed conventions.
Two tools is on the thin side for a project-scheduling server, even though both are substantial. A small number of additional operations (e.g. adjusting a saved plan) would round out the surface without bloat.
Core CPM computation, scenario comparison, and export formats are well covered, but the surface explicitly lacks persistence, incremental plan updates, progress tracking, and resource leveling. An agent asked to modify or track an existing schedule will hit a dead end.
Available Tools
2 toolscompare_timeline_scenariosCompare timeline what-ifsARead-onlyIdempotentInspect
Use this when the user asks what happens to a project schedule if a task slips, takes longer or shorter, or starts later: for example "if Design slips 5 days, when do we finish?" or "does the critical path change?". Takes the same task list and calendar as plan_project_timeline plus 1 to 4 scenarios, each with changes (extra_days, a new duration, or a new start-no-earlier-than date). Returns the baseline and each scenario's end date, the delay in working and calendar days, the new critical path, tasks that became or stopped being critical, and how much of each slip was absorbed by float. Does not change or save the plan. Do not use for the first schedule of a project (use plan_project_timeline).
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | Tasks in any order (1 to 150), e.g. [{"id":"A","name":"Design","duration":5},{"id":"B","name":"Build","duration":10,"depends_on":["A"]}]. | |
| country | No | Country whose public holidays are skipped in business_days mode, as a 2-letter code or name, e.g. US, GB, DE, PL. | |
| calendar | No | business_days (default) counts Monday to Friday and skips public holidays of country; calendar_days counts every day. | |
| scenarios | Yes | 1 to 4 what-if scenarios compared with the baseline plan, e.g. [{"label":"Design +5","changes":[{"task":"Design","extra_days":5}]}]. | |
| start_date | No | Project start date YYYY-MM-DD, e.g. 2026-11-02. Defaults to today. Convert relative dates ("next Monday") to a date first. | |
| subdivision | No | State or region code for regional holidays, e.g. CA for California or BY for Bavaria. | |
| project_name | No | Project title for the chart and files, e.g. "Website relaunch". | |
| duration_unit | No | Default unit for every task duration: days (default) or weeks. | |
| non_working_dates | No | Extra days off such as a company shutdown, YYYY-MM-DD, e.g. ["2026-12-28", "2026-12-29"]. |
Output Schema
| Name | Required | Description |
|---|---|---|
| baseline | Yes | |
| warnings | Yes | |
| scenarios | Yes | |
| project_name | Yes | |
| latest_finish | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description reinforces this with "Does not change or save the plan" — meaningful because the tool accepts mutation-shaped inputs (extra_days, new durations). It also enumerates output content (baseline and per-scenario end dates, working vs calendar day delay, new critical path, tasks entering/leaving criticality, float absorption), which is partly redundant with the output schema but still adds framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the use case and examples, then inputs, then outputs, then the exclusion. It is somewhat long and the return-value enumeration partly duplicates the output schema, which costs it the top score, but every sentence is on-topic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain returns — yet it still does, plus it states the read-only contract, the parameter relationship to the sibling planner, and the routing rule. Nothing an agent needs to select and invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed nested descriptions, so the baseline is 3. The description adds genuine semantic framing beyond the schema: tasks/calendar mirror plan_project_timeline, and each scenario's changes are one of three mutually exclusive shapes (extra_days, a new duration, or a new start-no-earlier-than date) — clarifying how the nested change object is intended to be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (compares timeline what-if scenarios against a baseline) and backs it with two concrete user-utterance examples ("if Design slips 5 days, when do we finish?"). It also explicitly contrasts itself with the sibling plan_project_timeline, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger condition (task slips, takes longer/shorter, starts later; critical-path questions) and an explicit exclusion with the alternative named: "Do not use for the first schedule of a project (use plan_project_timeline)." That is both when-to-use and when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_project_timelinePlan project timelineARead-onlyIdempotentInspect
Use this when the user wants a Gantt chart, project timeline, project schedule or project plan with milestones from a task list, wants to find the critical path and project duration, or asks for early start, early finish, late start, late finish, total float or free float (critical path method). Takes tasks with durations (days or weeks), finish-to-start dependencies with optional lags, optional start-no-earlier-than dates, owners and milestones, plus a start date and a business-day calendar with country public holidays or calendar days. Returns every task's dates and float, the critical path, milestones and the end date, an interactive Gantt chart, and CSV, .ics and SVG downloads. Detects dependency loops and unknown task names. Does not save projects, sync with project tools, track progress, or level resources. Do not use for a single date difference or for daily to-do planning.
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | Tasks in any order (1 to 150), e.g. [{"id":"A","name":"Design","duration":5},{"id":"B","name":"Build","duration":10,"depends_on":["A"]}]. | |
| country | No | Country whose public holidays are skipped in business_days mode, as a 2-letter code or name, e.g. US, GB, DE, PL. | |
| calendar | No | business_days (default) counts Monday to Friday and skips public holidays of country; calendar_days counts every day. | |
| start_date | No | Project start date YYYY-MM-DD, e.g. 2026-11-02. Defaults to today. Convert relative dates ("next Monday") to a date first. | |
| subdivision | No | State or region code for regional holidays, e.g. CA for California or BY for Bavaria. | |
| project_name | No | Project title for the chart and files, e.g. "Website relaunch". | |
| duration_unit | No | Default unit for every task duration: days (default) or weeks. | |
| non_working_dates | No | Extra days off such as a company shutdown, YYYY-MM-DD, e.g. ["2026-12-28", "2026-12-29"]. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tasks | Yes | |
| request | Yes | |
| calendar | Yes | |
| end_date | Yes | |
| warnings | Yes | |
| downloads | Yes | |
| milestones | Yes | |
| start_date | Yes | |
| project_name | Yes | |
| working_days | Yes | |
| calendar_days | Yes | |
| critical_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior beyond them: the full return payload (task dates and float, critical path, milestones, end date, interactive Gantt, CSV/.ics/SVG downloads) and error handling ("Detects dependency loops and unknown task names"). It also scopes the calculation model (business-day calendar with country holidays vs. calendar days), which determines output correctness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the triggering conditions before the mechanics, and every sentence carries content (inputs, outputs, limits, exclusions). The single dense block runs long, but there is little true filler; a sentence break between behavior and exclusions would improve scanability slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity scheduling tool with 8 parameters and nested task objects, the description covers inputs, computation model, outputs, downloads, and boundaries. With an output schema present it need not explain return values further, yet it still names the deliverables, leaving nothing an agent needs missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters are already documented at field level. The description echoes their grouping (durations in days or weeks, finish-to-start dependencies with optional lags, start-no-earlier-than, owners, milestones, calendar mode) but adds no syntax or format detail beyond what the schema states. Baseline 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ("plan project timeline" via Gantt chart / milestones / CPM) and enumerates the exact computations performed: ES/EF/LS/LF, total float, free float, critical path. An agent can immediately tell this is a CPM scheduling engine rather than a generic date utility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strong triggering conditions ("the user wants a Gantt chart... or asks for early start, early finish...") plus explicit exclusions ("Does not save projects, sync with project tools, track progress, or level resources" and "Do not use for a single date difference or for daily to-do planning"). The one gap is that the sibling compare_timeline_scenarios is never named, so the agent gets no routing signal for scenario comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
compare_timeline_scenarios - First observed
plan_project_timeline
Related MCP Connectors
Build Gantt charts from your AI chat: tasks, dependencies, timeline spreadsheets. All data is local.
Create scheduled Gantt charts with critical path from a plain-language plan — no account or key.
Plan work sessions and run pomodoro timers right in the conversation.
Gantt chart SaaS with server-side critical path and dependency-aware shift-impact tools, plus CRUD.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables creating scheduled Gantt charts with critical-path analysis from any MCP client using plain-language task descriptions, with no account or API key required.416 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables collaborative project planning by connecting an MCP-capable chat app to a generative AI that manages tasks and dependencies, with a live web UI for visualization.1GPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to track time, manage the project board with epics, milestones, schedules and dependencies, and generate shareable reports through a single authenticated connection.MIT
- AlicenseCqualityCmaintenanceEnables AI agents to create and manage small project plans—including tasks, assignees, status, progress, dates, and dependencies—and retrieve Gantt-friendly project views over MCP stdio. State is stored in SQLite without external dependencies.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.