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

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It only states a generation action, omitting side effects, output format, constraints (e.g., text length), or auth requirements. The agent cannot infer important traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that communicates the core purpose. While concise, it lacks structure like a summary sentence or breakdown, but it is not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema or annotations, the description does not clarify what the tool returns (e.g., string, image, data). This gap makes it difficult for an agent to correctly handle the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'text' parameter, which has a straightforward description. The tool description adds no further semantics or constraints, achieving only the baseline for a well-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate binary grid') and target contexts ('machine-readable punchcard or CNC/laser cutting'), which distinguishes it from encoding/decoding tools. However, it does not explicitly differentiate from the sibling 'braille_punchcard'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like braille_encode or braille_punchcard. The description implies usage for physical production but offers no exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

braille_decodeC

Decode Braille back to text

ParametersJSON Schema
NameRequiredDescriptionDefault
brailleYesBraille text to decode

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states basic operation. Does not disclose assumptions, error handling, or read/write nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is efficient and front-loaded, but could be slightly expanded without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple structure, the description lacks details about input format (e.g., dots, Unicode) and output expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with description. The tool description adds no new meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Decode Braille back to text' clearly states the verb and resource, distinguishing it from sibling tools like braille_encode. However, it is very brief and does not add extra context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Implied by name, but no explicit conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

braille_encodeB

Encode text to Braille Unicode characters

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to encode

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavior. It fails to mention what characters are supported, error handling for unsupported text, or any side effects. Bare minimum stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence is concise but under-specified; front-loads the core purpose but omits necessary details, crossing into incomplete territory.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is incomplete. It doesn't explain return format, supported input character set, or how it compares to similar encoding tools like morse_encode.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single 'text' parameter. The tool description adds no extra meaning beyond the schema's parameter description; no examples or format clarifications.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Encode text') and the output format ('Braille Unicode characters'), distinguishing it from sibling tools like braille_decode (reverse) and braille_binary_grid (different output format).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., braille_binary_grid or braille_punchcard), nor any context about prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

braille_punchcardC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert
cell_widthNoWidth of each cell
cell_heightNoHeight of each cell

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the output is a pattern for physical punching, lacking details on side effects, authorization needs, or rate limits. No contradiction with annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the core action and resource, followed by a brief value add. No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite high schema coverage, the lack of output schema means the description should clarify the return format. It does not specify whether the output is a string, array, or other, leaving ambiguity for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline of 3 applies. The description adds no additional meaning beyond the schema's descriptions for text, cell_width, and cell_height.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it generates an ASCII punchcard pattern from text, distinguishing it from siblings like braille_binary_grid or braille_encode which likely produce different outputs. The mention of physical punching adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The note about physical punching hints at a use case but does not provide clear directives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

morse_decodeB

Decode Morse code back to text

ParametersJSON Schema
NameRequiredDescriptionDefault
morseYesMorse code to decode

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It only states the basic function without detailing input format (e.g., spacing, character separators), error handling, or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is appropriately concise for a simple decode operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks critical details for an AI agent, such as expected Morse code format (e.g., International Morse, spacing conventions) and whether it handles invalid input. For a tool with no output schema, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the parameter 'morse' as 'Morse code to decode'. The tool description adds no additional semantic value beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool decodes Morse code into text, using a specific verb ('decode') and resource ('Morse code'). It is distinct from the sibling tool 'morse_encode', which performs the reverse operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., morse_encode or other decode tools). There is no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

morse_encodeB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to encode
formatNoOutput formatstandard

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It mentions three output formats but does not disclose behavior such as character support, error handling for unsupported characters, case sensitivity, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with key information: action and formats. Efficient and front-loaded, though it could include more behavioral details without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema or annotations, the description is too minimal. It lacks details on return values, limitations, and appropriate usage context. While the parameter coverage is complete, the overall description is insufficient for an agent to fully understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds value by explaining the three format enum values with examples (.-, ā–ˆā–„, 10), which aids the agent in selecting the correct format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('encode text to Morse code') and lists the three output formats. This distinguishes it from sibling tools like morse_decode, which decodes Morse code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., morse_decode for decoding, other encoding tools). The description does not mention exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

morse_timingC

Get timing data for Morse audio/light generation

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to convert
unit_msNoBase time unit in milliseconds

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only says 'Get timing data', with no disclosure of behavior (e.g., input validation, error handling, rate limits). For a tool that likely returns structured data, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, no wasted words. However, it might be too terse; a bit more detail (e.g., 'Returns a list of durations') would improve usefulness without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 2 parameters, no output schema, and no annotations, the description should provide more context about return values or usage. It lacks details on what the output looks like, which is critical for an agent to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameters. The description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'get timing data for Morse audio/light generation', specifying the verb 'get' and resource 'timing data'. It distinguishes from sibling tools like morse_encode/morse_decode which handle actual encoding/decoding. However, 'timing data' is vague and doesn't specify what is returned (e.g., durations per symbol).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like morse_encode. The description lacks context about prerequisites or typical use cases. Given sibling tools covering encoding/decoding, this omission makes it harder for an agent to choose correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reflux_decodeB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
audio_base64YesBase64 encoded SSTV WAV audio

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. The description mentions a multi-step process (decode, OCR) but does not disclose potential failure modes, required audio format details, data size limits, or whether the operation is read-only or destructive. The phrasing 'Gives small LLMs eyes' is promotional, not informative about behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no wasted words. The first sentence explains the transformation pipeline, the second adds a benefit. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-step tool with no output schema and no annotations, the description is insufficient. It does not explain the output format (text, metadata), error conditions (invalid audio, unsupported modes), or performance considerations. With only one parameter, the description could have provided more context about expected input characteristics (e.g., audio length, quality).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters (only one: audio_base64) with a clear description: 'Base64 encoded SSTV WAV audio'. The description adds minimal extra meaning ('SSTV Audio' context) but mostly repeats what the schema already states. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Complete REFLUX decode: SSTV Audio → Image → OCR → Text.' It specifies the input (SSTV audio) and output (text), and uses a unique verb ('decode') and resource ('REFLUX' for SSTV-to-text pipeline). It distinguishes from sibling tools like sstv_encode_text (which encodes text to SSTV) and morse_decode (Morse code).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for converting SSTV audio to text, but it does not explicitly state when to use this tool versus alternatives. It mentions giving 'small LLMs eyes', which suggests a use case, but no exclusion criteria or alternatives are named. With siblings like sstv_detect and sstv_encode_ponskaart, more guidance would help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sstv_decoder_infoA

Get SSTV decoder capabilities and REFLUX readiness status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry full behavioral disclosure. It indicates a read operation (get capabilities) but omits any mention of side effects or idempotency. Adequate but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key action. However, 'REFLUX readiness status' is jargon that may confuse an agent without context. Still concise overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description is incomplete about what 'capabilities and status' includes. Agent might need more detail (e.g., list of decoder modes supported). Minimal but functional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is trivially 100%. Per guidelines, baseline is 4. Description adds no param info, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly specifies verb 'Get' and resource 'SSTV decoder capabilities and REFLUX readiness status'. It distinguishes from sibling tools like sstv_detect (detection) and sstv_modes (mode info). No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., sstv_modes for mode listing, sstv_detect for signal detection). Agent must infer applicability from name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sstv_detectB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
audio_base64YesBase64 encoded WAV audio

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully bears the burden. It states detection of an SSTV signal but does not describe what the tool returns (e.g., boolean, confidence), side effects, or prerequisites, leaving behavior ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two sentences) and front-loaded with the core purpose, containing no superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema and the description omits any indication of return value or result format. Given its simple detection purpose, it should at least hint at the output type (e.g., yes/no) to be complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter audio_base64, already describing it as 'Base64 encoded WAV audio'. The description adds no additional semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Detect' and the resource 'SSTV signal in audio', and distinguishes itself from sibling tools like reflux_decode by positioning as the first step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes it is the 'First step of REFLUX decode', implying a sequential use, but does not explicitly state when to use versus alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sstv_encode_ponskaartB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUser identifier
auth_tokenYesAuthentication token
commandYesCommand to execute remotely
modeNoSSTV moderobot36

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose behavioral traits such as side effects, authentication requirements, or whether any data is transmitted. With no annotations provided, the description is insufficient for understanding the tool's behavior beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant information. Every word contributes to the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, 3 required, no output schema, and no annotations. The description does not explain what a ponskaart is, how the output is used, error conditions, or prerequisites. This leaves significant gaps for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not elaborate on parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create'), the specific resource ('authenticated ponskaart'), and the context ('McMurdo remote authentication via SSTV'). This distinguishes it from sibling tools like sstv_encode_text and braille_punchcard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as sstv_encode_text or braille_punchcard. The description lacks context for appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sstv_encode_textA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to encode into image then SSTV audio
modeNoSSTV mode (robot36 is fastest)robot36

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the return format (base64 WAV) and mentions modes, but does not cover limitations like text length, audio duration, or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (17 words) and front-loaded with the action. Every sentence adds value without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with 2 well-described parameters and no output schema, the description covers the return format and purpose. It lacks details about limitations (e.g., text length) but is largely complete for the complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions already. The description adds 'Robot36/Martin/Scottie' as examples and the phrase 'multi-modal bridge', but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Encode text to SSTV audio', specifies modes (Robot36/Martin/Scottie), and mentions output format (base64 WAV). This distinguishes it from siblings like sstv_encode_ponskaart and other encoding tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description hints at use via 'Multi-modal bridge for small LLMs', but lacks explicit when-to-use or when-not-to-use guidance compared to sibling tools like sstv_encode_ponskaart or other modes. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sstv_modesB

List available SSTV modes with their specifications

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavior. It only says 'List', implying a read operation, but does not explicitly state if it is idempotent, safe, or if authentication is needed. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and to the point. While not front-loaded with structure, the single sentence is sufficient for a simple list operation. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should hint at what 'specifications' means. It is vague. For a simple tool, it may be adequate, but could be more informative about the output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the input schema has 100% coverage. Per guidelines, baseline for 0 parameters is 4. No additional parameter info is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists available SSTV modes with specifications. The verb 'List' and resource 'SSTV modes' are specific. It does not explicitly differentiate from sibling like 'sstv_decoder_info' but given the distinct resource, it is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. With many SSTV-related siblings, the description should indicate in which contexts to choose this tool, but it remains silent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transcodeC

Convert between different sensory encodings

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesInput data
from_formatYesSource format
to_formatYesTarget format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits like error handling, performance, or whether conversions are reversible. It only says 'convert', omitting any details about side effects or constraints, such as unsupported format pairs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the action. It is concise but could benefit from a brief example or usage note without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description should explain the return format or behavior (e.g., returns a string). It also fails to differentiate from siblings or address potential conversion failures, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description inherits clarity from parameter descriptions. However, it adds no additional meaning, e.g., explaining that 'from_format' and 'to_format' determine conversion direction, or that not all combinations are valid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Convert between different sensory encodings' which clearly indicates the tool's function—transcoding between formats like text, morse, and braille. This distinguishes it from sibling encode/decode tools that handle single conversions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus specific encode/decode siblings, nor does it mention limitations or prerequisites. For instance, it doesn't clarify that this tool should be used for cross-format conversion rather than simple encoding.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv0.3.1
    • First observedbraille_binary_grid
    • First observedbraille_decode
    • First observedbraille_encode
    • First observedbraille_punchcard
    • First observedmorse_decode
    • First observedmorse_encode
    • First observedmorse_timing
    • First observedreflux_decode
    • First observedsstv_decoder_info
    • First observedsstv_detect
    • First observedsstv_encode_ponskaart
    • First observedsstv_encode_text
    • First observedsstv_modes
    • First observedtranscode

TDQS

B3.4/5.0
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 issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for the mimOE AI Agent, enabling on-device tools like device discovery, network insight, and persistent note storage via natural language.
    -
  • A
    license
    Not graded
    quality
    B
    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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaspertvdm/mcp-server-sensory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server