Avro schema equivalence check
avro-schema-equivalence-check · version 1.0.0 · Structured formats · free, no key needed
Decide whether two Avro schemas have identical Avro 1.12.0 parsing canonical forms.
Use when you need to: compare avro schemas canonically · check avro schema equivalence · are these avro schemas equivalent.
Decide before calling
Read the versioned contract and the supported scope below. Reuse avro-schema-equivalence-check@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.
Explain the choice
"I can use avro-schema-equivalence-check@1.0.0 for compare avro schemas canonically. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."
Supported
- compare avro schemas canonically
- check avro schema equivalence
- are these avro schemas equivalent
- ignore avro docs when comparing
- verify avro canonical equality
- compare avro parsing forms
Not supported
- judge reader writer compatibility
- label schema evolution safe or breaking
- resolve registry subjects or versions
Behavior
- Implements exact equality of Apache Avro Specification 1.12.0 parsing canonical forms; comparison direction is left_schema versus right_schema.
- Equivalent means parsing canonical forms are byte-identical; different is not labeled breaking or safe because compatibility is not proved.
- Returns both canonical forms and CRC-64-AVRO fingerprints as deterministic decision evidence.
- Rejects forward or unresolved references and all malformed, cyclic, non-JSON, duplicate, or over-limit inputs.
Input
left_schema(any JSON value, required)right_schema(any JSON value, required)
Output
equivalent(boolean, required)decision(one of "equivalent", "different", required)left_canonical_form(string, required): max length 32768right_canonical_form(string, required): max length 32768left_fingerprint_hex(string, required): pattern^[0-9a-f]{16}$right_fingerprint_hex(string, required): pattern^[0-9a-f]{16}$standard_version(constant "Apache Avro Specification 1.12.0", required)
Limits
- max input bytes: 16384
- max schema nodes: 512
- max depth: 32
- max fields: 128
- max output bytes: 32768
Example
Request input:
{
"left_schema": "string",
"right_schema": {
"type": "string"
}
}
Response:
{
"result": {
"equivalent": true,
"decision": "equivalent",
"left_canonical_form": "\"string\"",
"right_canonical_form": "\"string\"",
"left_fingerprint_hex": "8f014872634503c7",
"right_fingerprint_hex": "8f014872634503c7",
"standard_version": "Apache Avro Specification 1.12.0"
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "avro-schema-equivalence-check",
"version": "1.0.0",
"input": {
"left_schema": "string",
"right_schema": {
"type": "string"
}
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/avro-schema-equivalence-check/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"left_schema":"string","right_schema":{"type":"string"}}'
The machine-readable contract is at /v1/tools/avro-schema-equivalence-check/versions/1.0.0.
CLI
node cli.mjs run avro-schema-equivalence-check 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- Asn1 der validate: Check one ASN.1 DER value for canonical TLV structure and return a reason.
- Avro parsing canonical form: Produce the Avro 1.12.0 parsing canonical form for a bounded schema.
- Avro schema fingerprint: Compute the CRC-64-AVRO fingerprint of an Avro 1.12.0 parsing canonical form.
- Asn1 der encode tree: Encode a schema-free ASN.1 node list as one canonical DER value.
- Fixed width records validate: Validate fixed-width records with explicit offsets, widths, alignment, padding, Unicode units, and bounded diagnostics.
- INI win validate: Check initialization-file text against the pinned Windows profile grammar.