jsonbuddy

Clemens-U/jsonbuddy

3.1

If you are the rightful owner of jsonbuddy and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

JSONBuddy Core API MCP Server provides an MCP-compatible interface for JSON validation against schemas via a secure and high-performance HTTP-based service.

jsonbuddy

JSONBuddy is a JSON editor and validator for Windows that supports Draft 4, 6, 7, 2019-09, and 2020-12. It includes a JSON text and grid editor, syntax checking, and schema validation, as well as a unique JSON schema analyzer and debugger. JSONBuddy also allows users to import CSV text and export JSON to CSV, and it includes an intelligent auto-completion feature that uses JSON schema information. Other features include brace highlighting, JSON pretty-print, and code folding. JSONBuddy can be used to create and modify JSON content or JSON Schema files, and it provides a grid style editor that simplifies the creation and editing of JSON text.

JSONBuddy Core API MCP Server

This project provides an MCP-compatible interface for the JSONBuddy Core API, enabling JSON validation against schemas via a secure and high-performance HTTP-based service. The server exposes two endpoints (/validator/validate and /validator/validate-simple) for flexible schema validation scenarios. MCP clients and AI agents can integrate this API using the included mcp.json definition and standard API key authentication.

C# wrapper nuget package

Please take a look at the dotnet wrapper folder to find more information about the C# wrapper library to access JSON Schema validation and other functionality in your .NET project.

Using the free JSON validator command-line tool

  • Download your free JSON validator command-line tool for Windows® from this repository.
  • Easy setup. Just run the Windows® installer. No additional configuration required.
  • Use the JSON validator to generate detailed error reports.
  • XML/W3C validation is also supported (using the Apache Xerces parser).

Usage example:

valbuddy.exe -v -verbose -s "D:\Examples\Library\library_schema.json" "D:\Examples\Library\library.json" "D:\Examples\Library\library_invalid.json"

Call "valbuddy.exe" without any parameters to get a list of options in the console window.

Validation output:

D:\Examples\Library\library.json: valid

D:\Examples\Library\library_invalid.json: invalid
Did not find the following required properties: [title]
Input location: /bib/book/2
Schema location: /properties/bib/properties/book/items

Finished processing

Using the C++ DLL for easy JSON Schema validation

  • Add the jsonvalidator.dll and the .lib and .h files from the dll folder to your project.
  • Don't forget to add the dll to the output folder of your C++ solution.

Example code:

JSONSchemaSubSchemaResult::JSONSchemaSubSchemaResultsT out_results;
JSONSchemaValidator* json_validator = NewJSONSchemaValidator();

json_validator->SetJSONSchema("C:\\Users\\Clemens\\Dokumente\\JSONBuddy\\Examples\\Library\\library_schema.json", JSONSchemaValidator::TJSONSchemaSchemaID::k_nJSONSchemaIDDraft202012);
std::string json_instance = "{\"bib\":{\"book\":[{\"author\":[\"Clemens\",\"Stevens\"],\"publisher\":\"Addison-Wesley\"},{\"title\":1}]}}";

if (json_validator->ValidateJSONDocument(json_instance, 0, out_results))
{
    JSONSchemaSubSchemaResult::JSONSchemaSubSchemaResultsItrT find_invalid = std::find_if(out_results.begin(), out_results.end(),
        [](JSONSchemaSubSchemaResult::JSONSchemaSubSchemaResultsT::value_type& the_result) { return !the_result.m_bValid; });

    if (find_invalid != out_results.end())
    {
        std::cout << "The data is invalid.\n";
        std::cout << "Location: " << find_invalid->m_strJSONPointer << "\n";
    }
    else
        std::cout << "The data is valid.\n";
}
else
    std::cout << "The validation was not executed.\n";

json_validator->Free();