This server displays notification popups via Quickshell on Linux with rich customization options.
Core Capabilities:
Display notifications - Show customizable popup notifications with messages, titles, and severity levels (info/warn/crit)
Customize appearance - Control accent colors (via severity or custom hex), background patterns (waves, grid, stripes, sunset), and left panel images (ghost, claude, openai, or custom paths)
Configure behavior - Set auto-hide timeouts (0 for persistent), transition effects (glow, ghost, ripple, none), and actions on backtick keypress (switch workspace or focus app)
Check status - Verify if Quickshell is running with the ohai IPC target registered
Test notifications - Use the bundled CLI tool to test preset notifications or create custom ones
Client integration - Configure for use with Claude, Cursor, or codex-cli via environment variables for default image and transition settings
Setup Quickshell - Launch the popup daemon and verify IPC target registration for communication between the MCP server and Quickshell
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Polybar Notification MCPshow a warning notification saying 'Build failed' with title 'CI Pipeline'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ohai-mcp
An MCP server that displays notification popups via Quickshell on Linux.
Installation
Related MCP server: MCP Node-Notifier Server
Tools
ohai
Display a notification popup.
Parameter | Type | Required | Description |
| string | yes | Message body |
| string | no | Popup title (defaults to message) |
|
| no | Accent color (default: |
| string | no | Custom accent color (CSS/hex; overrides severity) |
| number | no | Auto-hide delay (default: 8; 0 = persistent) |
| string | no | Background pattern ID or path |
| string | no | Image ID or path (default: |
| string | no | Workspace to switch to on backtick |
| string | no | App/window to focus on backtick |
|
| no | Entry transition effect (default: |
ohai_status
Check if Quickshell is running with the ohai IPC target registered.
Transition Effects
Effect | Description |
| Soft blur glow pulse (default) |
| Expanding/fading copies of actual notification content |
| Border ripples emanating outward |
| No transition effect |
Set a default transition via environment variable:
Quickshell Setup
Start the popup daemon:
Verify the IPC target is registered:
Test manually:
Controls while popup is visible:
Escape- hide popupBacktick (`) - switch to workspace or focus app (if configured), then hide
Testing with ohai-test
A CLI helper for testing notification appearance:
Presets:
Preset | Description |
| Basic info notification (default) |
| Warning notification |
| Critical notification |
| Long text (test layout) |
| Minimal notification |
| Claude-themed |
| OpenAI-themed |
| Grid pattern background |
| Stripes pattern background |
| Waves pattern background |
| Test glow transition effect |
| Test ghost echo transition effect |
| Test ripple transition effect |
| Cycle through all presets |
Custom options:
Option | Description |
| Title text |
| Body text |
|
|
| Image ID or path |
| Pattern ID or path |
| Timeout in seconds |
| Custom accent color (hex) |
| Workspace to switch on backtick |
| App to focus on backtick |
|
|
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:
Cursor
Add to MCP settings:
codex-cli
~/.codex/config.toml:
Auto-launch (Hyprland)
Environment Variables
Variable | Description |
| Default image when |
| Default transition effect (e.g., |
Architecture
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
Requirements
Linux with Quickshell
Node.js 18+