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.

The JSONBuddy Core API MCP Server is designed to facilitate JSON validation against schemas through a secure and efficient HTTP-based service. It offers two primary endpoints for schema validation, making it versatile for various validation scenarios. The server is compatible with MCP clients and AI agents, allowing seamless integration using the provided `mcp.json` definition and standard API key authentication. This service is particularly useful for developers and organizations that require robust JSON validation capabilities integrated into their systems.

Features

  • Secure and high-performance HTTP-based service for JSON validation.
  • Two endpoints for flexible schema validation scenarios.
  • Integration with MCP clients and AI agents using `mcp.json`.
  • Standard API key authentication for secure access.
  • Compatible with multiple JSON schema drafts.

Usages

usage with JSONBuddy Core API MCP Server

{
  "mcpServers": {
    "jsonbuddy-core-api": {
      "command": "jsonbuddy",
      "args": [
        "--server",
        "--config",
        "mcp.json"
      ]
    }
  }
}

usage with JSON validator command line tool

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

usage with C++ DLL for JSON Schema validation

cpp
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();