Polybar Notification MCP
An MCP (Model Context Protocol) server for displaying messages via polybar and notify-send / dunst.
Based on neotanx/neomcps - sound notification mcp.
Installation
Related MCP server: MCP Node-Notifier Server
Usage
Available Tools
display_polybar_message
Display a message in polybar status bar.
Parameters:
message(string): The message to displayduration(number, optional): Duration in seconds (default: 5)color(string, optional): Text color (default: #ffffff)background(string, optional): Background color (default: #333333)
show_popup_notification
Show a desktop popup notification.
Parameters:
title(string): Notification titlemessage(string): Notification messageurgency(string, optional): "low", "normal", or "critical" (default: normal)timeout(number, optional): Timeout in milliseconds (default: 5000)icon(string, optional): Icon name or path
Polybar Setup
To integrate with polybar, add this module to your polybar config, e.g.:
Cursor Integration
To configure Cursor to use this MCP server:
Open Cursor Settings: Press
Ctrl+,(orCmd+,on Mac) to open settingsNavigate to MCP Settings: Search for "MCP" in the settings or look for "Model Context Protocol" settings
Add the MCP Server Configuration: Add the following to your MCP settings configuration:
Next, in Cursor Settings -> Rules, add a User rule to tell cursor when to use the MCP, e.g.:
Or:
Troubleshooting Cursor Integration:
Restart Cursor after adding the MCP configuration
Check the Developer Console (
Help→Toggle Developer Tools) for any MCP connection errorsVerify the path to the
bin/polybar-mcpfile is correctEnsure the project is built by running
npm run buildbefore configuring CursorTest the MCP server manually by running:
node bin/polybar-mcpto ensure it starts without errors
The server supports path expansion for ~/ and $HOME/ paths, making configuration more flexible across different environments.
Development
Requirements
Linux system
polybar (optional, for status bar integration)
notify-send or dunstify (for popup notifications)
Node.js 18+