Skip to main content
Glama
WilliamSmithEdward

xlide-excel-word-powerpoint-access-office-vba-mcp

List shapes and buttons

xlide_list_shapes
Read-onlyIdempotent

List shapes on a worksheet's drawing layer—buttons, controls, pictures—with covered cells and assigned macros to locate startup actions or identify procedures before renaming a Sub.

Instructions

Lists what sits on a worksheet's drawing layer: buttons, form controls, AutoShapes, text boxes, pictures, charts and groups, each with the cells it covers and, where it has one, the macro a click runs. Call it when asked how a workbook is started, or before renaming a Sub: a button's OnAction names a procedure and nothing rewrites it. ActiveX controls are listed but have no macro; their code is event procedures in the sheet's module.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sheetNoOne worksheet. Empty lists every sheet's shapes.
file_pathYesAbsolute path to the Excel file.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it explains that the tool lists shapes across all sheets when sheet is empty, that ActiveX controls are listed but have no macro, and that OnAction names are not rewritten by anything. This gives the agent a clear picture of what the tool will and won't return.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste. The main purpose is front-loaded, the shape types are enumerated compactly, and the usage guidance is woven in naturally. Every sentence earns its place: purpose, when-to-use, and a caveat about ActiveX controls.

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

Completeness4/5

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

The tool has an output schema, so return values don't need to be described. The description covers the main behavioral aspects: what is listed, the sheet scoping, the macro association, and the ActiveX caveat. It could mention whether the tool requires the file to be open or whether it opens it, but given the output schema and annotations, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds context about the 'sheet' parameter's behavior ('Empty lists every sheet's shapes') and implies the file_path is an absolute path, but it doesn't add much beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting.

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 specific verb ('Lists') and a precise resource ('what sits on a worksheet's drawing layer'), enumerating the shape types and the two key data points (covered cells, macro on click). It clearly distinguishes itself from sibling tools like xlide_list_sheets (which lists worksheets) and xlide_list_procedures (which lists VBA procedures), so an agent can tell them apart without opening schemas.

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 when-to-use guidance: 'Call it when asked how a workbook is started, or before renaming a Sub: a button's OnAction names a procedure and nothing rewrites it.' This tells the agent the exact scenarios and explains why the tool is needed. It also notes the ActiveX limitation, which implicitly tells the agent not to expect macro names for ActiveX controls.

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