Skip to main content
Glama

Bell

Desktop popup notifications that ring when Claude pauses on you.

  • Claude Code: fires a popup on Stop (turn finished, only if the turn took >30s), Notification (Claude is idle or asking for permission), and SubagentStop.

  • Claude Desktop: exposes an MCP tool notify_done(summary) that Claude calls when it finishes a task.

Clicking the popup dismisses it and can bring the relevant Claude, VS Code, or terminal window to the front.

Bell records local notification history in ~/.bell/history.sqlite3 using SQLite. Each row includes timestamp, source, title, message, and focus target.

Popups center on the monitor containing the current foreground window. If monitor detection fails, Bell falls back to the primary-display behavior.

Install

cd "C:\Users\<you>\Desktop\projects\bell"
py -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .

Related MCP server: Notifications MCP Server

Test

python -m bell.notify "Bell" "Hello from Bell" none
echo '{"hook_event_name":"Stop","session_id":"test-session","cwd":"C:\\tmp","transcript_path":"","stop_hook_active":false}' | python -m bell.hook
python -m bell.codex_notify turn-ended
python -m bell.doctor

Claude Code Hooks

Do not wire this automatically from the repo build. In a later approved step, merge hook commands into the relevant Claude settings file.

Claude Desktop MCP

The MCP entry point is:

python -m bell.mcp_server

Codex Notify

Codex CLI/App can call Bell through its notify config:

notify = ["C:\\Users\\<you>\\Desktop\\projects\\bell\\.venv\\Scripts\\pythonw.exe", "-m", "bell.codex_notify"]

Bell only opens a popup for Codex completion notifications: either the turn-ended wrapper event or a JSON payload with type = "agent-turn-complete". Other Codex notify invocations are logged to ~/.bell/bell.log and skipped without writing history.

Available Tools

1 tool
notify_doneA

Show a Bell popup when a task finishes; keep summary short, about 120 characters.

Inputs: summary (required), session. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of confusion. The tool's purpose is clearly defined and distinct.

    Naming Consistency5/5

    A single tool name cannot be inconsistent. 'notify_done' follows a clear verb_noun pattern.

    Tool Count4/5

    One tool for a simple notification purpose is reasonable, though the server could potentially benefit from additional tools like notify_error or notify_progress.

    Completeness3/5

    The single tool covers the core use case of notifying task completion, but lacks other common notification types, making it somewhat incomplete for broader notification needs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to send push notifications to your phone through ntfy, with built-in security controls to prevent data exfiltration. It exposes a single tool notify_user for notifying when tasks complete or need attention.
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables sending push notifications via ntfy with a single tool, allowing Claude agents to send notifications directly without shell access.
      MIT
    • A
      license
      D
      quality
      D
      maintenance
      Enables MCP agents to send desktop notifications for completed tasks, failures, and important updates, providing visible and reliable feedback.
      1
      44 npm
      2
      Apache 2.0