{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2ehgg3njvgpm","handle":"netcafe-tables","url":"https://wellknown.network/agents/netcafe-tables","links":{"self":"https://wellknown.network/agents/netcafe-tables/record.json","html":"https://wellknown.network/agents/netcafe-tables","markdown":"https://wellknown.network/agents/netcafe-tables/record.md","api":"https://wellknown.network/api/v1/agents/netcafe-tables","status":"https://wellknown.network/api/v1/agents/netcafe-tables/status","claim":"https://wellknown.network/agents/netcafe-tables/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/netcafe-tables/claim.json","badge":"https://wellknown.network/agents/netcafe-tables/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/netcafe-tables/history","tools":"https://wellknown.network/api/v1/agents/netcafe-tables/tools"},"ard":{"identifier":"urn:air:ainetcafe.com:server:netcafe-tables","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"netcafe-tables","summary":"Messy spreadsheets in, clean checkable tables out. Every result carries its arithmetic proof.","description":"Messy spreadsheets in, clean checkable tables out. Every result carries its arithmetic proof.","publisher":{"name":"com.ainetcafe","url":null},"homepage":"https://ainetcafe.com/duizhang","repository":"https://github.com/mario03690/ai-netcafe","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://ainetcafe.com/mcp/table?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-15T06:22:09.969819Z","publishedAt":"2026-08-15T06:22:09.969819Z","registryName":"com.ainetcafe/netcafe-tables"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"derived"},{"slug":"finance.accounting","name":"Accounting","confidence":1,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.977,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.525,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.51,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"}],"categories":["analytics","dev","documents","finance","knowledge"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T10:29:22.279Z","lastProbedAt":"2026-10-10T10:29:22.279Z","statusComputedAt":"2026-10-10T10:30:13.804Z","reliability30d":{"probes":57,"successRate":1,"p50Ms":695,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":57,"ok":57,"authBoundaryOk":0,"serviceOk":57,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T10:29:22.279Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":402,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:31:26.018Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":400,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:25:43.300Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":731,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:32:29.291Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":730,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:54.809Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":728,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:20.099Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":712,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:24:12.473Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":838,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:07.720Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":848,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:23:44.832Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":750,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:12.984Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":654,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"toolCount":15,"toolsHash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","serverName":"netcafe-tables","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"what_can_you_do","description":"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"},{"name":"csv_to_qbo","description":"Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import directly. Needs date, description and amount c"},{"name":"diff_tables","description":"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 th"},{"name":"clean_table","description":"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"},{"name":"merge_tables","description":"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 nev"},{"name":"reconcile_ledger","description":"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 return"},{"name":"fix_csv_encoding","description":"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"},{"name":"read_xlsx","description":"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 ser"},{"name":"write_xlsx","description":"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, whil"},{"name":"match_transactions","description":"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"},{"name":"dedupe_entities","description":"Find records in a supplier/customer/store list that are probably the SAME entity under different names — \"北京星辰科技有限公司\" vs \"星辰科技(北京)\" — by cross-checking name sim"},{"name":"csv_to_md_table","description":"CSV (text or URL) → GitHub-flavoured Markdown table."},{"name":"csv_to_chart","description":"CSV (first column = labels, second = values) → chart PNG in one call."},{"name":"csv_to_json","description":"CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file."},{"name":"json_to_csv","description":"JSON array of objects → CSV file. Flattens keys, quotes fields containing commas."}],"package":null,"toolSurface":{"id":"ts_mgyxhvbnjmsa","endpointId":"ep_takaa6cq5qfm","hash":"47c9010b095537e3a8d33d83431032e26ee4598e958032b4f6048c05ae849e40","toolCount":15,"serverName":"netcafe-tables","serverVersion":"1.5.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T12:25:36.600Z","lastSeenAt":"2026-10-10T10:29:22.274Z","observations":103,"toolNames":["what_can_you_do","csv_to_qbo","diff_tables","clean_table","merge_tables","reconcile_ledger","fix_csv_encoding","read_xlsx","write_xlsx","match_transactions","dedupe_entities","csv_to_md_table","csv_to_chart","csv_to_json","json_to_csv"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_takaa6cq5qfm","url":"https://ainetcafe.com/mcp/table?s=registry","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T21:25:43.292Z","auth":{"observedAt":"2026-10-09T21:25:44.016Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T21:25:44.026Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ainetcafe.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-26T08:50:57.000Z","validTo":"2026-12-25T09:50:52.000Z","daysToExpiry":75,"sanCount":2,"fingerprint256":"D1:F1:90:2A:DA:17:E5:60:5F:31:A1:FC:D9:AA:ED:DF:9F:FF:48:77:11:DF:1A:BD:24:3B:42:37:35:87:91:13"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.ainetcafe/netcafe-tables","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-tables","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-10-09T03:19:58.215Z","normalizedAt":"2026-10-09T03:19:58.215Z"}]},"firstSeenAt":"2026-09-05T16:18:53.207Z","updatedAt":"2026-10-10T10:31:21.099Z"}