Skip to main content
Glama
kazaplan-mcp

kazaplan-mcp

by padupuy

Kz Copy Plan

kz_copy_plan

Copies a .kzp plan from a source plan ID to a target plan ID, backs up the target, then opens the duplicate for safe working edits.

Instructions

Duplique un plan : copie le .kzp de source_plan_id dans target_plan_id, puis l'ouvre. L'API ne permet pas (encore) de créer un plan : créer d'abord un plan vide sur leroymerlin.fr (Mon projet 3D), noter son id et l'ajouter à KZ_ALLOWED_PLANS. Le contenu de la cible est remplacé ; il est archivé dans backups/ avant l'envoi. Usage type : faire une copie de travail du plan réel avant de le modifier.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "source_plan_id": "<source_plan_id>",
      "target_plan_id": "<target_plan_id>"
    },
    "name": "kz_copy_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleNo
source_plan_idYes
target_plan_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so: it discloses that the target's content is replaced, that it is archived into backups/ before sending, and that the copied plan is opened as a side effect. It also surfaces the allowlist prerequisite (KZ_ALLOWED_PLANS) and the API's inability to create plans.

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?

Front-loaded with the purpose, then prerequisites, then the destructive-behavior caveat, then a typical usage line. Every sentence carries information, though the density makes it more of a run-on block than a cleanly separated list.

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?

Output schema exists, so return values need not be explained, and the mutation's risk profile is disclosed despite missing annotations. Remaining gaps are the undocumented 'title' parameter and no mention of failure modes (e.g. an id not in KZ_ALLOWED_PLANS).

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains the two required parameters well by describing the copy flow (source .kzp is read from source_plan_id and written into target_plan_id), but the optional 'title' parameter is never mentioned or given meaning.

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

Purpose4/5

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

States a specific verb and resource with mechanics: duplicates a plan by copying the .kzp from source_plan_id into target_plan_id, then opens it. An agent knows exactly what the call does, though it never positions this against siblings like kz_save or kz_open.

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 a concrete prerequisite chain (create an empty plan on leroymerlin.fr under Mon projet 3D, note its id, add it to KZ_ALLOWED_PLANS because the API cannot create plans) plus a typical usage scenario (make a working copy before editing the real plan). No explicit when-not-to-use or named alternative is offered.

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