Skip to main content
Glama

duplicate_project

Make a copy of an existing project as a new project, to run the same work again: "copy last quarter's launch project", "duplicate this project for the new office", "start again from the Q3 plan". The copy carries the project's settings and description, tasks at every level with their order, priorities, estimates, durations, constraints and recurrence, the dependencies between its own tasks, epics, sprints, milestones, tags and org-wide custom field values. With people (default true) it also carries the project members, assignees and task collaborators; the source's owner joins as a manager. It resets every task to To do with no progress, actuals or completion, every milestone and sprint to not done and the project to Planning, and the caller becomes the owner. With startDate every date moves by the same whole days; without it the dates stay as they were. It leaves behind comments, attachments and documents, risks, issues, baselines, time, expenses and revenue, portfolio links, deals, readiness and closeout records, workspace lists and pages, sharing grants, links to tasks in other projects, fields scoped to the source project and every sync the source has. The source project is not changed. Unlike save_project_as_template, which keeps two levels of tasks as date offsets for reuse across many projects and needs the templates feature, this keeps the whole schedule and makes one new project now. A project above 5000 tasks or one that holds a Maker app is refused. The new project counts toward the plan's project limit. Undo deletes the copy. The result includes url, a direct link to the new project in Onplana, which the user has no other way to find from another app.

Input Schema

NameRequiredDescriptionDefault
nameNoName of the new project, 1-200 chars. Default: the source's name followed by " (copy)".
peopleNoCarry the members, assignees and task collaborators. Default true; false leaves every task unassigned and the caller the only member.
projectIdYesThe project to copy.
startDateNoOptional new start date (YYYY-MM-DD). Every date in the copy moves by the same whole days. Omitted: dates unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (not read-only, not idempotent, not destructive); the description goes far beyond them by enumerating exactly what is carried over (tasks, dependencies, epics, sprints, milestones, tags, custom fields), what is reset (all tasks to To do, project to Planning, caller becomes owner), and what is deliberately left behind (comments, attachments, risks, baselines, sharing grants, syncs). It also discloses ownership effects and the returned `url`.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and examples are front-loaded, and the dense enumeration of copied vs. left-behind data is information-dense rather than padded. It is long and could be split into bullets, but nearly every clause carries a distinct behavioral fact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent mutation with no output schema, the description covers side effects, limits, ownership changes, reversibility (Undo), and the shape of the result (`url`). Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds behavioral meaning the schema lacks: `people=true` makes the source's owner join as a manager, and `startDate` shifts every date by the same whole days while omitting it leaves dates unchanged. These consequences go beyond the schema's terse field notes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Make a copy of an existing project as a new project') and immediately differentiates itself from the nearest sibling, save_project_as_template, by contrasting what each preserves. An agent can select between them 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage scenarios ('copy last quarter's launch project'), an explicit when-to-use-this-instead-of-save_project_as_template rule, and refusal conditions (5000+ tasks, Maker app). It also notes the copy counts toward the plan's project limit and that Undo deletes the copy, so the agent knows the trade-offs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.