Skip to main content
Glama

Edit a tool

cs_edit_tool

Edit Copilot Studio tool definitions—name, description, inputs, and connection settings—with a preview diff for approval before writing changes.

Instructions

Change an existing tool file: name, description, modelDescription / modelDisplayName (what the orchestrator routes on), operationId, connection mode or reference, output mode, and inputs (set / add / remove). Validates afterwards. The first call changes nothing: it returns the files it would write, as a diff against what is there now, for the user to approve. Call it again with the same arguments plus confirm: true to write them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYesTool name, file stem or path
renameNo
confirmNoRequired to write the change to the file. Without it the tool returns a preview - the changed lines against the current ones, and the character count - and writes nothing.
addInputsNo
setInputsNo
workspaceNoPath to (or inside) the agent workspace. Defaults to CPS_WORKSPACE or the current directory.
outputModeNo
descriptionNo
operationIdNo
removeInputsNopropertyNames to drop
connectionModeNo
modelDescriptionNo
modelDisplayNameNo
connectionReferenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.7
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Required to write the change to the file. Without it the tool returns a preview - the changed lines against the current ones, and the character count - and writes nothing.",
      +  "type": "boolean"
      +}
  2. First observedv0.1.5

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and handles it well: it discloses that the first call changes nothing, returns a diff of files it would write, requires confirm:true to write, and validates afterwards. This is unusually transparent for a mutating tool.

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?

Three dense sentences with no filler: the action is front-loaded, the affected fields are grouped, and the two-phase behavior is explained in the natural order an agent needs. Every sentence earns its place.

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?

For a 14-parameter tool with no annotations and no output schema, the description covers purpose, editable fields, output (diff), and confirm behavior. It does not explicitly map parameters like workspace/rename and does not specify validation failure behavior, but the core calling workflow is fully specified.

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 only 29%, so the description must add meaning. It clarifies that modelDisplayName is what the orchestrator routes on, groups connectionMode/connectionReference and outputMode, and explains the set/add/remove input operations. It leaves some parameter details to the schema, but the added context is substantive.

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?

The description opens with a specific action and resource ('Change an existing tool file') and enumerates the editable facets: name, description, modelDescription/modelDisplayName, operationId, connection mode/reference, output mode, and inputs. The phrase 'existing tool file' and the title distinguish it from creation/editing siblings such as cs_add_tool, even though it does not name them.

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?

It gives explicit procedural guidance: the first call is a no-op preview, and the caller must re-issue with confirm:true to commit. This is clear context for when to call and how to call correctly. It does not name alternative tools or state when not to use it, so it stops short of the top score.

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

Deploy Server

Other Tools