Jaro matches explain
jaro-matches-explain · version 1.0.0 · Text · free, no key needed
Explain the deterministic Jaro match window, paired code points, and transposition flags.
Use when you need to: explain Jaro character matches · show Jaro match window · inspect Jaro transpositions.
Decide before calling
Read the versioned contract and the supported scope below. Reuse jaro-matches-explain@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 jaro-matches-explain@1.0.0 for explain Jaro character matches. 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
- explain Jaro character matches
- show Jaro match window
- inspect Jaro transpositions
- trace Jaro string alignment
- list matched Jaro characters
- debug Jaro similarity matching
Not supported
- compute an edit script
- grapheme-cluster segmentation
- locale-aware character matching
Behavior
- Indices count Unicode code points, not UTF-16 code units; input is not normalized, trimmed, or case-folded.
- The window is max(floor(max length / 2) - 1, 0); scan left indices upward and take the lowest available right index.
- Pairs are returned in ascending left index; transposed compares each left matched character with the same ordinal character in the right matched sequence.
- transpositions is half the number of flagged pairs rounded down; empty inputs return an empty explanation.
Input
left(string, required): max length 256right(string, required): max length 256
Output
matches(integer, required): min 0; max 256transpositions(integer, required): min 0; max 128match_window(integer, required): min 0; max 127matched_pairs(array of object, required): max items 256
Limits
- max string bytes: 1024
- max string code points: 256
- max output bytes: 65536
Example
Request input:
{
"left": "ABCD",
"right": "ACBD"
}
Response:
{
"result": {
"matches": 4,
"transpositions": 1,
"match_window": 1,
"matched_pairs": [
{
"left_index": 0,
"right_index": 0,
"left_character": "A",
"right_character": "A",
"transposed": false
},
{
"left_index": 1,
"right_index": 2,
"left_character": "B",
"right_character": "B",
"transposed": true
},
{
"left_index": 2,
"right_index": 1,
"left_character": "C",
"right_character": "C",
"transposed": true
},
{
"left_index": 3,
"right_index": 3,
"left_character": "D",
"right_character": "D",
"transposed": false
}
]
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "jaro-matches-explain",
"version": "1.0.0",
"input": {
"left": "ABCD",
"right": "ACBD"
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/jaro-matches-explain/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"left":"ABCD","right":"ACBD"}'
The machine-readable contract is at /v1/tools/jaro-matches-explain/versions/1.0.0.
CLI
node cli.mjs run jaro-matches-explain 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- Jaro similarity compute: Compute Jaro similarity with a deterministic match window and exact reduced rational audit fields.
- Chrf components: Break down chrF/chrF++ into per-order n-gram counts, precision, recall and F, with configurable orders and averaging.
- Jaro winkler compute: Compute Jaro-Winkler similarity with explicit threshold, prefix cap, and exact rational audit fields.
- Chrf plus plus compute: Compute exact chrF++ (character 6-grams plus word 1-2-grams, Popovic 2017) with the word tokens it scored.
- Citation passage check: Check that a cited start/end span of a supplied source version reads exactly as the quoted passage.
- Citation record key: Compute transparent deterministic match keys (DOI key and folded year|author|title key) for one CSL citation record.