Skip to main content
Glama

Revert Project

revert_project
DestructiveIdempotent

Reloads an open Xojo project from disk without saving, discarding unsaved IDE changes so external edits to .xojo_code or .xojo_window files are picked up.

Instructions

Closes the open Xojo project without saving and reopens it from disk, so the IDE picks up project files edited directly. Every unsaved change in the IDE is discarded, the user's included, so ask the user before calling it; the IDE may also show a prompt they must accept. Use it after editing .xojo_code or .xojo_window files on disk, and do not save_project in between, which would overwrite those edits. Not needed in an Agentic Mode project, where Xojo reloads edited files by itself. Needs the Xojo IDE running with the project open.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, but the description goes well beyond them by spelling out exactly what is destroyed (every unsaved IDE change, including the user's), that an interactive IDE prompt may appear that a caller must accept, and the precondition that the IDE must be running with the project open. That is the level of behavioral disclosure a destructive no-param tool needs.

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 irreversible warning and user-consent requirement are front-loaded, and each subsequent sentence adds a distinct constraint (disk trigger, save_project exclusion, Agentic Mode exception, IDE prerequisite). It is dense with semicolon-joined clauses and could be split for readability, but no sentence is filler.

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?

With no parameters and no output schema, the description supplies everything an agent needs before calling: preconditions, destructive consequences, consent requirement, an interactive prompt it may encounter, and the sibling call it must avoid. Nothing material is left to inference.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the schema-coverage baseline of 4 applies. The description correctly spends no words on arguments and instead covers preconditions and side effects.

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 names a specific operation on a specific resource: closing an open Xojo project without saving and reopening it from disk. It also states the purpose of that action (the IDE picks up on-disk edits), which lets an agent distinguish it immediately from save_project or build_project.

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?

It gives an explicit trigger (after editing .xojo_code or .xojo_window files on disk), an explicit anti-pattern (do not call save_project in between, which would overwrite the edits), and an explicit exclusion (not needed in an Agentic Mode project). It also requires asking the user first, so the routing decision is unambiguous.

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