desktop-control-mcp
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct resource-action pair: app launching/windowing, folder paths/windows, Chrome profiles/tabs, and system control are clearly separated. Even the three 'open' tools differ by target type (app name, default handler, specific app), and close/focus/minimize variants are unambiguous.
Naming Consistency5/5Nearly all tools follow a verb_noun snake_case pattern (list_*, open_*, close_*, focus_*, minimize_*), with only system_info and open_path_with as minor deviations. The naming is highly predictable and makes the tool set easy to navigate.
Tool Count3/5At 27 tools, this is on the heavy side, but the broad desktop-control scope justifies the count: app management, folder windows, Chrome control, and system power actions are all represented. A few niche tools (scroll_chrome_page, restart_graphics_driver) could be considered optional, making it feel slightly bloated.
Completeness4/5The tool set covers the major desktop workflows: app launch/focus/window-state, folder browsing and window management, Chrome tab/profile control, and system shutdown/restart. Minor gaps exist—no maximize folder window, no way to pass command-line args to open_app—but nothing blocks the core use cases.
Average 4/5 across 27 of 27 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action 'minimize' without mentioning side effects, error handling, or the multiple-window behavior (which is only in the pid schema description). The agent is left unaware of what happens when no window is found or when multiple windows exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that directly states the action. While it is minimal, it avoids unnecessary verbosity and is appropriately sized for a simple tool. It could be slightly more informative without becoming verbose, but it does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple action, the description is minimally adequate. The schema fills in parameter details, but the description lacks usage context (e.g., when to use over close_app, behavior with multiple windows) and does not mention any return values or error conditions. Given the absence of annotations and output schema, a richer description would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema sufficiently documents both parameters (app and pid) including guidance for the pid parameter. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('minimize') and resource ('an app's window'), making the tool's purpose immediately clear. It distinguishes from siblings like focus_app and maximize_app by the action, and from minimize_folder_window by the resource type. However, it does not explicitly call out that it targets app windows as opposed to folder windows, though the name implies it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as close_app, focus_app, or maximize_app. The only usage instruction ('Omit it first...') appears in the pid parameter schema, not in the description, and concerns parameter selection rather than tool selection. An agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, but it only states the main effect and does not disclose side effects, multi-window behavior, or failure modes. The only extra behavioral detail, listing PIDs and titles on ambiguous matches, lives in the pid parameter schema rather than the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single ten-word sentence with no filler or repetition. It front-loads the primary action ('Maximize') and adds the secondary behavior ('bring it to front') efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and its two parameters are fully documented, but the description omits return behavior, error conditions, and guidance on when to prefer this over similar window tools. Since there is no output schema and no annotations, some of this information is missing entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters already have meaningful descriptions, especially pid with its multi-match retry guidance. The tool description adds no parameter-level meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Maximize') and resource ('an app's window') and adds 'bring it to front,' which clearly distinguishes it from siblings like minimize_app and focus_app. An agent can tell what this tool does without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by stating its action, but it provides no explicit when-to-use or when-not-to-use guidance and names no alternatives such as focus_app or minimize_app. The intended context must be inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does disclose two behaviors—bringing the window into view and un-minimizing—which is useful. However, it does not describe failure behavior when the app is not running or when no matching window exists, leaving a nontrivial behavioral gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. The main action is front-loaded and the useful un-minimize qualifier is efficiently tucked into a parenthetical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool, the description plus the detailed schema covers the basic call, but the lack of any pointer to sibling tools—especially open_app and focus_folder_window—and the unstated precondition that the app is already running leave the context slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description itself adds no parameter-level detail. The pid parameter is already well documented in the schema, including the guidance to omit it first and retry with a PID when multiple matches occur.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Show and switch focus') plus a clear resource ('an app's window'), and adds a useful behavioral qualifier: un-minimizes it if needed. It differentiates from the sibling focus_folder_window because the target is explicitly an app window rather than a folder window.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the verb 'focus' and the target 'app window', but the description never says when not to use it, that the app must already be running, or that open_app or focus_folder_window should be chosen for launching apps or focusing folder windows. No explicit alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the main behavior: searching by title, switching tabs, and bringing Chrome to the front. However, it does not describe what happens on no match, and the only multiple-match behavior is documented in the schema rather than the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It communicates the core action and effect efficiently, and the schema handles parameter detail separately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple focus action, the description plus the rich index parameter documentation is largely sufficient. The main missing piece is explicit no-match/error behavior, but an agent can reasonably infer the outcome from the stated search-and-switch workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both 'query' and 'index' parameters already have clear, detailed descriptions. The tool description adds no parameter-specific meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('search open Chrome tabs by title and switch to the matching one') and the side effect ('bringing Chrome to the front'). This distinguishes it from siblings like open_chrome_tab or close_chrome_tab, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this when you want to focus an already-open Chrome tab. However, the description does not explicitly state when to prefer this over open_chrome_tab, focus_app, or list_chrome_tabs, nor does it mention exclusions such as Chrome not running.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does add a meaningful filter—only applications with a visible window—but it does not explain edge cases such as minimized apps, system utilities, or what the returned data looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that is front-loaded with the action and subject. Every word adds value, and there is no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, no-parameter tool, the description is largely sufficient. However, the absence of an output schema and the mild ambiguity of 'visible window' leave some room for interpretation about what exactly will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline of 4 applies. There are no parameter semantics that the description would need to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('List') and a clear resource ('currently running applications') plus a scope qualifier ('that have a visible window'). This clearly communicates what the tool does and distinguishes it from sibling tools like list_open_folders or list_chrome_tabs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to choose this tool over alternatives such as system_info or list_open_folders. The visible-window qualifier gives some context, but there is no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure; it clearly communicates the core behavior of minimizing a window. However, it does not describe what happens when the window is not found, or the multi-match behavior with hwnds, although the input schema's hwnd description partially fills that gap. The absence of side-effect detail is a moderate gap for a state-changing 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the action and object, making it immediately scannable and easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple window-minimizing action, the description plus the detailed hwnd parameter guidance is nearly complete. There is no output schema or mention of failure modes, but the tool's low complexity and the schema's behavior notes make it unlikely an agent will be badly misled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters well, including the rich hwnd retry flow. The description itself adds little parameter meaning beyond 'given folder,' so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Minimize') and resource ('an open File Explorer window for the given folder'), making the tool's purpose clear. It does not explicitly distinguish itself from siblings like minimize_app or focus_folder_window, but the 'File Explorer window' phrasing narrows the scope enough to avoid major confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this when you want to minimize an existing File Explorer window for a specific path. It does not mention alternatives or exclusions, but the single-purpose nature of 'Minimize an open File Explorer window for the given folder' gives sufficient situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole behavioral source. It accurately conveys the core behavior and the optional blank-tab behavior, but it does not disclose whether Chrome is launched if not running, whether the window is focused, or how errors are handled. Adequate for a simple tool but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct, front-loaded, and free of filler. Every word contributes to understanding the action and the optional parameter behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description and schema together provide enough information to invoke it correctly. Minor gaps remain around preconditions and result behavior, but they are not blocking for this simple operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, url, already has a clear description. The tool description just paraphrases the schema ('optionally navigating to a URL') without adding new semantic detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Open') and the resource ('a new Chrome tab'), and the optional URL navigation adds precision. The phrase 'new tab' distinguishes it from sibling operations like close, focus, or scroll on Chrome tabs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: when the user wants to open a new Chrome tab, possibly with a URL. However, it does not explicitly guide the agent on when to prefer this over related tools such as open_chrome_profile or focus_chrome_tab, and it offers no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does reveal the mechanism (simulated PageUp/PageDown presses) and the target scope (first Chrome window, active page). However, it does not clarify whether Chrome needs to be focused first, how 'first window' is determined, or how the tool behaves if no Chrome window/page is available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the action, target, direction options, and mechanism with no filler. Every phrase contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with a fully documented schema, the description is nearly sufficient. The main missing context is the behavioral precondition about focus and 'first window' ordering, but the action, scope, direction, and mechanism are all present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters, including the direction enum and the amount bounds with a default. The description adds no additional parameter 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (scroll), a specific target (active page in first Chrome window), and the mechanism (PageUp/PageDown key presses). It clearly distinguishes this from sibling Chrome tools like open_chrome_tab or focus_chrome_tab, which handle tab management rather than scrolling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies applicability by specifying 'active page in the first Chrome window,' but it does not explicitly state when to prefer this tool over alternatives or mention exclusions such as requiring Chrome to be focused. No alternative scroll tool exists among the siblings, so the omission is less harmful, but the usage condition remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose the key behavior—closing any matching open windows—but does not cover edge cases such as no matching window, invalid path, or whether the operation is a no-op. It is clear but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that front-loads the action and target. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately covers the core action and matching condition. Minor gaps remain around edge-case behavior and explicit comparison with sibling tools, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single 'path' parameter is already well described in the schema as the folder path whose windows should be closed. The description adds no new parameter semantics beyond restating 'given folder path'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Close'), names the resource ('File Explorer window(s)'), and scopes the action to windows 'currently showing the given folder path'. This clearly differentiates it from siblings like close_all_folder_windows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear condition for use: close windows for a specific folder path. It does not explicitly mention alternatives such as close_all_folder_windows for closing all windows, but the targeted-scope wording makes the intended use reasonably obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the operation lists direct children only and returns specific fields (name, type, path, file size), which gives insight into the output. However, it omits details like permission requirements, error behavior, or whether the operation is read-only (though listing is inherently non-destructive). For a simple read operation, this is borderline acceptable, but the lack of annotation coverage makes a 3 appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that immediately states the core action and the parameters. It front-loads the primary capability and includes the salient return fields without extraneous detail. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides sufficient context: it states the scope (direct children), the return fields (name, type, path, file size), and the input flexibility (path or friendly name). It lacks any mention of error conditions or non-recursive behavior explicitly stated, but the phrase 'directly inside' conveys non-recursion. For a basic listing tool, this is nearly complete; a 4 reflects minor missing details like error handling or permission needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the parameter 'path' is described as "Folder path, or a friendly name like \"documents\"" and the tool description repeats this exact idea. The description adds no new semantic meaning beyond what the schema already provides. Per the baseline rule for high schema coverage, a 3 is appropriate; the description does not compensate because it only echoes the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb-resource pair ("List the files and subfolders directly inside a folder") and explicitly scopes it to direct children, which distinguishes it from siblings like list_open_folders (which lists open windows) and find_duplicate_files (which searches for duplicates). The mention of returning name, type, path, and file size further specifies what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it accepts both a path and a friendly folder name, which gives some context on inputs. However, it does not explicitly state when to use this tool versus alternatives or when not to use it. The sibling context (e.g., list_open_folders, find_duplicate_files) makes the distinction inferable, but the description itself lacks explicit routing guidance. A 4 is reasonable because the context is clear, though exclusions are not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a useful behavioral trait: unknown values are attempted as literal .exe names. However, it does not say what happens on failure, whether launching is asynchronous, or whether target arguments apply to all apps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and then gives a practical vocabulary list plus fallback rule. Every sentence earns its place, and the length is justified by the useful enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter launch tool with no output schema, the description plus the input schema covers what an agent needs to invoke it correctly. Minor omissions like error behavior and target applicability prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes both parameters, so the baseline is 3. The description adds genuine value by enumerating accepted friendly names and clarifying the fallback behavior for the app parameter, which helps an agent pick valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Launch an application') and clearly distinguishes itself from path-opening siblings like open_path and open_path_with by defining its input as application names or .exe values. The known-name list tightens the scope further.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to launch applications by friendly name or .exe. However, it does not explicitly mention when to prefer alternatives like open_path or open_path_with, nor does it state exclusions, so usage guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention that it uses the default Windows handler and that Explorer is used for folders, which is useful. However, it doesn't describe potential side effects like window focus changes, or whether it returns success/failure, or what happens if the path doesn't exist. It's adequate but not rich for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with the core action and handler front-loaded, followed by a useful list of friendly names. Every word earns its place, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter open command with no output schema and no annotations, the description covers purpose, input semantics, and the default handler. It doesn't mention error handling or return values, but these are arguably not critical for this operation. The description is essentially complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers the `path` parameter fully, including both absolute/relative paths and friendly names. Since schema coverage is 100%, the baseline is 3. The description adds no additional parameter semantics beyond restating the friendly names, so it doesn't exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Open') and resource ('file or folder'), and clarifies it uses the default Windows handler (Explorer for folders). This clearly differentiates it from siblings like `open_path_with` and `open_app`, so an agent can distinguish without inspecting other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains the tool's behavior (default handler) and the acceptable inputs (paths and friendly names). While it doesn't explicitly say 'use this instead of open_path_with', the contrast is implicit—this uses default handler, the sibling presumably uses a specific application. This is clear context but lacks explicit exclusion or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly warns about the major side effect: 'Ends ALL remote control until someone is physically at the machine to turn it back on.' It also states the safety requirement 'Requires confirm: true.' It does not mention possible data loss, but the core irreversible consequence is transparently disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The primary action is front-loaded ('Schedule a full shutdown of this machine'), followed by the critical warning and the confirmation requirement. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-impact, destructive action with no annotations and no output schema, the description covers the core facts an agent needs: it schedules a full shutdown, has an irreversible remote-control consequence, and requires confirmation. It could additionally mention that cancel_shutdown can abort before the delay elapses, but that is already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description only repeats 'Requires confirm: true,' which the schema already states. It adds no additional meaning for message or delaySeconds beyond what the parameter descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Schedule a full shutdown of this machine.' It also distinguishes itself from siblings like restart_pc by emphasizing that it ends ALL remote control until physical intervention, which clearly separates shutdown from reboot or cancellation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The severe consequence 'Ends ALL remote control until someone is physically at the machine' implies this should only be used when intentional and physical access is available. However, it does not explicitly say when to choose this over restart_pc or when not to use it, and the cancel_shutdown alternative is only mentioned in the schema parameter, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden and succeeds: it discloses the hash-based comparison method, that the scan is recursive, what it reports (file name, every location, count, wasted disk space), and the 20000-file truncation cap with the truncated:true flag. This is unusually thorough for behavior disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the core purpose front-loaded and supporting detail (output contents, truncation behavior) following. No wasted words, though the sentence is slightly long; still well within an appropriate size for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no annotations, the description explains the return value shape (per-group file name, locations, count, wasted space) and the truncation edge case. The one friendly-name resolution behavior lives in the schema. For a single-parameter scanning tool, this is essentially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the path parameter already documents 'Folder to scan, or a friendly name like documents'. The description adds no additional parameter-level detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (recursively scan), a specific resource (folder for duplicate files), and the matching criterion ('same content, by hash - not just same name'). This clearly differentiates it from sibling tools like list_folder_contents, which would only enumerate files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's purpose evident (finding content-based duplicates) and explicitly rules out name-only matching, which helps an agent decide when it applies. However, it never names an alternative tool or states explicit when-not-to-use conditions, so usage guidance is implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden. The verb 'list' strongly implies a read-only operation without mutation, and the details about output (name, directory, last active) set expectations. It doesn't explicitly state that no profiles are modified, but the non-destructive nature is clearly implied. It could mention that it requires no special permissions, but this is minor for a local enumeration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the primary action ('List Chrome browser profiles') and includes necessary output details without any filler. Every word adds value, making it well-structured and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter, no-output-schema tool, the description is complete. It tells the agent exactly what the tool returns (name, directory, last active) and implies the result is a list. There is no missing information that an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description correctly implies that no input is needed. Since there are no parameters to document, the description does not need to add parameter-level meaning, and the baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'Chrome browser profiles configured on this machine', and specifies the output fields (name + directory, last active). This unambiguously differentiates it from the sibling list_chrome_tabs, since it targets profiles rather than tabs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like open_chrome_profile or list_chrome_tabs. It does not state any exclusions, prerequisites, or scenarios where another tool would be more appropriate. The usage context is left entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It explicitly says 'force-close,' indicating abrupt termination, and adds an important safety boundary by refusing critical system processes. It does not spell out possible data loss, but the word 'force-close' is a meaningful disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded in the first sentence, and the friendly-name list is compact and scannable. Every sentence earns its place; there is no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is quite complete: it defines valid inputs, lists supported aliases, and states a critical safety exclusion. Minor gaps such as failure behavior when the app is not running or whether unsaved data may be lost prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by enumerating friendly names and aliases (chrome, google_chrome, msedge, etc.) and by clarifying that the parameter can be a friendly name or a process/.exe name. This helps an agent construct valid input without guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Force-close a running application by name,' which names a specific verb and resource. The extensive known-name list and the explicit refusal of critical system processes clearly separate this from sibling tools like close_folder_window or shutdown_pc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: for force-closing a running application by name. It does not explicitly contrast with alternatives such as close_folder_window, focus_app, or shutdown_pc, though its scope is reasonably inferable from the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals important behavior: case-insensitive substring matching, and via the index parameter description, that multiple matches cause the tool to list indices and titles for a retry. It does not disclose what happens on zero matches, but the core matching and disambiguation behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, precise sentence that front-loads the action, resource, and matching rule. Every word earns its place, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with a detailed input schema, the description is nearly complete. It provides the query semantics, the optional index disambiguation flow, and enough context to call the tool. A small gap is the lack of explicit mention of error/no-match behavior, but this does not undermine the core callability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by specifying that matching is case-insensitive and substring-based, which is not stated in the query parameter's own description. The optional index parameter is already richly described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Close'), a specific resource ('Chrome tab'), and the selection criterion (title matches given text via case-insensitive substring match). This clearly differentiates it from the sibling tools like open_chrome_tab, focus_chrome_tab, and list_chrome_tabs by its verb and matching semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: use this tool when you want to close a Chrome tab and know part of its title. However, it does not explicitly state when to prefer this over alternatives, nor does it mention using list_chrome_tabs to discover tab titles, so there is no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool targets an open window and un-minimizes if needed, and the hwnd parameter description reveals that ambiguous matches produce a list of hwnds for retry. This is adequate for a simple, non-destructive focus action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is one focused sentence with no filler. The schema's hwnd explanation is longer but purposeful, providing necessary retry guidance without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition covers the required path, optional hwnd disambiguation, and what happens when multiple windows match. It does not explicitly state behavior when no matching window exists or describe return values, but these are minor gaps for a simple focus action with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The path and hwnd parameters are already well documented in the schema, including friendly names and retry behavior. The main description adds no additional parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Show and switch focus to an open File Explorer window for the given folder (un-minimizes if needed).' It distinguishes itself from siblings like open_path and minimize_folder_window by emphasizing an existing window and un-minimizing behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this is for already-open File Explorer windows, and the hwnd guidance provides a concrete workflow for ambiguous cases. However, it does not explicitly name alternatives or state when not to use this tool versus open_path or focus_app.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'Report' implies a read-only, non-destructive operation, which is a useful behavioral cue. However, it doesn't disclose output format, potential delays, or whether elevated privileges are required, leaving some behavior implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and resource, and uses a compact enumeration of return categories. Every word earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool, the description is nearly complete: it enumerates exactly what categories are reported. It omits the output format, but that's a minor gap given there is no output schema and the categories are self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics to document; baseline 4 applies. The description appropriately avoids inventing parameters or adding schema-level details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb ('Report') and clearly names the resource (this machine) and the scope (OS, CPU, RAM breakdown, disk usage per drive). This fully distinguishes it from sibling tools that manage apps, folders, or Chrome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear context: use this tool when you need OS/hardware status of the local machine. It doesn't explicitly mention exclusions or alternatives, but the sibling list contains no other system-info tool, so the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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. It clearly conveys the read-only nature of the operation ('List'), discloses the output shape ('index + title'), and surfaces the notable multi-window behavior ('Operates on the first Chrome window'). This is solid behavioral disclosure for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core action and return values are front-loaded, followed immediately by the key behavioral caveat. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple read-only tool, the description covers the essential context: what it lists, what is returned, and the first-window limitation. There is no output schema, so including the return format in the description is valuable and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline for no parameters is 4. There is no parameter schema to clarify, and the description does not need to add parameter semantics since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), names the exact resource ('every open tab in Chrome'), and tells the agent what is returned ('index + title'). It also clarifies the scope limitation to the first Chrome window, which distinguishes it from generic tab operations and sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when the agent needs a list of Chrome tabs with indices and titles—and provides the important scoping rule about the first window. However, it does not explicitly name alternatives or state when not to use it, such as when another Chrome window's tabs are needed or when a tab action like open/close/focus is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 behavioral burden. It discloses what the tool returns (path, title, hwnd) and the scope ('every currently open'), which strongly implies a read-only snapshot. It does not explicitly state 'no side effects,' but the verb 'list' and absence of mutation language make the behavior sufficiently clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource, then lists the exact output fields. Every word earns its place, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description is complete: it specifies the exact object being listed, the scope ('every currently open'), and the three return fields. The agent has everything needed to invoke the tool correctly and interpret its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description does not need to explain parameter behavior because there are none to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), a precise resource ('File Explorer folder window'), and a scope ('every currently open'), and it names the return fields (path, title, hwnd). This clearly distinguishes it from siblings like list_folder_contents, which lists folder contents, and list_running_apps, which lists applications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when you need to enumerate currently open File Explorer folder windows—but it does not explicitly state when not to use it or name alternatives. The agent must infer the distinction from sibling tool names rather than receiving direct routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds valuable non-obvious detail: when Chrome is already running, the tool verifies a genuinely new profile-bound window appeared and returns an error rather than a false success. This goes beyond the schema, though it stops short of describing exact return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long and every sentence earns its place: purpose, matching guidance, and the reliability edge-case. It is somewhat wordy but appropriately so given the non-obvious behavior when Chrome is already open.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter action with no output schema, the description covers the parameter, matching semantics, discovery prerequisite, and failure behavior. It does not spell out the exact success/error response shape, but that is not critical for a simple open action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining matching by profile name or exact directory, giving concrete examples like 'Work' and 'Profile 1', and pointing to list_chrome_profiles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it opens a new Chrome window under a specified profile. It clearly distinguishes itself from siblings like open_chrome_tab and list_chrome_profiles by focusing on launching a profile-bound window.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use profile name or exact directory, and consult list_chrome_profiles to discover available profiles. It does not explicitly contrast with open_chrome_tab or state when not to use it, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full burden of disclosing consequences. It clearly states that the server does NOT auto-start after reboot, that remote control will be lost until local interaction, and that confirm:true is required as a safety gate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, and each sentence adds behavioral value. 'Requires confirm: true' is slightly redundant with the schema but is short and reinforces a critical safety requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, potentially disruptive tool with no annotations, the description covers the essential consequences and safety gate. It could more explicitly reference cancel_shutdown as an abort path, but the schema already covers that in delaySeconds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: every parameter already has a meaningful description, including the delay range and the pointer to cancel_shutdown. The description only repeats the confirm requirement that is already in the schema, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: 'Schedule a restart of this machine.' It also distinguishes itself from shutdown_pc by explaining that remote control ends the same way after a restart until someone starts the machine locally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context that this is a restart and warns about the post-reboot consequence that matches shutdown_pc. It does not explicitly say 'use shutdown_pc instead when...', but it gives enough framing for an agent to understand the operational trade-off.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly discloses the operation (aborting) and its precondition (a pending countdown), which is the key behavior an agent needs. It does not state the outcome if no countdown is pending, though that is a minor gap for a simple cancel action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the action and target, with no filler or repetition of the tool name title. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter cancellation tool, the description gives the essential precondition and target. There is no output schema, so return behavior is not described, but the simplicity of the operation makes the description adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. There is nothing for the description to add about parameter meaning, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Abort' and names its two targets, shutdown_pc and restart_pc, with the qualifying condition 'still in its countdown.' This clearly identifies what the tool does and distinguishes it from the shutdown/restart siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes when this tool applies: after a shutdown_pc or restart_pc has been initiated and before its countdown finishes. It does not explicitly list alternative tools or when not to use it, but the context is clear from the countdown condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It clearly conveys that the tool launches a specific application rather than the OS default handler and that it requires an explicit app choice. It does not discuss side effects or failure behavior, but for a straightforward open action this is sufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted content. It front-loads the core purpose and examples, then covers the required-app caveat and the alternative tool. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with two fully documented required parameters, the description covers purpose, selection criteria, parameter constraints, and the sibling alternative. It does not explain return values, but none are critical for invoking an open-file-with-app action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both required parameters. The description reinforces the requirement and adds the 'ask rather than guess' guidance, but it does not meaningfully extend semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Open a file or folder using a SPECIFIC application') with concrete examples. It also distinguishes itself from the OS default handler and sibling tool open_path by emphasizing the explicit app requirement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to call this tool (when a specific app is requested) and when not to (no specific app requested, use open_path instead). It also tells the agent to ask the user rather than guess, which fully resolves the ambiguity between this tool and its sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly states that the action affects every currently open File Explorer folder window, which tells the agent the operation is a bulk close with a defined scope. It does not mention confirmation or undo behavior, but for this simple, non-destructive-in-data operation that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the action, target, and scope immediately, making it easy for an agent to parse and act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema and simple behavior, the description is complete. An agent knows exactly what the tool does and what will be affected, and there are no inputs or return values that need additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. With 100% schema coverage and an empty properties object, the description does not need to add parameter-level detail. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Close') and a precise resource ('every currently open File Explorer folder window'), clearly distinguishing this batch operation from the sibling close_folder_window, which targets a single window. The 'every currently open' qualifier makes the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when all open File Explorer folder windows should be closed. It does not explicitly name the alternative close_folder_window for closing a single window, but the contrast is strongly implied by the wording and sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral transparency. It discloses that the tool sends a built-in Windows hotkey, that the driver reinitializes, and that the screen will flicker or go black briefly as an expected side effect. It also reassures that apps and work are preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the main benefit first, then the mechanism, then when to call it, then the expected side effect. Every sentence carries necessary information and no filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description covers the essential context: what problem it solves, how it solves it, when to use it, and what side effects to expect. The agent has enough information to invoke it appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter semantics to add, earning the baseline of 4. The description's focus on the action and effect is appropriate because there is nothing to configure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fixes frozen, stuck, black, or glitched screens via a graphics driver restart, and specifies the exact mechanism (Ctrl+Shift+Win+B). It is easily distinguished from sibling tools like restart_pc or open_app because it targets graphics resets specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage guidance: call this whenever the user reports a frozen, stuck, unresponsive, or visually glitching screen and a graphics reset is a reasonable first step. It does not mention exclusions or alternatives, so it stops short of a 5, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NasirSultan/desktop-control-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server