netcafe-tables
Server Details
Messy spreadsheets in, clean checkable tables out. Every result carries its arithmetic proof.
- Status
- Healthy
- Uptime
- 99.5% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- mario03690/ai-netcafe
- GitHub Stars
- 1
- Server Listing
- ai-netcafe
TDQS
Scored across 15 tools
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.
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.
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.
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.
Available Tools
15 toolsclean_tableMessy CSV → tidy CSV, with a report of every changeARead-onlyIdempotentInspect
Tidies a spreadsheet export: removes duplicate rows, trims whitespace (half-width and full-width — Chinese exports are full of ), unifies the half-dozen ways a cell can say "empty" (NA / null / - / 无), drops empty rows and columns, and can split one column into several. Returns the cleaned CSV plus exactly what changed: rows in, rows out, duplicates removed, cells trimmed per column. It can also transpose rows/columns and unpivot a wide table into a long one. The row arithmetic is verified in code — if in − removed ≠ out, the response says so instead of handing back a table nobody can check. Use when a CSV came out of Excel or an export and needs cleaning before analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| ops | No | Comma-separated, default "dedupe,trim,drop_empty,unify_blank". Also available: split_column, transpose (swap rows/columns), wide_to_long (unpivot a wide table into the long format analysis tools expect). | |
| url | No | Link to the CSV. Provide this or text. | |
| keep | No | For wide_to_long: comma-separated id columns to keep as-is. Defaults to the first column. | |
| text | No | The CSV content itself. Provide this or url. | |
| split_by | No | Separator to split on, default a single space. | |
| split_column | No | Column name to split (requires ops to include split_column). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds substantial behavioral context: it returns a cleaned CSV plus a report of changes ('rows in, rows out, duplicates removed, cells trimmed per column'), and it verifies row arithmetic, explicitly stating it reports inconsistencies instead of returning an unchecked table. This goes well beyond the annotations, which only cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but every sentence serves a purpose: listing operations, describing the report, explaining verification, additional transformations, and the use case. It's front-loaded with the main function and not wasteful, though it is a bit long due to the tool's multiple capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, operations, return value, verification, and use case, which is complete for an agent to select and invoke the tool correctly. The output schema and annotations fill remaining gaps (exact return structure and safety profile). No significant missing context, though it doesn't address edge cases like conflicting parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented in the input schema, including valid ops values. The description reinforces the purpose of split_column and wide_to_long but doesn't add meaningfully new parameter-level semantics beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Tidies a spreadsheet export' and enumerates specific operations (removes duplicate rows, trims whitespace, unifies empty values, splits columns, transposes, unpivots). It distinguishes itself from sibling tools like diff_tables or extract_tables by focusing on cleaning and transforming CSV data for analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'Use when a CSV came out of Excel or an export and needs cleaning before analysis.' It also explains why wide_to_long is useful ('long format analysis tools expect'), but it doesn't explicitly mention when not to use the tool or name alternative tools for exclusions, so it's a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_to_chartcsv to chartBInspect
CSV (first column = labels, second = values) → chart PNG in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | ||
| url | No | ||
| type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals expected input ordering and output format, but omits details about chart type selection, handling of malformed data, or authentication/rate limits. Adds some behavioral context beyond schema but remains thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that delivers the core input-output contract without waste. It front-loads the key transformation and format details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters, no output schema, and no annotations. The one-sentence description covers the high-level transformation but leaves parameter semantics, chart types, error behavior, and alternative input methods unexplained. Given the sibling set and complexity, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the three parameters (csv, url, type). It does not clarify what each parameter means, which is especially problematic given the ambiguous empty schema types and additionalProperties allowed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the transformation: CSV with specified column roles becomes a chart PNG in one call. It distinguishes from siblings like csv_to_json and csv_to_md_table by naming the output format (chart PNG) and input structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: use when you need to convert CSV data into a chart image. However, no explicit when-not-to-use guidance or alternative tool names are provided, leaving the decision to inference from sibling naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_to_jsoncsv to jsonBInspect
CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | ||
| url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden of behavioral disclosure. The description states the core behavior: input is CSV (text or URL) and output is a .json file. It implies a read-only conversion operation, and while it doesn't explicitly say it doesn't modify data, the brevity and tool name suggest a safe transformation. It lacks details on how URLs are fetched or any rate limits, but for a simple converter, the description is sufficient. It does not contradict itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, extremely concise with zero waste. It clearly states the input, output, and a key detail (first row = keys). It is well-structured and front-loaded with the most important information (CSV → JSON).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the absence of an output schema, the description covers the essential transformation logic. However, it does not explain the relationship between the two parameters, which is critical for correct invocation. The tool has no annotations, so the description must bear more weight; it does not mention error handling (e.g., invalid CSV, inaccessible URL) or how the 'url' parameter is used. Overall, it is minimally complete but leaves a key ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema has no descriptions for the two parameters 'csv' and 'url'. The description mentions that CSV can be 'text or URL', but it doesn't clarify how the two parameters relate: whether they are alternatives (provide one or the other) or whether both can be provided. This is a significant gap. The description adds minimal meaning beyond the parameter names, leaving ambiguity about which to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts CSV (text or URL) to a JSON array of objects, with the first row as keys. It distinguishes itself from siblings like csv_to_md_table and csv_to_chart by specifying the output format (.json file). However, it doesn't explicitly differentiate from the inverse tool json_to_csv, though that is implied by the direction of conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need CSV converted to JSON. It does not explicitly state when not to use it or mention alternatives like csv_to_md_table for table formats, or clean_table for preprocessing. The guidance is adequate but minimal, providing no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_to_md_tablecsv to md tableCInspect
CSV (text or URL) → GitHub-flavoured Markdown table.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | ||
| url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavior, but it only states the transformation. It does not clarify URL fetching behavior, error handling on malformed CSV, size limits, or whether both csv and url parameters are required. This leaves significant uncertainty for a tool that likely performs I/O operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence with no filler. It is front-loaded and easy to parse. However, its brevity borders on under-specification, though that is more a completeness issue, so conciseness itself is well-executed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's conversion task and the bare input schema, the description omits critical context: how to supply the CSV (string vs URL), expected output formatting nuances, potential failure modes, and any required preprocessing. With no annotations or output schema, this is insufficient for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for its two parameters (csv and url). The description says 'CSV (text or URL)' but does not explicitly map which parameter holds the text or the URL, nor whether they are mutually exclusive or both required. This ambiguity forces the agent to guess parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the transformation: CSV (text or URL) to a GitHub-flavoured Markdown table. It uses a specific verb+resource format and distinguishes itself from sibling tools like csv_to_json and csv_to_chart by explicitly naming the output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention typical use cases, prerequisites, or when to prefer another CSV-handling tool. There's no 'when-not' or alternative reference, so the agent gets no directional help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_to_qboTransaction CSV → QuickBooks .qbo bank feed fileARead-onlyIdempotentInspect
Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount columns (or debit + credit). Pairs with extract_statement: statement PDF in, importable bank feed out.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | CSV content with a header row. | |
| url | No | Or a link to the CSV. | |
| bank_id | No | Routing / bank identifier, if your import asks for one. | |
| currency | No | Three-letter currency code, default USD. | |
| account_id | No | Your account number as the accounting software expects it. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the requirement for date, description, and amount columns (or debit+credit), which is valuable behavioral information beyond the schema and annotations. It does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each adding value: the core purpose, the required columns, and a related workflow pairing. It is front-loaded and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the tool has straightforward parameters, the description covers the essential aspects: purpose, input requirements, and workflow context. The agent has enough information to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all five parameters. The description adds meaning by specifying the required CSV columns, which are not detailed in the parameter descriptions. This goes beyond the schema and helps the agent understand the tool's input constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Convert' and the resource 'transaction CSV' to produce a '.qbo / OFX bank-feed file' for QuickBooks. This is distinct from sibling tools like csv_to_json or csv_to_chart, as it is explicitly for accounting software imports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context about when to use this tool: to create a bank-feed file for accounting software. It also mentions a complementary tool 'extract_statement' for a statement PDF workflow. However, it does not explicitly say when not to use it or mention alternatives like other CSV converters, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dedupe_entitiesdedupe entitiesCInspect
Find records in a supplier/customer/store list that are probably the SAME entity under different names — "北京星辰科技有限公司" vs "星辰科技(北京)" — by cross-checking name similarity against hard identifiers: tax ID (统一社会信用代码, checksum-verified), phone, domain, bank account, address. It never merges anything: it returns candidate groups with the evidence for each link, pairs that need human review, and — just as
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| bank | No | ||
| name | No | ||
| text | No | ||
| phone | No | ||
| sheet | No | ||
| domain | No | ||
| tax_id | No | ||
| address | No | ||
| name_threshold | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the disclosure burden, and it does add value: 'It never merges anything: it returns candidate groups with the evidence for each link, pairs that need human review.' This tells the agent this is a non-mutating, evidence-returning operation. However, it omits operational behavior (input file handling via sheet/url, rate limits, runtime cost) and is cut off mid-sentence ('and — just as'), leaving the return semantics incomplete. No contradiction with annotations was found, but this is merely because no annotations were supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, grammatically complex run-on sentence that gets cut off mid-thought ('and — just as'). While the inline example is valuable, the lack of sentence or paragraph structure makes the description harder to parse than necessary. This is over-specification in some places (long example) and under-specification in structure, rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It covers the deduplication rationale well but leaves out invocation mechanics (how data is provided via url/sheet/text, which parameters are input vs. output), never explains the 'pairs' return value in full, and fails to clarify why no parameters are required. The description needed to do heavy lifting for a complex tool and did not deliver.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for entirely undocumented parameters. It does map several parameters indirectly to the business logic: tax_id (checksum-verified), phone, domain, bank, address, name (via 'name similarity'), and name_threshold (implied). However, no single parameter is explicitly documented for format or semantics—the parameters are only inferable from the narrative, and several (text, url, sheet) remain completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Find records... that are probably the SAME entity under different names') with a concrete example ('北京星辰科技有限公司' vs '星辰科技(北京)'). It clearly identifies the deduplication purpose and distinguishes itself from the sibling conversion/match tools, though the run-on structure and truncated ending slightly muddy the impression.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the sibling alternatives (match_transactions, merge_tables, reconcile_ledger). Usage context is only implied via the deduplication description; there are no exclusions, prerequisites, or 'use this if you see X, otherwise use Y' statements, leaving the agent to guess when this is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_tablesTwo tables → what differs (the VLOOKUP job, no amounts needed)ARead-onlyIdempotentInspect
Matches rows across two CSVs on a key column and reports three things: keys only in A, keys only in B, and keys in both whose other columns disagree — naming the exact column and both values. Unlike reconcile_ledger this needs no amount column, so it also fits name lists, inventory counts, permission tables, and any "these two exports should match" check.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Column that identifies a row, e.g. id. | |
| url_a | No | Link to the first CSV. | |
| url_b | No | Link to the second CSV. | |
| text_a | No | Or the first CSV content directly. | |
| text_b | No | Or the second CSV content directly. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context beyond these by explaining the exact matching semantics and that it reports which column differs and both values. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, then followed by usage guidance. Every sentence earns its place, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are already specified. The description provides all necessary operational context: the matching algorithm, output categories, and appropriate use cases. It is fully complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter clearly described (e.g., 'Column that identifies a row', 'Link to the first CSV'). The tool description does not need to add parameter-level detail since the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Matches rows across two CSVs on a key column' and specifies the exact three outputs (keys only in A, only in B, and mismatches with column names and values). It also distinguishes itself from the sibling reconcile_ledger by explicitly noting it needs no amount column.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Unlike reconcile_ledger this needs no amount column' and lists appropriate use cases ('name lists, inventory counts, permission tables, and any "these two exports should match" check'). This provides clear when-to-use guidance and names an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_csv_encodingFix a CSV that opens garbled in ExcelARead-onlyIdempotentInspect
Detect the real encoding of a CSV (GB18030, Shift-JIS, Windows-1252…), repair mojibake (UTF-8 that was read as Latin-1, e.g. "é"), and re-emit UTF-8 with a BOM so Excel opens it correctly.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL of the CSV. | |
| text | No | Or paste the CSV content directly. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral details: supported encodings, an example of mojibake, and the re-emission with a UTF-8 BOM. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with front-loaded verbs and parenthetical examples. It conveys all essential information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, annotations, and an output schema, the description is sufficiently complete: it explains purpose, behavior, and result. It could note that exactly one of url or text is required, but the schema already conveys both options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters (url and text) at 100%, so the description does not need to add extra parameter details. With high schema coverage, the baseline of 3 applies; the description provides no additional parameter-specific guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Detect', 'repair', 're-emit') and names the resource (CSV) and desired outcome (opens correctly in Excel). It clearly distinguishes from sibling tools like csv_to_json or clean_table by focusing on encoding repair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The title and description establish a clear use case: when a CSV opens garbled in Excel. However, it does not explicitly mention alternatives or state when not to use the tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
json_to_csvjson to csvAInspect
JSON array of objects → CSV file. Flattens keys, quotes fields containing commas.
| Name | Required | Description | Default |
|---|---|---|---|
| json | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the burden of behavioral disclosure. It mentions two key behaviors—flattening keys and quoting fields with commas—which are useful. However, it does not disclose error handling, handling of invalid JSON, output file writing details, or performance implications. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the core action, and every word contributes meaning. It conveys the operation, key transformations, and output format without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool with one parameter and no output schema, the description covers the essential aspects: input format, conversion action, and notable transformations. It could include more details on expected output structure or failure modes, but given the tool's simplicity, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'json' with no type or description, and schema description coverage is 0%. The description compensates by specifying the expected input as a 'JSON array of objects', which clarifies the structure. However, it does not elaborate on optional parameters or edge cases, and given the sparse schema, the added meaning is minimal but present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the conversion from JSON array of objects to a CSV file, using the arrow notation to indicate transformation. It also mentions key flattening and quoting behavior, which distinguishes it from sibling tools like csv_to_json and other CSV utilities. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the input format ('JSON array of objects') and output ('CSV file'), but it does not explicitly state when to use this tool versus alternatives. There is no comparison with sibling tools like csv_to_json or csv_to_md_table, so usage context is only implied rather than clearly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_transactionsmatch transactionsAInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| url_a | No | ||
| url_b | No | ||
| text_a | No | ||
| text_b | No | ||
| sheet_a | No | ||
| sheet_b | No | ||
| fee_tolerance | No | ||
| max_group_size | No | ||
| date_window_days | No |
TDQS
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.
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.
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.
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.
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.
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.
merge_tablesSeveral CSVs → one, columns unioned, row counts provenARead-onlyIdempotentInspect
Combines up to 20 CSVs into a single table. Headers do not have to match: columns are unioned and a file missing a column contributes blanks for it, so rows never shift silently — the failure mode that makes hand-merged spreadsheets untrustworthy. Reports each source file row count and checks in code that they sum to the merged total. Use for monthly exports, per-store sheets, or any set of files with the same subject but drifting headers.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Comma-separated CSV links, at least two. | |
| texts | No | Or pass the CSV contents directly as an array. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive. Description adds valuable context: column union behavior, blanks for missing columns, row-count verification, and the failure mode it prevents. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each packed with purpose, behavior, and usage. No filler, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a merge tool with output schema and comprehensive annotations, the description fully covers behavior, edge cases, and usage scenarios. Includes row-count verification, making the output trustworthiness explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (100% coverage). Description adds the 'up to 20' limit and implies either urls or texts can be used, providing extra constraint context. Baseline 3 elevated to 4 for this addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it combines up to 20 CSVs into a single table, with specific details about column unioning and row-count verification. Distinguishes from sibling tools like diff_tables by focusing on merging rather than comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases ('monthly exports, per-store sheets, or any set of files with the same subject but drifting headers'). Lacks explicit exclusions or named alternatives, so not a 5, but clear context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_xlsxread xlsxAInspect
Read an Excel .xlsx workbook (by URL) into rows — every sheet, or one you name. Returns cell values (not formula text), dates as YYYY-MM-DD instead of Excel serial numbers, and keeps leading zeros so ID/postcode columns are not silently mangled. Says plainly which sheet it used, which sheets are hidden, and where merged cells left blanks, instead of guessing for you.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| sheet | No | ||
| inline | No | ||
| max_rows | No | ||
| preview_rows | No | ||
| keep_formulas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that formula text is not returned, dates are converted, leading zeros are preserved, and it explicitly reports hidden sheets/merged-cell gaps. It lacks details on errors or access limits, but the key behaviors are clearly surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences front-load the core purpose and each clause adds a distinct behavioral detail. It is appropriately sized for the amount of useful content, though slightly long due to its list of edge-case behaviors.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides strong context about output formatting and edge-case handling, which is valuable given no output schema or annotations. However, it fails to explain several parameters and does not describe the row structure, so it is only partially complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only hints at url, sheet, and keep_formulas (via 'formula text'). Parameters such as inline, max_rows, and preview_rows are not mentioned or explained, leaving substantial gaps for a 6-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Read an Excel .xlsx workbook (by URL) into rows' clearly specifies the verb, resource, and input method. The detail about 'every sheet, or one you name' further distinguishes it from siblings like write_xlsx and CSV-focused tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (URL-based xlsx reading, sheet selection) but provides no explicit when-to-use vs alternatives or any exclusions. It doesn't mention not using it for CSV files or local paths, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_ledgerTwo tables → what does not match (the VLOOKUP job), with the arithmetic proofARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Column name to match rows on, e.g. order_id. | |
| url_a | No | Link to side A (e.g. your books). | |
| url_b | No | Link to side B (e.g. the statement). | |
| amount | Yes | Numeric column to compare, e.g. amount. | |
| text_a | No | Or the CSV content of side A directly. | |
| text_b | No | Or the CSV content of side B directly. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/read-only annotations by explaining the integer-cent precision ('0.1 + 0.2 never invents a phantom difference') and the built-in arithmetic proof ('the listed differences are re-added and must equal the gap'). These are valuable behavioral details not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose and then provides useful details. The final sentence about VLOOKUP, while informative, is slightly rhetorical and could be seen as non-essential, but overall the structure is clean and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 params, output schema present, rich annotations), the description fully covers the behavioral contract: what inputs do, how matching works, what the output looks like (three lists), and the verification step. No significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all six parameters with descriptions (100% coverage), so the baseline is 3. The description adds semantic meaning by explaining that the 'key' parameter is for row matching and 'amount' is compared in integer cents, plus clarifies the relationship between url/text inputs for each side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Reconciles two sets of records' and details the matching and comparison logic, returning three specific lists. The title also frames it as an alternative to VLOOKUP, distinguishing it from sibling tools like diff_tables or merge_tables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios: 'Use for month-end close, platform payouts vs orders, or any "these two numbers should agree and do not" problem.' It does not explicitly mention alternative tools or when-not-to-use, but the VLOOKUP comparison implies the manual alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_can_you_doFind the right tool for a taskARead-onlyIdempotentInspect
Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready-to-run example calls — instead of reading the whole catalogue and guessing. Also returns multi-step recipes when a task needs several tools chained (invoices to a ledger, a bank statement reconciled, a messy CSV turned into a deliverable). Deterministic and free: it calls no model, costs nothing, and never runs out of quota. Call this FIRST when you are not sure what this server offers.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What you are trying to do, e.g. "reconcile a bank statement against my books" or "把一堆发票整理成能入账的表格" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral traits not visible in annotations: deterministic, calls no model, costs nothing, and never runs out of quota. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with the core purpose in the first sentence and supported by recipes, cost/quota guarantees, and when-to-use guidance. Every sentence earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple context (single required string parameter, rich annotations, and an output schema), the description is complete. It covers the tool's behavior, return value highlights, performance/cost characteristics, and usage context without leaving important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'task' parameter with examples, and schema coverage is 100%. The description adds the nuance 'plain language (any language)' and emphasizes that example calls are generated, providing modest additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb+resource: describe a task and get back exactly which tools on the server do it, with ready-to-run example calls. It explicitly distinguishes itself from sibling tools by positioning itself as the meta-guide that prevents 'reading the whole catalogue and guessing.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Call this FIRST when you are not sure what this server offers.' It also clarifies the intended use case (plain-language task discovery) and contrasts with the alternative of scanning the catalogue manually, which is sufficient for a meta-tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_xlsxwrite xlsxAInspect
Build an Excel .xlsx file from rows (CSV text or JSON arrays), optionally several sheets at once. Numbers are written as real numbers so they sum in Excel, while values with leading zeros stay text so IDs and postcodes survive the round trip.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| text | No | ||
| sheets | No | ||
| sheet_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and adds useful, non-obvious behavior: numbers are written as real numbers for Excel summation, while leading-zero values remain text to preserve IDs and postcodes. It does not detail output paths or overwrite behavior, but it meaningfully discloses data-handling semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: the first sentence states the core operation and input options, while the second adds a relevant and non-obvious type-preservation detail. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The high-level purpose and type behavior are clear, but the description is not complete enough for reliable invocation given 4 undocumented parameters, zero schema descriptions, no annotations, and no output schema. It must specify how url, text, sheets, and sheet_name are meant to be used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the parameters are entirely opaque. The description hints that text holds CSV content and that sheets supports multi-sheet writes, but it does not explain url, sheet_name, or how sheets and sheet_name relate. An agent would have to guess critical invocation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: building an Excel .xlsx file from CSV text or JSON arrays, with optional multi-sheet support. It uses a specific verb and resource, and it is clearly distinct from siblings like read_xlsx and the various CSV conversion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use context: use this when you need to produce an .xlsx file from row-like data, possibly with multiple sheets. It does not explicitly list when-not-to-use scenarios or alternative tools, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
csv_to_chart3 fields changed- added
Input schema / properties / csvAdded value: +{} - added
Input schema / properties / typeAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
- Changed
csv_to_json2 fields changed- added
Input schema / properties / csvAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
- Changed
csv_to_md_table2 fields changed- added
Input schema / properties / csvAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
- Changed
dedupe_entities10 fields changed- added
Input schema / properties / addressAdded value: +{} - added
Input schema / properties / bankAdded value: +{} - added
Input schema / properties / domainAdded value: +{} - added
Input schema / properties / nameAdded value: +{} - added
Input schema / properties / name_thresholdAdded value: +{} - added
Input schema / properties / phoneAdded value: +{} - added
Input schema / properties / sheetAdded value: +{} - added
Input schema / properties / tax_idAdded value: +{} - added
Input schema / properties / textAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
- Changed
json_to_csv1 field changed- added
Input schema / properties / jsonAdded value: +{}
- Changed
match_transactions9 fields changed- added
Input schema / properties / date_window_daysAdded value: +{} - added
Input schema / properties / fee_toleranceAdded value: +{} - added
Input schema / properties / max_group_sizeAdded value: +{} - added
Input schema / properties / sheet_aAdded value: +{} - added
Input schema / properties / sheet_bAdded value: +{} - added
Input schema / properties / text_aAdded value: +{} - added
Input schema / properties / text_bAdded value: +{} - added
Input schema / properties / url_aAdded value: +{} - added
Input schema / properties / url_bAdded value: +{}
- Changed
read_xlsx6 fields changed- added
Input schema / properties / inlineAdded value: +{} - added
Input schema / properties / keep_formulasAdded value: +{} - added
Input schema / properties / max_rowsAdded value: +{} - added
Input schema / properties / preview_rowsAdded value: +{ + "type": "number" +} - added
Input schema / properties / sheetAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
- Changed
write_xlsx4 fields changed- added
Input schema / properties / sheet_nameAdded value: +{} - added
Input schema / properties / sheetsAdded value: +{} - added
Input schema / properties / textAdded value: +{} - added
Input schema / properties / urlAdded value: +{}
4 tool updates
- Added
dedupe_entities - Added
match_transactions - Added
read_xlsx - Added
write_xlsx
11 tool updates
- First observed
clean_table - First observed
csv_to_chart - First observed
csv_to_json - First observed
csv_to_md_table - First observed
csv_to_qbo - First observed
diff_tables - First observed
fix_csv_encoding - First observed
json_to_csv - First observed
merge_tables - First observed
reconcile_ledger - First observed
what_can_you_do
Related MCP Connectors
Statements, invoices, tables, ledgers — every result carries its own arithmetic proof.
Deterministic signed verification of numeric & financial claims for AI agents & spreadsheets.
- FinStatOAuthai.finstat
Documents in, reconciled double-entry books out. Statements, invoices, receipts, matched and posted.
Tables and ledgers checked by arithmetic, not by a model. 24 tools. MCP 2026-07-28 ready.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceDeterministic verification for AI-generated analysis. Reconciliation, consistency and Excel-integrity checks that stop the line when the numbers don't add up.1MIT
- AlicenseAqualityDmaintenanceMCP server for deterministic numeric verification and spreadsheet auditing. Enables AI agents to verify math/finance claims, audit rows, and evaluate covenant rules with signed, independently checkable receipts.4MIT
- FlicenseBqualityBmaintenanceEnables AI assistants to perform financial reconciliation with a deterministic proof engine: intake files, match transactions, verify proofs, resolve exceptions, and sign off on balanced journals under the user's authority.21-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to verify claims deterministically by computing arithmetic, ratios, and dates and matching statements against provided sources, returning a confidence ladder of certain, source-backed, or unverifiable.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.