Decode an SSTV audio recording and anchor its fingerprint and image hash to the Knox event chain.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Demodulate a presented slow-scan-television (SSTV) audio recording, anchor the audio fingerprint and the decoded image hash to the Knox event chain, and return a receipt bundle (Knox anchor + C2PA-aligned envelope + FRE 902(13)/(14)-shape affidavit). Audio bytes are NOT retained — only the SHA-256 fingerprint and the decoded image are anchored. Bonis Systems does not capture audio on its own; the audio must be presented by the caller (a public WebSDR recording, a customer-controlled SDR capture they consent to submit, or audio they own). Phase 1 supports Martin M1 (VIS code 0x2C, 320×256 RGB). Other VIS codes return mode = 'unsupported' with detected hex. Requires a Knox Bearer API key on the Authorization header — unauthenticated calls are rejected.
Display name for the recording (max 256 chars).
Base64-encoded audio. Either a complete WAV file (RIFF/WAVE, 8/16/24-bit PCM or 32-bit IEEE float, mono or stereo, 4-192 kHz) or raw 16-bit signed little-endian mono PCM samples.
Optional capture-context metadata.
Required when audioFormat = 'pcm16-mono'.
Audio container ('wav' default, or 'pcm16-mono').
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Demodulate a presented slow-scan-television (SSTV) audio recording, anchor the audio fingerprint and the decoded image hash to the Knox event chain, and return a receipt bundle (Knox anchor + C2PA-aligned envelope + FRE 902(13)/(14)-shape affidavit). Audio bytes are NOT retained — only the SHA-256 fingerprint and the decoded image are anchored. Bonis Systems does not capture audio on its own; the audio must be presented by the caller (a public WebSDR recording, a customer-controlled SDR capture they consent to submit, or audio they own). Phase 1 supports Martin M1 (VIS code 0x2C, 320×256 RGB). Other VIS codes return mode = 'unsupported' with detected hex. Requires a Knox Bearer API key on the Authorization header — unauthenticated calls are rejected.
| Argument | Type | Description |
|---|---|---|
| name* | string | Display name for the recording (max 256 chars). |
| capture | object | Optional capture-context metadata. |
| sampleRate | integer | Required when audioFormat = 'pcm16-mono'. |
| audioBase64* | string | Base64-encoded audio. Either a complete WAV file (RIFF/WAVE, 8/16/24-bit PCM or 32-bit IEEE float, mono or stereo, 4-192 kHz) or raw 16-bit signed little-endian mono PCM samples. |
| audioFormat | string | Audio container ('wav' default, or 'pcm16-mono'). |
{
"type": "object",
"required": [
"name",
"audioBase64"
],
"properties": {
"name": {
"type": "string",
"description": "Display name for the recording (max 256 chars)."
},
"capture": {
"type": "object",
"properties": {
"sourceUrl": {
"type": "string",
"description": "Audio source URL. Hashed before anchoring; the raw URL is not committed."
},
"capturedAt": {
"type": "string",
"description": "ISO timestamp when the audio was captured."
},
"callsignClaim": {
"type": "string",
"description": "Transmitting callsign claim. Recorded as a claim only — the agent does not verify callsign-to-operator binding."
},
"operatorClaim": {
"type": "string",
"description": "Claim about who operated the receiver."
}
},
"description": "Optional capture-context metadata."
},
"sampleRate": {
"type": "integer",
"maximum": 192000,
"minimum": 4000,
"description": "Required when audioFormat = 'pcm16-mono'."
},
"audioBase64": {
"type": "string",
"description": "Base64-encoded audio. Either a complete WAV file (RIFF/WAVE, 8/16/24-bit PCM or 32-bit IEEE float, mono or stereo, 4-192 kHz) or raw 16-bit signed little-endian mono PCM samples."
},
"audioFormat": {
"enum": [
"wav",
"pcm16-mono"
],
"type": "string",
"description": "Audio container ('wav' default, or 'pcm16-mono')."
}
},
"additionalProperties": false
}Verify a previously anchored SSTV-decode record. Given a SHA-256 anchor hash (the payload_hash from a prior decode_sstv call), return the anchor record, predecessor hash, sequence number, and timestamp. Public — no authentication required. The verification path itself is also accessible at GET /api/knox/verify?hash=<hash>.
| Argument | Type | Description |
|---|---|---|
| hash* | string | SHA-256 anchor hash (64 lowercase hex chars). |
{
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$",
"description": "SHA-256 anchor hash (64 lowercase hex chars)."
}
},
"additionalProperties": false
}