Skip to main content
Glama

Release IDA database

close_database

Release this session's IDA database lease without disrupting other clients; for a final managed idalib lease, cancel orphaned IDA Python execution and wait for IDB shutdown. GUI databases stay open.

Instructions

Release this session's lease on an IDA database (.i64/.idb) without disrupting other clients. If this is the final lease on a managed idalib worker, orphaned IDA Python execution is cancelled and this call waits for the IDB to shut down. Databases open in the IDA GUI stay open.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
instance_idNoOptional database instance id. If omitted, release the current target.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
closedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv20261008.0.1

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that other clients are unaffected, that the final lease cancels orphaned IDA Python execution, that the call blocks until the IDB shuts down, and that GUI-opened databases stay open. The one gap is whether unsaved changes are lost on release, which matters for a close operation.

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 sentences, front-loaded with the core action and its blast radius, then escalating to the final-lease edge case and the GUI exception. Every sentence adds a distinct fact with no filler.

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?

An output schema exists so return values need not be explained, and the single parameter is covered by the schema. The description covers the key behavioral edges (final lease, blocking wait, GUI sessions) but omits the unsaved-changes question, which is the main remaining unknown for a close tool.

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?

Only one parameter, and the schema already documents it fully (100% coverage) including the default and the 'release the current target' fallback. The description adds no format or semantics beyond the schema, so the baseline 3 applies.

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?

States a specific verb (release lease) and resource (an IDA database .i64/.idb) with scope qualifiers ('this session's lease', 'without disrupting other clients'). This is immediately distinguishable from open_database, save_database, and idb_save, which all operate on the same resource with different actions.

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?

The description explains the consequences of closing but never routes the agent explicitly — it does not say to use save_database/idb_save first if changes must persist, nor when to prefer close over just letting a session lapse. Usage is implied by the action but no alternative is named.

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