Skip to main content
Glama

netcafe-tables

match transactions

match_transactions

Match bank statement lines to ledger/invoice entries when there is NO shared key — by amount, date window, reference numbers found inside free-text descriptions, and fuzzy counterparty names ("北京XX科技" vs "XX科技(北京)"). Handles split payments (one invoice paid in instalments, 1:N) and combined payments (one transfer covering several invoices, N:1). Its rule is: never guess — a pair is only auto-match

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
url_aNo
url_bNo
text_aNo
text_bNo
sheet_aNo
sheet_bNo
fee_toleranceNo
max_group_sizeNo
date_window_daysNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses a key behavioral rule ('never guess') and mentions handling split/combined payments, but omits side effects (e.g., whether it modifies inputs), output format, or behavior on unmatched pairs. It gives some transparency but lacks completeness for a complex matching operation.

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 packed with useful information in a single, dense paragraph. It front-loads the primary purpose and then details matching criteria, edge cases, and a rule. While it's not verbose, the density could be improved with clearer structure (e.g., bullets), but it remains concise without wasteful sentences.

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

Completeness3/5

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

Given 9 parameters, no annotations, and no output schema, the description should cover more. It explains the matching logic and edge cases, but leaves out critical context: what url_a/url_b represent, input formats, expected outputs, and any prerequisites. It's adequate for understanding the core function but incomplete for full operational use.

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 coverage is 0%, so the description must explain parameters. It references amount, date window ('date_window_days'), text fields for reference numbers and fuzzy names, and mentions 'max_group_size' possibly for split/combined handling. However, it doesn't systematically map all 9 parameters (e.g., fee_tolerance, url_a) or clarify what each does, leaving gaps.

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 matches bank statement lines to ledger/invoice entries when there is no shared key, listing specific criteria (amount, date window, reference numbers, fuzzy names) and handling split/combined payments. It distinguishes from siblings by focusing on shared-key absence, making its purpose specific and actionable.

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 explicitly states the tool is for situations 'when there is NO shared key', giving a clear trigger condition. It also mentions handling split and combined payments, which clarifies applicability. However, it doesn't name alternatives or explicitly state when not to use it, but the context is sufficient for a high score.

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.