Skip to main content
Glama

Run IDE action

ide_action
Destructive

Invoke Android Studio menu actions by ID to trigger Gradle sync, code reformatting, import optimization, builds, or lint checks without manual menu navigation.

Instructions

Invoke an Android Studio action by id, as if chosen from the menu. Useful ids: Android.SyncProject (Gradle sync), ReformatCode, OptimizeImports, MakeGradleProject (Build › Make), CompileDirty, Android.RunAndroidLint. Editor actions apply to the active editor; use ide_open first.

Input Schema

NameRequiredDescriptionDefault
idYes
projectNoOpen project name or base path. Defaults to the project containing `path`, else the active one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, so the safety profile is carried by structured data. The description adds the useful scoping fact that editor actions target the active editor, but does not warn that menu actions can modify files or trigger builds (long-running, irreversible), which would be valuable context for a destructive 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?

Front-loaded with the core action, then the id examples, then the editor caveat. Every sentence carries information; only the mid-sentence id enumeration is slightly list-like, but each entry earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain what invoking an action returns or whether it blocks until completion — it does not. For a destructive, arbitrary-menu-dispatch tool with 50% schema coverage, the remaining gaps are execution semantics (sync vs async, failure behavior) and the lack of a pointer to the full action-id catalog.

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 `id` parameter has no schema description (coverage 50%), so the description must compensate, and it does: it enumerates five concrete ids with meanings, including a namespaced one (Android.SyncProject) and a clarification for MakeGradleProject. It does not say where the full id list lives, but the examples add real value over the bare 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?

States a specific verb and resource ('Invoke an Android Studio action by id, as if chosen from the menu'), which is concrete and easy to distinguish from file-oriented siblings like ide_read_file. It does not, however, differentiate itself from ide_actions (presumably the lister) or note the overlap with ide_gradle_sync for Android.SyncProject.

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?

One explicit prerequisite is given ('Editor actions apply to the active editor; use ide_open first'), which is genuinely useful. But there is no routing guidance to sibling tools: nothing says to use ide_actions to discover ids, or that ide_gradle_sync is a dedicated alternative to invoking Android.SyncProject here.

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