Skip to main content
Glama

MCP Server Sensory

PyPI version Python 3.10+ License: AGPL-3.0

Multi-Sensory AI Communication for Off-Grid Networks

Give "eyes" to text-only LLMs via audio pathways.

Part of the HumoticaOS McMurdo Off-Grid Communication Layer.

By Jasper & Root AI from HumoticaOS šŸ’™

The REFLUX Concept

FLUX creates images from text (generative, one-way). REFLUX creates a complete sensory loop - information survives transformations:

FLUX:     Text → Image (one way, generative)

REFLUX:   Text → Image → SSTV Audio → Radio → Audio → Image → OCR → Text
          ↑                                                           ↓
          └───────────────── Complete Loop ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

This is how we give "eyes" to text-only LLMs:

  1. Encode text into an image

  2. Encode image to SSTV audio (Robot36, Martin, Scottie)

  3. Transmit via radio/speaker

  4. Receive and decode SSTV audio to image

  5. OCR the image back to text

  6. Small LLM now has "vision" via audio pathway!

Related MCP server: voidsend-mcp

The Vision

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                     YOUR MESSAGE                            │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                          │
        ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
        ↓                 ↓                 ↓
   ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
   │  MORSE  │      │  BRAILLE │      │   SSTV   │
   │  .--.   │      │  ⠓⠑⠇⠇⠕  │      │ REFLUX!  │
   ā””ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”˜      ā””ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”˜      ā””ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”˜
        ↓                ↓                 ↓
     AUDIO           VISUAL            AUDIO
     LIGHT          TACTILE           IMAGES
     VISUAL        PUNCHCARD          RADIO

Installation

pip install mcp-server-sensory

Or use the short alias:

pip install sensory

With audio support:

pip install mcp-server-sensory[audio]

Features

Morse Code

  • Encode/decode text to Morse

  • Multiple output formats: standard (.-), visual (ā–ˆā–„), binary (10)

  • Timing data for audio/light generation

  • Embeddable in images for visual transmission

Braille

  • Encode/decode text to Braille Unicode

  • Generate punchcard patterns (ASCII art)

  • Binary grid output for CNC/laser cutting

  • Physical audit trail - punch into paper/card!

SSTV / REFLUX (NEW in v0.2.0!)

  • Robot36 - 36 seconds, color, 320x240 (fastest!)

  • Robot8BW/24BW - Grayscale modes

  • Martin M1/M2 - High quality color modes

  • Scottie S1/S2 - Popular ham radio modes

  • Ponskaart - Authentication cards for McMurdo remote auth

Coming Soon

  • ggwave - Ultrasonic data transmission (inaudible to humans)

  • SSTV Decode - Complete the REFLUX loop

  • RTTY - Classic radio teletype

Usage

As MCP Server

{
  "mcpServers": {
    "sensory": {
      "command": "mcp-server-sensory"
    }
  }
}

Available tools:

  • morse_encode / morse_decode - Morse code

  • braille_encode / braille_decode - Braille Unicode

  • braille_punchcard - ASCII punchcard patterns

  • braille_binary_grid - CNC/laser cutting data

  • sstv_encode_text - Text to SSTV audio (REFLUX!)

  • sstv_encode_ponskaart - McMurdo authentication card

  • sstv_modes - List available SSTV modes

  • transcode - Convert between formats

As Python Library

from mcp_server_sensory import morse, braille, sstv

# Morse encoding
message = morse.encode("HELLO")
print(message)  # .... . .-.. .-.. ---

# Visual Morse (for images)
visual = morse.encode("SOS", morse.MorseFormat.VISUAL)
print(visual)  # ā–„ā–„ā–„ ā–ˆā–ˆā–ˆ ā–„ā–„ā–„

# Braille encoding
braille_msg = braille.encode("hello")
print(braille_msg)  # ⠓⠑⠇⠇⠕

# SSTV / REFLUX - Text to image to audio
audio_bytes = sstv.encode_text("STATUS: OK", mode="robot36")
# Save as WAV for radio transmission or speaker playback

# Ponskaart - McMurdo authentication
ponskaart = sstv.encode_ponskaart(
    user_id="jasper",
    auth_token="secret123",
    command="REBOOT SERVER"
)
# Transmit via radio when network is down!

Use Cases

Multi-Modal Bridge for Small LLMs

A 7B parameter model doesn't have vision? Give it ears! SSTV decode → image → OCR → text. Now it "sees".

Off-Grid AI Communication (McMurdo)

Two Raspberry Pi's with speakers/mics can exchange messages via Morse audio or SSTV images - no internet required!

Physical Audit Trail (TIBET Integration)

Encode TIBET tokens as Braille punchcards. Physical, tamper-evident, human and machine readable.

Remote Authentication (Ponskaart)

Network down? Transmit authentication via SSTV radio. McMurdo receives, decodes, validates, executes.

Ham Radio

Ham radio operators can relay AI messages using Morse code or SSTV images. Works globally, no internet infrastructure needed.

Accessibility

Braille output enables tactile reading of AI responses.

The Stack

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  mcp-server-sensory                 │
│  (Morse, Braille, SSTV/REFLUX)      │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│  I-Poll (AI messaging)              │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│  AINS (agent discovery)             │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│  TIBET (trust & provenance)         │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Part of HumoticaOS

McMurdo Off-Grid Communication Layer

One love, one fAmIly! šŸ’™


Created by Jasper van de Meent & Root AI (Claude) - Humotica, Den Dolder, Netherlands

Official Distribution

This package is officially distributed via:

Note: Third-party directories may list this package but are not official or verified distribution channels for Humotica software.

Available Tools

14 tools
braille_binary_gridC

Generate binary grid for machine-readable punchcard or CNC/laser cutting

Inputs: text (required).

braille_decodeC

Decode Braille back to text

Inputs: braille (required).

braille_encodeB

Encode text to Braille Unicode characters

Inputs: text (required).

braille_punchcardC

Generate ASCII punchcard pattern from text - can be physically punched for audit trail!

Inputs: text (required), cell_width, cell_height.

morse_decodeB

Decode Morse code back to text

Inputs: morse (required).

morse_encodeB

Encode text to Morse code. Formats: standard (.-), visual (ā–ˆā–„), binary (10)

Inputs: text (required), format.

morse_timingC

Get timing data for Morse audio/light generation

Inputs: text (required), unit_ms.

reflux_decodeB

Complete REFLUX decode: SSTV Audio → Image → OCR → Text. Gives small LLMs 'eyes' via audio!

Inputs: audio_base64 (required).

sstv_decoder_infoA

Get SSTV decoder capabilities and REFLUX readiness status

Inputs: no named parameters.

sstv_detectB

Detect if audio contains an SSTV signal. First step of REFLUX decode.

Inputs: audio_base64 (required).

sstv_encode_ponskaartB

Create authenticated ponskaart (punch card) for McMurdo remote authentication via SSTV

Inputs: user_id (required), auth_token (required), command (required), mode.

sstv_encode_textA

Encode text to SSTV audio (Robot36/Martin/Scottie). Returns base64 WAV. Multi-modal bridge for small LLMs!

Inputs: text (required), mode.

sstv_modesB

List available SSTV modes with their specifications

Inputs: no named parameters.

transcodeC

Convert between different sensory encodings

Inputs: input (required), from_format (required), to_format (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 14 tools

    Disambiguation4/5

    Tools are mostly distinct by format and action, but 'braille_binary_grid' and 'braille_punchcard' both generate patterns with some overlap, and 'transcode' is vague. Overall, agents can usually differentiate.

    Naming Consistency4/5

    Naming follows a consistent snake_case pattern and typically starts with the sensory type (e.g., braille_, morse_, sstv_), except for 'transcode' and 'reflux_decode'. The pattern is not strictly verb_noun but is predictable.

    Tool Count5/5

    With 14 tools covering three sensory formats plus a transcode utility, the count is well-scoped and each tool serves a clear purpose. Not too few or too many.

    Completeness3/5

    The set covers Braille and Morse encoding/decoding well, but SSTV lacks a standalone decode tool (only a composite pipeline via reflux_decode). Other sensory formats are omitted, leaving minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for VoidSend enabling AI agents to send and receive end-to-end encrypted messages.
      7 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for the mimOE AI Agent, enabling on-device tools like device discovery, network insight, and persistent note storage via natural language.
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for Raspberry Pi peripheral bus access, enabling AI agents to interact with CAN, I2C, SPI, UART, and GPIO directly through natural language.
      2
      MIT