Simple Data Comparator MCP

Simple toolset for performing comparison of JSON, XML, XLSX, CSV and text data in Actual-Expected format with different options.

Documentation

Simple Data Comparator MCP

Simple toolset for performing comparison of JSON, XML, XLSX, CSV and text inputs in Actual-Expected format.

Documentation

Agent-oriented reference for the simple-data-comparator-mcp MCP server. Each validator compares an actual value against an expected template and returns pass/fail with structured difference lines on failure.

Tools

MCP ToolDocUse when
validate-jsonjson-validator.mdComparing JSON API responses, config objects, or structured data
validate-xmlxml-validator.mdComparing XML documents, SOAP payloads, or config files
validate-csvcsv-validator.mdComparing tabular CSV exports or reports
validate-xlsxxlsx-validator.mdComparing Excel workbook sheets
validate-texttext-validator.mdExact line-by-line text comparison (logs, plain output)

Common response shape

All tools return MCP content with this structure:

{
  "content": [{ "type": "text", "text": "<result message>" }],
  "isError": true | false
}
  • Pass: isError: false, text is Validation passed.
  • Fail: isError: true, text includes Validation failed. and difference lines (except text validator, which does not expose diff details via MCP)

Agent workflow

  1. Choose the tool that matches the data format you need to compare.
  2. Prepare both sides as strings — JSON/XML/CSV/text as plain strings; XLSX as base64-encoded file bytes.
  3. Call the MCP tool with actual (what you received) and template (what you expected).
  4. Read isError — if true, parse the difference lines to explain what diverged.
  5. Apply options when needed (e.g. strictMode for JSON, includeColumns for CSV, ignoreRowOrder for unordered row sets).

Discovering tools at runtime

Use MCP tool discovery (tools/list) to get live schemas. Tool names are stable: validate-json, validate-xml, validate-csv, validate-xlsx, validate-text.

Running

Build and start the stdio MCP server:

npm run build
npm start

The server communicates over stdin/stdout. Logs are written to stderr so they do not interfere with MCP protocol messages.

Cursor configuration

Add this to your Cursor MCP settings (.cursor/mcp.json):

{
  "mcpServers": {
    "simple-data-comparator-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ee_will_i/simple-data-comparator-mcp"
      ]
    }
  }
}

Replace the path with your local project path. Run npm run build before starting the server.