An MCP (Model Context Protocol) server that provides JSON and data manipulation tools for AI agents. Designed for use with Claude Code, Claude Desktop, and any MCP-compatible client.
| Tool | Description |
|---|
json_validate | Validate JSON data against a JSON Schema, returning detailed errors with paths |
json_diff | Compare two JSON objects, showing additions, removals, and changes with paths |
json_transform | Transform JSON with pick, rename, flatten, and unflatten operations |
csv_to_json | Convert CSV text to a JSON array with configurable headers, delimiters, and type casting |
json_to_csv | Convert a JSON array of objects to CSV text |
yaml_to_json | Convert YAML text to JSON |
json_to_yaml | Convert JSON text to YAML |
Installation
npm install
npm run build
Usage with Claude Code
claude mcp add json-tools -- node D:/products/mcp-servers/mcp-json-tools/dist/index.js
Usage with Claude Desktop
Add the following to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"json-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-json-tools/dist/index.js"]
}
}
}
json_validate
Validate JSON data against a JSON Schema. Returns a valid boolean and an array of errors, each with the field path, message, and schema keyword that failed.
Parameters:
data (string) โ JSON data to validate
schema (string) โ JSON Schema to validate against
json_diff
Compare two JSON objects and produce a structured diff. Each difference includes the dot-notation path, the type of change (added, removed, or changed), and the old/new values.
Parameters:
original (string) โ Original JSON object
modified (string) โ Modified JSON object
Apply transformations to JSON data. Supports four operations:
- pick โ Extract specific fields by dot-notation paths
- rename โ Rename top-level keys using a mapping object
- flatten โ Flatten nested objects into dot-separated keys
- unflatten โ Restore dot-separated keys into nested objects
Parameters:
data (string) โ JSON data to transform
operation (string) โ One of: pick, rename, flatten, unflatten
fields (string[]) โ For pick: field paths to extract
mapping (object) โ For rename: old-to-new key mapping
separator (string) โ For flatten/unflatten: separator character (default: ".")
csv_to_json
Parse CSV text into a JSON array of objects.
Parameters:
csv (string) โ CSV text to convert
hasHeaders (boolean) โ Whether the first row is headers (default: true)
delimiter (string) โ Column delimiter (default: ",")
castTypes (boolean) โ Auto-cast numbers and booleans (default: false)
json_to_csv
Convert a JSON array of objects to CSV text. Headers are derived from the union of all object keys.
Parameters:
data (string) โ JSON array to convert
delimiter (string) โ Column delimiter (default: ",")
includeHeaders (boolean) โ Include header row (default: true)
yaml_to_json / json_to_yaml
Convert between YAML and JSON formats.
Parameters:
yamlText / jsonText (string) โ Text to convert
indent (number) โ Indentation spaces (default: 2)
License
MIT