Skip to main content
Glama

netcafe-tables

Two tables → what does not match (the VLOOKUP job), with the arithmetic proof

reconcile_ledger
Read-onlyIdempotent

Reconciles two sets of records — your books against a bank, platform, or supplier statement. Matches rows on a key column, compares an amount column, and returns three lists: only in A, only in B, and same key but different amount. Amounts are compared in integer cents, so 0.1 + 0.2 never invents a phantom difference for someone to chase. The response also proves the result: the listed differences are re-added and must equal the gap between the two totals, checked in code. Use for month-end close, platform payouts vs orders, or any "these two numbers should agree and do not" problem. This is the job people do by hand with VLOOKUP or a groupby and then cannot prove they got right.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesColumn name to match rows on, e.g. order_id.
url_aNoLink to side A (e.g. your books).
url_bNoLink to side B (e.g. the statement).
amountYesNumeric column to compare, e.g. amount.
text_aNoOr the CSV content of side A directly.
text_bNoOr the CSV content of side B directly.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare read-only and idempotent, but the description adds meaningful behavior: amounts are compared in integer cents to avoid floating-point errors, and the response includes a built-in proof that the listed differences re-add to the total gap. This goes well beyond the structured annotations.

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?

The description is well-structured: purpose, output lists, precision behavior, proof, and usage scenarios. It is a bit wordy, with the final metaphorical sentence being optional, but every sentence contributes useful information without redundancy.

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?

With a rich output schema and safe annotations, the description covers everything needed: what it does, when to use it, how it handles precision, and what the response proves. No critical context is missing for an agent to select and invoke the tool.

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?

The schema already provides complete descriptions for all six parameters (100% coverage). The tool description does not add additional parameter-level detail beyond the schema, so it relies on the schema's strong documentation. Baseline 3 is appropriate.

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 reconciles two record sets, matches on key and amount columns, and returns three specific lists (only A, only B, difference). It also highlights the unique arithmetic proof, distinguishing it from generic diff tools like diff_tables.

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?

Explicit use cases are given: month-end close, platform payouts vs orders, and any 'these two numbers should agree' problem. It does not explicitly name alternative tools, but the context is clear and the VLOOKUP/groupby reference provides practical guidance.

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.

TDQS

A3.8/5.0
Disambiguation4/5

Most tools have clearly distinct functions (conversions, cleaning, xlsx I/O, reconciliation), but diff_tables, reconcile_ledger, and match_transactions all involve comparing or matching records, which could cause initial confusion. However, each has a specific use case—generic column diff, amount-focused reconciliation, and keyless fuzzy matching—and the descriptions provide enough detail to disambiguate them.

Naming Consistency4/5

The conversion tools follow a consistent 'csv_to_*' or 'json_to_csv' pattern, while operation tools use a verb_noun style (e.g., clean_table, merge_tables, reconcile_ledger). This dual pattern is predictable by function type, but 'what_can_you_do' breaks convention as a question-like meta-tool, so the naming is mostly consistent with a minor deviation.

Tool Count5/5

With 15 tools, the server sits at the upper edge of the well-scoped range, but each tool earns its place in the CSV/spreadsheet domain—covering conversions, cleaning, merging, diffing, reconciliation, matching, and Excel I/O. The count feels appropriate for the server's broad yet focused scope.

Completeness5/5

The toolset covers the full lifecycle of table manipulation: reading (read_xlsx), encoding repair, cleaning and transforming (clean_table), merging (merge_tables), comparing (diff_tables, reconcile_ledger), matching without keys (match_transactions), entity deduplication, and output to various formats (JSON, MD, chart, QBO, XLSX). No obvious gaps are evident for common tasks.