JUHE API Marketplace
khughitt avatar
MCP Server

Polybar Notification MCP

A Model Context Protocol server that allows displaying messages via polybar status bar and sending desktop notifications via notify-send/dunst.

0
GitHub Stars
3/3/2026
Last Updated
MCP Server Configuration
1{
2 "name": "ohai",
3 "type": "stdio",
4 "command": "node",
5 "args": [
6 "/path/to/ohai-mcp/bin/ohai-mcp"
7 ],
8 "env": {
9 "OHAI_DEFAULT_IMAGE": "claude",
10 "OHAI_TRANSITION": "glow"
11 }
12}
JSON12 lines
  1. Home
  2. MCP Servers
  3. polybar-dunst-mcp

README Documentation

ohai-mcp

An MCP server that displays notification popups via Quickshell on Linux.

Installation

npm install
npm run build

Tools

ohai

Display a notification popup.

ParameterTypeRequiredDescription
messagestringyesMessage body
titlestringnoPopup title (defaults to message)
severityinfo | warn | critnoAccent color (default: info)
colorstringnoCustom accent color (CSS/hex; overrides severity)
timeoutSecondsnumbernoAuto-hide delay (default: 8; 0 = persistent)
patternstringnoBackground pattern ID or path
imagestringnoImage ID or path (default: ghost)
workspacestringnoWorkspace to switch to on backtick
appstringnoApp/window to focus on backtick
transitionglow | ghost | ripple | nonenoEntry transition effect (default: glow)

ohai_status

Check if Quickshell is running with the ohai IPC target registered.

Transition Effects

EffectDescription
glowSoft blur glow pulse (default)
ghostExpanding/fading copies of actual notification content
rippleBorder ripples emanating outward
noneNo transition effect

Set a default transition via environment variable:

export OHAI_TRANSITION=ghost

Quickshell Setup

  1. Start the popup daemon:
qs -p /path/to/ohai-mcp/ohai/shell.qml
  1. Verify the IPC target is registered:
qs ipc show
# Should list: target ohai
  1. Test manually:
qs ipc call ohai notify "Hello" "Test message" "info" 5 "" "" "" "" "" "glow"
  1. Controls while popup is visible:
    • Escape - hide popup
    • Backtick (`) - switch to workspace or focus app (if configured), then hide

Testing with ohai-test

A CLI helper for testing notification appearance:

bin/ohai-test [preset]           # Run a preset
bin/ohai-test custom [options]   # Custom notification

Presets:

PresetDescription
infoBasic info notification (default)
warnWarning notification
critCritical notification
longLong text (test layout)
shortMinimal notification
claudeClaude-themed
openaiOpenAI-themed
gridGrid pattern background
stripesStripes pattern background
wavesWaves pattern background
glowTest glow transition effect
ghostTest ghost echo transition effect
rippleTest ripple transition effect
allCycle through all presets

Custom options:

bin/ohai-test custom \
  -t "Title" \
  -b "Body text" \
  -s warn \
  -i claude \
  -p grid-01 \
  -d 10 \
  -c "#ff00ff" \
  -x ghost
OptionDescription
-t, --titleTitle text
-b, --bodyBody text
-s, --severityinfo | warn | crit
-i, --imageImage ID or path
-p, --patternPattern ID or path
-d, --durationTimeout in seconds
-c, --colorCustom accent color (hex)
-w, --workspaceWorkspace to switch on backtick
-a, --appApp to focus on backtick
-x, --transitionglow | ghost | ripple | none

Bundled Assets

Patterns (background overlays):

  • waves-01, grid-01, stripes-01, sunset-01

Images (left panel):

  • ghost (default), claude, openai

Use an absolute path for custom assets.

Integration

Use environment variables to configure defaults per client.

Claude Code

~/.claude.json:

{
  "mcpServers": {
    "ohai": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/ohai-mcp/bin/ohai-mcp"],
      "env": {
        "OHAI_DEFAULT_IMAGE": "claude",
        "OHAI_TRANSITION": "glow"
      }
    }
  }
}

Cursor

Add to MCP settings:

{
  "mcpServers": {
    "ohai": {
      "command": "node",
      "args": ["/path/to/ohai-mcp/bin/ohai-mcp"],
      "env": {
        "OHAI_DEFAULT_IMAGE": "claude",
        "OHAI_TRANSITION": "ghost"
      }
    }
  }
}

codex-cli

~/.codex/config.toml:

[mcp_servers.ohai]
command = "node"
args = ["/path/to/ohai-mcp/bin/ohai-mcp"]

[mcp_servers.ohai.env]
OHAI_DEFAULT_IMAGE = "openai"
OHAI_TRANSITION = "glow"

Auto-launch (Hyprland)

exec-once = qs -p /path/to/ohai-mcp/ohai/shell.qml

Environment Variables

VariableDescription
OHAI_DEFAULT_IMAGEDefault image when image param is not specified (e.g., claude, openai, ghost)
OHAI_TRANSITIONDefault transition effect (e.g., glow, ghost, ripple, none)

Architecture

┌─────────────┐     qs ipc call      ┌─────────────────┐
│  MCP Client │ ──────────────────▶  │   Quickshell    │
│  (Claude)   │                      │   (shell.qml)   │
└─────────────┘                      └─────────────────┘
       │                                     │
       │                                     │
       ▼                                     ▼
┌─────────────┐                      ┌─────────────────┐
│  ohai-mcp   │                      │  IpcHandler     │
│  (Node.js)  │                      │  target: "ohai" │
└─────────────┘                      └─────────────────┘

The MCP server communicates with Quickshell via its built-in IPC mechanism (qs ipc call), which uses a Unix socket for instant, reliable delivery.

Development

npm run dev      # Watch mode
npm run build    # Build
npm run lint     # Lint
npm run format   # Format

Requirements

  • Linux with Quickshell
  • Node.js 18+

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.aiFeatured on ShowMeBestAI
Copyright © 2026 JUHEDATA HK LIMITED - All rights reserved