Skip to main content
Glama
WilliamSmithEdward

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

Remove duplicate worksheet rows

xlide_remove_duplicates
DestructiveIdempotent

Remove duplicate rows in an Excel sheet by comparing chosen columns, keeping the first occurrence, then save the workbook. Confirm with the user first—deletion cannot be undone.

Instructions

Removes later rows with the same values in the chosen columns, keeping the first row of each set, and saves the workbook. A range inside a table acts on the table and shrinks it. An empty columns list compares every column. This deletes data and cannot be undone in the file: ask the user before calling it. Works on .xlsx, .xlsm and .xlam.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sheetYesWorksheet name, matched without case.
headerNoFor a plain range: keep its first row.
columnsNoColumn letters to compare; omit for all.
file_pathYesAbsolute path to the Excel file.
cell_rangeYesRange such as A1:D20.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.2

TDQS

A4.7/5.0
Behavior5/5

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

Goes beyond the annotations (destructiveHint, idempotentHint) by spelling out what is destroyed ('deletes data and cannot be undone in the file'), the keep-first retention rule, the table-shrinking behavior, and supported file formats (.xlsx, .xlsm, .xlam). This is exactly the extra context annotations cannot convey.

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?

Five short sentences, each carrying a distinct fact (behavior, table case, columns default, destruction warning, formats). The destructive warning is front-loaded before the format note, so nothing important is buried.

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

Completeness5/5

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

For a 5-param destructive mutation with an output schema already documenting returns, this covers safety, scope, defaults, and side effects. Nothing an agent needs in order to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic value: an empty 'columns' list compares every column, and a range inside a table acts on the table rather than the raw range. It doesn't elaborate on 'header' or casing, which the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Removes later rows with the same values in the chosen columns, keeping the first row of each set') plus the side effect ('saves the workbook'). This distinguishes it clearly from siblings like xlide_sort_rows or xlide_manage_rows_columns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: range-in-table semantics, empty columns list meaning all columns, and an explicit 'ask the user before calling it' for a destructive operation. No sibling alternatives are named, but none of the listed siblings overlap enough to require routing guidance.

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