@rog0x/mcp-json-tools
v1.0.1
Published
MCP server providing JSON and data manipulation tools for AI agents
Maintainers
Readme
mcp-json-tools
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.
Tools
| 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 buildUsage with Claude Code
claude mcp add json-tools -- node D:/products/mcp-servers/mcp-json-tools/dist/index.jsUsage 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"]
}
}
}Tool Details
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 validateschema(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 objectmodified(string) — Modified JSON object
json_transform
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 transformoperation(string) — One of: pick, rename, flatten, unflattenfields(string[]) — For pick: field paths to extractmapping(object) — For rename: old-to-new key mappingseparator(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 converthasHeaders(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 convertdelimiter(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 convertindent(number) — Indentation spaces (default: 2)
License
MIT
