Simple Data Comparator MCP
用于执行JSON、XML、XLSX、CSV和文本数据以Actual-Expected格式进行比对的简易工具集,支持不同选项。
文档
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 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.