@ee_will_i/simple-data-comparator-mcp
v0.0.3
Published
Simple toolset for performing validations for JSON, XML, CSV and text files with report generation in HTML format.
Downloads
388
Readme
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
Agent-oriented reference for the simple-data-comparator-mcp MCP server. Each comparator compares an actual value against an expected template and returns pass/fail with structured difference lines on failure.
Tools
| MCP Tool | Doc | Use when |
|---|---|---|
| compare-json | json-comparator.md | Comparing JSON API responses, config objects, or structured data |
| compare-xml | xml-comparator.md | Comparing XML documents, SOAP payloads, or config files |
| compare-csv | csv-comparator.md | Comparing tabular CSV exports or reports |
| compare-xlsx | xlsx-comparator.md | Comparing Excel workbook sheets |
| compare-text | text-comparator.md | Exact 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 isValidation passed. - Fail:
isError: true, text includesValidation failed.and difference lines (except text comparator, which does not expose diff details via MCP)
Agent workflow
- Choose the tool that matches the data format you need to compare.
- Prepare inputs — JSON/XML/CSV/text as strings; XLSX as workspace file paths (e.g.
Templates/test/1.xlsx) or base64. - Call the MCP tool — for Excel use
compare-xlsxwithactualandtemplatefile paths. - Read
isError— iftrue, parse the difference lines to explain what diverged. - Apply options when needed (e.g.
strictModefor JSON,includeColumnsfor CSV,ignoreRowOrderfor 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 startThe 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.
