Skip to main content
Glama
tina4stack

Claude Pascal MCP Server

by tina4stack

focus_ide

Bring a running Delphi or Lazarus IDE window to the foreground and restore it if minimized, ensuring the IDE is visible and active for reliable UI automation and screenshots.

Instructions

Restore the Delphi/Lazarus IDE window and bring it to the foreground.

Finds a running RAD Studio / Delphi / Lazarus IDE and:

  1. If minimized, calls ShowWindow(SW_RESTORE) to un-minimize it.

  2. Calls SetForegroundWindow to make it the active window.

This is the precondition for many IDE-driven workflows: observe_ide's screenshot is more reliable on a foreground window (the Windows Graphics Capture path can't reach GPU-composited Skia panels behind other windows), and any UI automation needs the window visible. Call this first whenever you're about to interact with the IDE.

Returns a one-line confirmation with the window title, or a clear error if no IDE is running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.6

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states exactly what happens: ShowWindow(SW_RESTORE) and SetForegroundWindow are called, and it returns a confirmation or an error if no IDE is running. It does not mention potential side effects like focus stealing or permission requirements, but for this simple utility, the transparency is adequate and goes beyond a bare statement.

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?

The description is compact and front-loaded: the primary purpose is in the first sentence, followed by a brief step-by-step breakdown, the rationale, and the return behavior. Every sentence contributes meaning without redundancy. It is well-structured for an agent to quickly parse the essential information.

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?

For a zero-parameter tool with an output schema (confirmed) and no annotations, the description covers all necessary aspects: what it does, why it is needed, when to call it, and what it returns. The tool is simple, and the description provides sufficient context for correct invocation. Nothing critical is missing.

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 has zero parameters, and the input schema is empty with 100% coverage. Per the rubric, 0 parameters warrants a baseline of 4. The description adds no parameter-specific details because there are none to document. It does not need to compensate for any schema gaps since there are no parameters.

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 precise action: 'Restore the Delphi/Lazarus IDE window and bring it to the foreground.' It clearly names the resource (the IDE window) and the two concrete operations (ShowWindow/SW_RESTORE and SetForegroundWindow). It also distinguishes itself from siblings by positioning itself as a precondition for other IDE-driven workflows, which implies it is not the tool that observes or interacts, but the one that makes them possible.

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?

The description gives explicit usage direction: 'Call this first whenever you're about to interact with the IDE.' It explains why by noting that observe_ide's screenshot is more reliable on a foreground window and that UI automation requires the window to be visible. This tells the agent exactly when to invoke it relative to other tools, though it does not name alternatives explicitly, the guidance is unambiguous.

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