Skip to main content
Glama
WilliamSmithEdward

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

Analyze VBA source

xlide_analyze_source
Read-onlyIdempotent

Run static analysis on VBA source to catch compile errors before writing it to a file. Optionally pass a host or existing file path to resolve calls against the correct object model.

Instructions

Runs static analysis over VBA source you are holding, before it is written to a file. Use it to check code you have just generated: it costs nothing, needs no file, and catches the compile errors that would otherwise surface in front of the user. Pass host so the code is measured against the right object model, and file_path instead if the code is destined for a file that already exists, which resolves calls into the rest of that project.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNo'excel', 'word', 'powerpoint' or 'access'. Empty checks the language alone, with no host object model.
kindNo'standard', 'class', 'document' or 'userform'.standard
sourceYesThe VBA source to check.
file_pathNoAn existing Office file this module belongs to. Its other modules are analyzed alongside, so calls into them resolve. Overrides host.
module_nameNoName to report problems against.Module1

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

The description discloses key behavioral traits beyond annotations: it is static, costs nothing, needs no file, and catches compile errors. It also explains how file_path alters behavior by resolving calls into the project. While annotations already indicate read-only and idempotent, the description adds context about the analysis scope and parameter effects. It does not mention return format, but an output schema exists, so that is 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/5

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

The description is three sentences, front-loaded with the core purpose, followed by usage guidance. Every sentence adds value without redundancy or fluff. It efficiently communicates the tool's role and key parameter decisions.

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

Completeness5/5

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

Given the tool's moderate complexity, an output schema, and comprehensive annotations, the description covers all essential aspects: what it does, when to use it, how to parameterize it, and its cost-free non-destructive nature. The agent has sufficient information to decide when to use this tool and how to construct valid calls.

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

Parameters4/5

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

Schema coverage is 100%, so each parameter has a description. The tool description adds extra meaning for host and file_path, explaining their purpose and how they affect analysis. For other parameters (source, kind, module_name), the schema descriptions suffice. This added context elevates the score above the baseline of 3.

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 clearly states the tool's function: 'Runs static analysis over VBA source you are holding, before it is written to a file.' It identifies the specific verb (analyze), resource (VBA source), and context (pre-write). It distinguishes itself from siblings by emphasizing it operates on in-memory source ('needs no file'), making its purpose unambiguous.

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 explicitly states when to use the tool: 'Use it to check code you have just generated.' It also provides concrete guidance on parameter selection: 'Pass host so the code is measured against the right object model, and file_path instead if the code is destined for a file that already exists.' This gives the agent clear instructions on when and how to invoke it, covering both usage timing and parameter differentiation.

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