Skip to main content
Glama

Merge lists and remove duplicate rows (lite, up to 200 rows)

merge_dedupe_rows
Read-only

Merge 1-5 lists of JSON rows (e.g. the results of two scrapers or two CSV exports) into one clean list: remove duplicates by the fields you choose (case, accents and extra spaces ignored), keep the first or last copy or merge their fields, and optionally return only the rows that are not in a previous list ("only new rows"). Free up to 200 rows per call; for bigger files, CSV/Excel/Google Sheets or scheduled runs it points to the full Merge, Filter, Deduplicate & Transform Datasets Actor on Apify.

Input Schema

NameRequiredDescriptionDefault
keepNoWhich copy to keep: first (default), last, or merge (first copy, empty fields filled from the others)
rowsNoAlternative to datasets: one list of rows to deduplicate
exactNotrue = compare values exactly (default false: ignore case, accents and extra spaces)
datasetsNo1-5 lists of rows to merge, e.g. [[{"email":"a@x.com"}],[{"email":"A@x.com "}]]
dedupe_byNoFields that identify a duplicate, e.g. ["email"] or ["name","city"]. Empty = the whole row
previous_rowsNoRows you already have: matching rows are removed so only NEW rows come back

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark the tool read-only and non-destructive. The description adds normalization behavior (case, accents and extra spaces ignored), the keep/merge semantics, and the 200-row cap. It also says the tool 'points to' the full Actor for larger inputs, which hints at over-limit behavior, but it never states whether over-limit input is truncated or rejected. The output shape is also undescribed.

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

Conciseness4/5

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

Two dense sentences, front-loaded with the core function. The second sentence about the Apify Actor reads partly as promotion, but it also carries the useful limit and routing information.

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?

It covers inputs, options and limits well for a 6-parameter tool with no required fields. The main gaps are the missing return format (no output schema), what happens beyond 200 rows, and what happens if both rows and datasets are supplied.

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%. The description still adds meaning: it explains 'only new rows' as the purpose of previous_rows, frames the merge option, and ties normalization to the exact flag. This goes somewhat beyond the schema's own descriptions.

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 names a specific action: merge 1-5 lists of JSON rows into one deduplicated list. It gives concrete examples such as scraper results and CSV exports. No sibling tool does row merging or deduplication, so the purpose is 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/5

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

It sets clear limits, free up to 200 rows per call, and names an alternative (the full Apify Actor) for bigger files, CSV/Excel/Sheets, or scheduled runs. It does not say when to use 'rows' versus 'datasets', though the schema covers that.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.