json-validate
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@json-validateRepair this malformed JSON: {name: 'John',}"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
json-validate
MCP server for validating JSON against JSON Schema and repairing malformed/invalid JSON.
Features
validate_json: Validate a JSON instance against a JSON Schema (draft-07 supported)
explain_validation: Get human-readable explanations and fix suggestions for validation errors
repair_json: Attempt to repair invalid JSON to match a schema (conservative approach)
Related MCP server: Validator Ai MCP
Installation
npm install
npm run buildUsage
STDIO Transport (Default)
npm start
# or
node dist/index.jsHTTP Transport
npm start -- --transport http --port 3000
# or
TRANSPORT=http PORT=3000 node dist/index.jsClaude Desktop Configuration
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"json-validate": {
"command": "node",
"args": ["/path/to/json-validate/dist/index.js"]
}
}
}Tools
validate_json
Validate a JSON instance against a JSON Schema.
Input:
{
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name"]
},
"instance": {
"name": "John",
"age": 30
}
}Output (Success):
{
"ok": true,
"data": {
"valid": true,
"errors": []
},
"meta": {
"source": "json-validate",
"retrieved_at": "2024-01-15T10:30:00.000Z",
"pagination": { "next_cursor": null },
"warnings": []
}
}Output (Validation Errors):
{
"ok": true,
"data": {
"valid": false,
"errors": [
{
"path": "/age",
"keyword": "minimum",
"message": "must be >= 0",
"params": { "limit": 0 },
"schemaPath": "#/properties/age/minimum"
}
]
},
"meta": {
"source": "json-validate",
"retrieved_at": "2024-01-15T10:30:00.000Z",
"pagination": { "next_cursor": null },
"warnings": []
}
}explain_validation
Get human-readable explanations for validation errors.
Input:
{
"errors": [
{
"path": "",
"keyword": "required",
"message": "must have required property 'name'",
"params": { "missingProperty": "name" },
"schemaPath": "#/required"
}
]
}Output:
{
"ok": true,
"data": {
"explanations": [
{
"path": "",
"error": "must have required property 'name'",
"explanation": "The required property \"name\" is missing at root.",
"suggestion": "Add the missing property \"name\" with an appropriate value."
}
]
},
"meta": {
"source": "json-validate",
"retrieved_at": "2024-01-15T10:30:00.000Z",
"pagination": { "next_cursor": null },
"warnings": []
}
}repair_json
Attempt to repair invalid JSON to match a schema.
Features:
Parse malformed JSON (trailing commas, single quotes, unquoted keys)
Apply schema defaults
Remove additional properties when
additionalProperties: falseCoerce types when safe (e.g.,
"123"to123for number schema)Conservative: never invents unknown fields unless schema requires defaults
Input:
{
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" },
"active": { "type": "boolean", "default": true }
},
"additionalProperties": false
},
"instance_or_text": "{'name': 'John', 'age': '30', 'extra': 'field',}"
}Output:
{
"ok": true,
"data": {
"repaired": {
"name": "John",
"age": 30,
"active": true
},
"changes": [
{
"path": "/extra",
"action": "removed",
"from": "field",
"reason": "Property not allowed by schema (additionalProperties: false)"
},
{
"path": "/age",
"action": "coerced",
"from": "30",
"to": 30,
"reason": "Coerced string to integer"
},
{
"path": "/active",
"action": "defaulted",
"to": true,
"reason": "Applied schema default value"
}
],
"parseErrors": [
"Standard JSON parse failed, attempting repairs...",
"JSON repaired successfully with syntax fixes"
]
},
"meta": {
"source": "json-validate",
"retrieved_at": "2024-01-15T10:30:00.000Z",
"pagination": { "next_cursor": null },
"warnings": []
}
}CLI Options
Usage: json-validate [options]
Options:
-t, --transport <type> Transport type: 'stdio' or 'http' (default: stdio)
-p, --port <number> HTTP server port (default: 3000)
-H, --host <address> HTTP server host (default: 127.0.0.1)
-l, --log-level <level> Log level: 'debug', 'info', 'warn', 'error' (default: info)
-h, --help Show this help messageEnvironment Variables
Variable | Description | Default |
| Transport type: |
|
| HTTP server port |
|
| HTTP server host |
|
| Log level: |
|
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Type check
npm run typecheck
# Build
npm run buildResponse Envelope
All tools return responses in a standard envelope format:
Success:
{
"ok": true,
"data": { ... },
"meta": {
"source": "json-validate",
"retrieved_at": "ISO-8601 timestamp",
"pagination": { "next_cursor": null },
"warnings": []
}
}Error:
{
"ok": false,
"error": {
"code": "INVALID_INPUT | PARSE_ERROR | INTERNAL_ERROR",
"message": "Human readable message",
"details": { ... }
},
"meta": {
"retrieved_at": "ISO-8601 timestamp"
}
}License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
JSON Schema validation MCP.
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
MCP server (stdio): validate JSON against JSON Schema (draft-07 / 2020-12) via the AgentForge API
Related MCP Servers
- MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for validating JSON against schemas, checking email deliverability, verifying URLs, assessing data quality, and validating API responses using RFC-compliant checks and heuristic analysis.4 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides tools to read JSON files and query data using jsonPath expressions.-
- AlicenseNot gradedqualityDmaintenanceMCP server for generating AntiCMS v3 JSON component templates with validation and field type support.11 npmMIT