Metadata-Version: 2.4
Name: mcp-server-sensory
Version: 0.1.0
Summary: Multi-Sensory AI Communication - Morse, Braille, SSTV, Audio encoding for off-grid AI networks
Project-URL: Homepage, https://humotica.com
Project-URL: Documentation, https://github.com/Humotica/mcp-server-sensory
Project-URL: Repository, https://github.com/Humotica/mcp-server-sensory
Author-email: Jasper van de Meent <jasper@humotica.com>, Root AI <root_ai@humotica.nl>
License-Expression: AGPL-3.0-or-later
Keywords: ai-communication,braille,ggwave,humotica,mcmurdo,mcp,morse,off-grid,robot36,sensory,sstv
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Ham Radio
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: mcp>=1.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: pillow>=10.0.0
Provides-Extra: audio
Requires-Dist: scipy>=1.11.0; extra == 'audio'
Requires-Dist: sounddevice>=0.4.6; extra == 'audio'
Provides-Extra: full
Requires-Dist: pysstv>=0.5.0; extra == 'full'
Requires-Dist: scipy>=1.11.0; extra == 'full'
Requires-Dist: sounddevice>=0.4.6; extra == 'full'
Provides-Extra: sstv
Requires-Dist: pysstv>=0.5.0; extra == 'sstv'
Description-Content-Type: text/markdown

# MCP Server Sensory

**Multi-Sensory AI Communication for Off-Grid Networks**

Part of the HumoticaOS McMurdo Off-Grid Communication Layer.

## The Vision

Make non-multimodal AI models "multi-sensitive" by encoding data across different sensory channels:

```
┌─────────────────────────────────────────────────────────────┐
│                     YOUR MESSAGE                            │
└─────────────────────────┬───────────────────────────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        ↓                 ↓                 ↓
   ┌─────────┐      ┌──────────┐      ┌──────────┐
   │  MORSE  │      │  BRAILLE │      │  SSTV*   │
   │  .--.   │      │  ⠓⠑⠇⠇⠕  │      │  [IMG]   │
   └────┬────┘      └────┬─────┘      └────┬─────┘
        ↓                ↓                 ↓
     AUDIO           VISUAL            AUDIO
     LIGHT          TACTILE           IMAGES
     VISUAL        PUNCHCARD          RADIO
```

*SSTV support coming soon (Robot36, Scottie, Martin modes)

## Installation

```bash
pip install mcp-server-sensory
```

With audio support:
```bash
pip install mcp-server-sensory[audio]
```

Full installation (all features):
```bash
pip install mcp-server-sensory[full]
```

## 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!

### Coming Soon
- **ggwave** - Ultrasonic data transmission (inaudible to humans)
- **SSTV** - Robot36, Scottie, Martin image modes
- **RTTY** - Classic radio teletype

## Usage

### As MCP Server

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

### As Python Library

```python
from mcp_server_sensory import morse, braille

# 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)  # ⠓⠑⠇⠇⠕

# Punchcard pattern (for physical encoding)
pattern = braille.to_punchcard_pattern("hello")
print(pattern)
# ●○ ●○ ●○ ●○ ●○
# ●○ ○○ ●○ ●○ ●○
# ○○ ○○ ●○ ●○ ○○

# Binary grid (for CNC/laser)
grid = braille.to_binary_grid("hi")
print(grid)
# [[1, 0, 0, 1, 0], [1, 0, 0, 1, 0], [0, 0, 0, 0, 0]]
```

## Use Cases

### Off-Grid AI Communication
Two Raspberry Pi's with speakers/mics can exchange messages via Morse audio - no internet required!

### Physical Audit Trail (TIBET Integration)
Encode TIBET tokens as Braille punchcards. Physical, tamper-evident, human and machine readable.

### Radio Communication
Ham radio operators can relay AI messages using Morse code or SSTV images.

### Accessibility
Braille output enables tactile reading of AI responses.

### Stealth Communication
ggwave ultrasonic mode transmits data above human hearing range.

## The Stack

```
┌─────────────────────────────────────┐
│  mcp-server-sensory                 │
│  (Morse, Braille, SSTV, ggwave)     │
├─────────────────────────────────────┤
│  I-Poll (AI messaging)              │
├─────────────────────────────────────┤
│  AINS (agent discovery)             │
├─────────────────────────────────────┤
│  TIBET (trust & provenance)         │
└─────────────────────────────────────┘
```

## Part of HumoticaOS

McMurdo Off-Grid Communication Layer

One love, one fAmIly! 💙
