npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

morphclaude-senses

v1.0.1

Published

Give Claude ears, a voice, and eyes — MCP server for POLY HUD headsets and ALSA audio

Downloads

394

Readme

morphclaude-senses

Give Claude ears, a voice, and eyes.

MCP server that connects Claude Code to local audio hardware.
Works with a POLY HUD wearable headset or any laptop mic and speaker.

npm install -g morphclaude-senses
morphclaude-setup

What It Adds to Claude

| Tool | Description | |------|-------------| | listen | Record from the microphone until silence. Returns transcript. | | speak | Synthesize text with Piper TTS and play through speaker. | | see | Capture a JPEG from the POLY HUD camera. Returns image. |

Everything is local. Your voice never leaves your machine.


Quick Start

All steps below run in a regular terminal — not inside Claude Code.
Open Claude Code only at the end, after setup is complete.

1. Install

npm install -g morphclaude-senses

2. Run setup wizard

morphclaude-setup

Run this in your terminal. It is an interactive wizard — do not run it inside Claude Code.

The wizard handles:

  • Claude connection (Pro/Max subscription or API key)
  • Audio device selection (headset or laptop)
  • Push-to-talk key configuration
  • Voice model download (~65 MB)
  • Config written to ~/.config/morphclaude/.env

3. Add to .mcp.json

The wizard prints the exact snippet. Paste it into ~/.mcp.json (global, works in every project) or <project>/.mcp.json (one project only):

{
  "mcpServers": {
    "morphclaude-senses": {
      "command": "/usr/local/bin/morphclaude-senses"
    }
  }
}

4. Open Claude Code

claude

Claude Code reads .mcp.json on startup and launches the MCP server automatically in the background. Claude now has listen, speak, and (with a POLY HUD headset) see.

Try it:

listen to me and reply out loud

Press Page Up to start recording, speak, press again to send.


No Headset? No Problem.

ALSA mode uses your laptop's built-in mic and speakers.
Select No headset in morphclaude-setup — everything else is the same.


POLY HUD Headset Mode

The POLY HUD is a wearable ESP32 device with mic, speaker, OLED display, and camera — all on WiFi. It gives Claude a physical form factor.

First-time headset setup:

  1. Power on → headset broadcasts a WiFi hotspot (SSID on OLED)
  2. Join that hotspot on your laptop
  3. Open: http://192.168.4.1/provision?ssid=YourWiFi&pw=YourPassword
  4. Headset reboots into your home network and shows its IP on the OLED
  5. Re-join your home WiFi on the laptop

Then run morphclaude-setup, select POLY HUD, and enter the IP.


Architecture

Claude Code
    │
    ├── listen() ──► audio_sidecar.py ──► faster-whisper ──► transcript
    ├── speak()  ──► audio_sidecar.py ──► Piper TTS ──► speaker
    └── see()    ──► http://<polyhud>/capture ──► JPEG image

The Node.js MCP server starts a Python sidecar on first use. Whisper and Piper load once and stay in memory — subsequent calls are fast.


Configuration

Config at ~/.config/morphclaude/.env. Edit and save — restart Claude Code to reload.

LLM_BACKEND=claude-code        # claude-code | api
ANTHROPIC_API_KEY=             # only for api mode
AUDIO_BACKEND=alsa             # alsa | polyhud
POLYHUD_IP=polyhud.local       # headset IP (polyhud mode)
ALSA_MIC_DEVICE=               # device index, blank = default
ALSA_SPK_DEVICE=               # device index, blank = default
PIPER_MODEL=/path/to/voice.onnx
WHISPER_MODEL=base             # base | small | large-v3
PTT_KEY=pageup                 # pageup | f9 | f8 | (blank = VAD)
PTT_MODE=toggle                # toggle | hold

System Requirements

  • Linux (Ubuntu 22.04+)
  • Node.js 18+
  • Python 3.10+
  • 4 GB RAM
  • NVIDIA GPU optional (speeds up speech recognition 10×, enables large-v3)

Python packages (installed by morphclaude-setup):

pip install piper-tts faster-whisper sounddevice numpy scipy

Full Documentation

Complete guide including GPU setup, Blender integration, PTT troubleshooting:
INSTALL.md on GitHub

Source: github.com/cklam12345/morphClaude


MIT License