Skip to main content
Glama

create_nested_project

Starts a SUB-VIEW under a block: creates an INDEPENDENT (empty) project and links it immediately to the host block, in a single action. Double-clicking the host dives into it. This is the "inception" action: keep the block + its one-line summary on the main view, and push the detail (sub-components, internal mechanics, detailed process) one level down. primaryKind allows a sub-view of ANOTHER kind than its host (a BPMN process under an org chart block, an ERD under an architecture component). The new project is a project in its own right: it counts toward your project cap, and WRITING into it requires TARGETING it — over MCP, expectedProjectId on each write or set_active_project; in the in-app chat neither exists: nothing is written there during this turn, the interface dives into it at the end (otherwise, double-click the host) and it is built on the NEXT turn. The write tools never act on a linked project from the outside. Refuses if the block already carries a link (no project is created then). The sub-view INHERITS the rights of the host: the host's owner becomes a manager of it (unless they are already the creator), and the host's shares propagate to it with their role — the creator stays owner, and does not receive a share on their own project. A project that ALREADY EXISTS is linked with link_project_to_cell.

Input Schema

NameRequiredDescriptionDefault
nameYesName of the new project (visible in the project list and in the breadcrumb).
labelNoAUTHORED label of the link, shown on the host card. If omitted, it takes `name`. This label is yours: the real name of the target project is resolved at display time, for each reader according to their rights.
cellIdYesID of the HOST block that will carry the link. It stays in THIS project; only a pointer to the new project is set there.
primaryKindNoDiagram kind of the new project (default: org). This is WHERE "cross-kind" inception happens: a BPMN process under an org chart block, an ERD under an architecture component.
expectedProjectIdNoUUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / cellId / description
      Previous value: -"ID du bloc HÔTE qui portera le rattachement. Il reste dans CE projet ; seul un pointeur vers le nouveau schéma y est posé."New value: +"ID of the HOST block that will carry the link. It stays in THIS project; only a pointer to the new project is set there."
    • changedInput schema / properties / expectedProjectId / description
      Previous value: -"UUID du projet visé par CET appel. Cible RÉELLEMENT ce projet au lieu du projet de session. Refusé sans rien modifier si l'accès n'est pas accordé."New value: +"UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted."
    • changedInput schema / properties / label / description
      Previous value: -"Libellé AUTORÉ du rattachement, affiché sur la carte de l’hôte. Omis, il reprend `name`. Ce libellé est le tien : le nom réel du schéma cible est résolu à l’affichage, pour chaque lecteur selon ses droits."New value: +"AUTHORED label of the link, shown on the host card. If omitted, it takes `name`. This label is yours: the real name of the target project is resolved at display time, for each reader according to their rights."
    • changedInput schema / properties / name / description
      Previous value: -"Nom du nouveau schéma (visible au tableau de bord et au fil d’Ariane)."New value: +"Name of the new project (visible in the project list and in the breadcrumb)."
    • changedInput schema / properties / primaryKind / description
      Previous value: -"Type de diagramme du nouveau schéma (défaut : org). C'est ICI que se joue l'inception « cross-kind » : un process BPMN sous un bloc d'organigramme, un MCD sous un composant d’architecture."New value: +"Diagram kind of the new project (default: org). This is WHERE \"cross-kind\" inception happens: a BPMN process under an org chart block, an ERD under an architecture component."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false); the description supplies the substantive behavior an agent cannot infer: writes require targeting the new project (expectedProjectId or set_active_project), nothing is written during the turn in the in-app chat, the sub-view inherits the host's rights and shares, and the call counts against the project cap. This is unusually rich disclosure for a mutation tool.

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?

The core action is front-loaded in the first sentence, and every sentence carries distinct information (targeting, refusal, rights inheritance, alternative tool). It is long and heavily emphasized with capitals and parentheticals, which costs some readability, but little is genuinely redundant.

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 complex, side-effecting creation tool with no output schema and a 100%-covered input schema, the description covers the remaining risk surface: refusal semantics, rights/share propagation, where the write actually lands, and the chat-vs-MCP targeting difference. An agent has everything needed to call it correctly or route elsewhere.

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 genuine meaning: primaryKind is framed as the place where cross-kind inception happens ('a BPMN process under an org chart block, an ERD under an architecture component'), and it clarifies that cellId is the host block that stays in this project while only a pointer is set. These reinforce rather than merely repeat the schema.

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 precise verb+resource+effect: 'creates an INDEPENDENT (empty) project and links it immediately to the host block, in a single action.' It explicitly contrasts itself with the sibling that handles the already-existing case ('A project that ALREADY EXISTS is linked with link_project_to_cell') and implicitly with create_project, so an agent can separate it from neighbors without opening any 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 an explicit when-to-use rationale (the 'inception' pattern: keep the summary on the main view, push detail one level down) and an explicit when-not/alternative (link_project_to_cell for pre-existing projects). It also states the refusal condition — 'Refuses if the block already carries a link (no project is created then)' — which is exactly the routing information an agent needs.

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.