Skip to main content
Glama

insert_subproject

Insert one project into another as a subproject: a read-only summary row at the inserted project's span, its tasks shown under it. Both projects must be in this workspace. The parent's schedule then finishes no earlier than the subproject; the subproject itself never moves for its parent. Refused when the project would insert itself or a project that already includes it. position places the row among the parent's top-level tasks by their order; omit it to add the row last. Access: edit the parent project and read the inserted one.

Input Schema

NameRequiredDescriptionDefault
positionNoOn the scale of the parent's top-level task order. Optional.
projectIdYesThe parent project.
insertedProjectIdYesThe project to insert.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With annotations only declaring the write/non-destructive profile, the description carries substantial behavioral weight: it explains the scheduling side effect (parent finish moves, subproject never moves), the read-only nature of the inserted row, the cycle-refusal rule, and the ordering semantics of insertion. This is exactly the mutation-effect context an agent needs before writing.

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

Conciseness5/5

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

Purpose comes first, then mechanics, then constraints, then the optional parameter and access requirement. Every sentence carries non-redundant information; there is no filler or restatement of the tool name.

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

Completeness4/5

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

There is no output schema, so the description would ideally say what is returned (the created subproject row or its id), which it does not. Otherwise it fully covers preconditions, side effects, refusal cases, and access — enough for correct invocation.

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 coverage is 100%, so baseline is 3, but the description adds genuine meaning beyond the schema: `position` is defined on the parent's top-level task order and omitting it appends last, which the terse schema note ('On the scale of the parent's top-level task order. Optional.') does not make explicit. The parent/inserted relationship is also restated with role clarity.

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 ('Insert one project into another as a subproject') and immediately clarifies the resulting artifact — a read-only summary row at the inserted project's span with its tasks shown underneath. This distinguishes it from siblings like add_subtasks, link_dependency, and list_subprojects without needing to reference them by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Gives explicit preconditions ('Both projects must be in this workspace', 'Access: edit the parent project and read the inserted one') and explicit when-not cases ('Refused when the project would insert itself or a project that already includes it'). It stops short of naming alternative tools for adjacent operations (e.g., add_subtasks or link_dependency), so it is clear on context but not on alternatives.

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.