Skip to main content
Glama

Open project editor window

project_open_editor

Opens the project editor for a given config ID by loading its configuration and launching /project/edit in a new window or the current window.

Instructions

Open the project editor (the app's openProjectEditor): loads the config into the editor store, then opens /project/edit?firmwareId= either in a new app window (default, via the app's createWindowWithPath) or by navigating the current window. MUTATING (loads config, opens window).

Input Schema

NameRequiredDescriptionDefault
idYesProject configId (from project_list).
targetNo"new" opens a separate editor window (app default); "current" navigates the main window.new

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false and idempotent=false; the description goes beyond them by naming the side effects (config loaded into editor store, new window created) and the default new-window behavior. It stops short of saying what happens if a window already exists or how failures surface.

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?

One front-loaded sentence covering purpose, mechanics, and mutation status with little waste. Internal implementation names (openProjectEditor, createWindowWithPath) add marginal value for an agent.

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 two-parameter tool with full schema coverage and annotations present, the description covers what it does, both parameters' behavior, and mutation impact. No output schema exists, so return values are the only unaddressed gap.

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 value by linking id to the firmwareId query parameter and spelling out that target=new is the app default versus navigating the current window. The enum values themselves are already documented in the schema.

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?

Specific verb+resource: opens the project editor, loads config into the editor store, and routes to /project/edit?firmwareId=<id>. It is clearly distinct from project_load/project_list siblings, though it never names them explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the action itself and the target choice is explained, but there is no explicit when-to-use versus project_load or window_list, and no stated preconditions such as the need for an existing project id.

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