Barkme Mcp Server

by thevibeworks

281 downloads
Not rated
GitHub

Description

# Barkme MCP Server [![smithery badge](https://smithery.ai/badge/@vibeworks/barkme-mcp-server)](https://smithery.ai/server/@vibeworks/barkme-mcp-server) A Model Context Protocol (MCP) server that provides iOS push notifications through the [Bark](https://bark.day.app/) service…

About

# Barkme MCP Server [![smithery badge](https://smithery.ai/badge/@vibeworks/barkme-mcp-server)](https://smithery.ai/server/@vibeworks/barkme-mcp-server) A Model Context Protocol (MCP) server that provides iOS push notifications through the [Bark](https://bark.day.app/) service. Send notifications directly from Claude…

Details

Author
thevibeworks
Downloads
281
Categories
Other

- Single notify tool handles all notification scenarios
- Device aliases (e.g., "iPhone:key1") keep device keys hidden from AI
- Async‑first non‑blocking delivery with background logging
- Supports all Bark API parameters including encrypted messages and sound
- Update or delete previously sent notifications by ID

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Barkme Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via npx @vibeworks/barkme-mcp-server and configure in your Claude Desktop config file with environment variables (BARK_DEVICES, BARK_SERVER, etc.). Requires Node.js 20+ and a Bark device key from the iOS app. After adding the configuration, restart Claude Desktop and use natural language commands like "Send me a notification saying 'Hello World'".

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "barkme mcp server": {
            "barkme": {
                "command": "node",
                "args": [
                    "/your/path/to/barkme-mcp-server/dist/index.js"
                ],
                "env": {
                    "LOG_LEVEL": "info",
                    "BARK_DEVICES": "iPhone:<your device key>",
                    "BARK_SERVER": "https://api.day.app",
                    "BARK_GROUP": "Claude",
                    "BARK_RETRY": "2",
                    "BARK_ASYNC": "true"
                }
            }
        }
    }
}

McpServers

{
    "barkme": {
        "command": "node",
        "args": [
            "/your/path/to/barkme-mcp-server/dist/index.js"
        ],
        "env": {
            "LOG_LEVEL": "info",
            "BARK_DEVICES": "iPhone:<your device key>",
            "BARK_SERVER": "https://api.day.app",
            "BARK_GROUP": "Claude",
            "BARK_RETRY": "2",
            "BARK_ASYNC": "true"
        }
    }
}

Barkme MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides iOS push notifications through the Bark service. Send notifications directly from Claude conversations with a simple, intelligent interface.

Features

- Single Tool Interface: One notify tool handles all notification scenarios
- Device Aliases: Use friendly configurable aliases like "iPhone:key1", "macOS:key2" instead of exposing device keys to AI
- Async-First: Non-blocking notifications with background delivery and structured logging
- Complete Bark API Support: All 20+ parameters including encrypted messages and notification management
- Update/Delete Notifications: Modify or remove previously sent notifications using notification IDs

Quick Start

Prerequisites

- Node.js 20+
- A Bark device key from the iOS app (setup tutorial)
- A MCP Client like Claude Desktop or Claude Code

via npmjs

Claude Desktop Integration

Add to your Claude Desktop configuration file:

- macOS/Linux: ~/.config/claude-desktop/claude_desktop_config.json
- Windows: %AppData%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "barkme": {
      "command": "npx",
      "args": ["@vibeworks/barkme-mcp-server"],
      "env": {
        "LOG_LEVEL": "info",
        "BARK_DEVICES": "iPhone:<your key>",
        "BARK_SERVER": "https://api.day.app",
        "BARK_GROUP": "Claude",
        "BARK_RETRY": "2",
        "BARK_ASYNC": "true"
      }
    }
  }
}

Restart Claude Desktop after adding the configuration. The Barkme server will appear in the MCP tools section.

via Smithery

To install barkme-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @vibeworks/barkme-mcp-server --client claude

From source

git clone https://github.com/thevibeworks/barkme-mcp-server
cd barkme-mcp-server
npm install
npm run build
{
  "mcpServers": {
    "barkme": {
      "command": "node",
      "args": ["/absolute/path/to/barkme-mcp-server/dist/index.js"],
      "env": {
      ...
      }
    }
  }
}

Usage Examples

Ask Claude:
- "Send me a notification saying 'Hello World'"
- "Send a notification to my iPhone and iPad saying 'Meeting in 10 minutes'"
- "Send a critical alert about server maintenance"
- "Update the notification with ID 'deploy-123' to say 'Deployment completed'"

Tool Reference

notify

Send push notifications to iOS devices via Bark service.

Key Parameters:

| Parameter | Type | Description |
|-----------|------|-------------|
| message | string | Main notification text |
| title | string | Bold title above message |
| level | enum | Urgency: passive, active, timeSensitive, critical |
| targets | array | Device aliases (e.g., ["iPhone", "iPad"]) |
| icon | URL | Custom icon image |
| url | URL | Link to open when tapped |
| id | string | For updating/deleting notifications |
| delete | boolean | Delete notification (requires id) |

Response Format:

Sending notification - queued for background delivery
To: iPhone, iPad
Level: timeSensitive

Delivery status will be logged to console:
2025-07-29T15:26:17.123Z [INFO] Notification delivered to iPhone in 0.234s
2025-07-29T15:26:17.145Z [INFO] Notification delivered to iPad in 0.267s

Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| BARK_DEVICES | - | Required: Device keys: key1,key2 or aliases: iPhone:key1,iPad:key2 |
| BARK_DEFAULT_DEVICE | First device | Default device alias for fallback |
| BARK_SERVER | https://api.day.app | Bark server URL |
| BARK_GROUP | Bark MCP Server | Default notification group |
| BARK_SOUND | - | Default notification sound |
| BARK_ICON | - | Default icon URL |
| BARK_LEVEL | - | Default urgency level |
| BARK_VOLUME | - | Default volume (0-10) |
| BARK_RETRY | 1 | Retry count on failure (0-10) |
| BARK_ASYNC | true | Async mode: true (fire-and-forget) or false (blocking) |
| LOG_LEVEL | info | Logging level: debug, info, warn, error |

Development

Project Structure

barkme-mcp-server/
├── src/
│   ├── index.ts          # Main MCP server implementation
│   └── logger.ts         # Simple structured logging
├── dist/
│   ├── index.js          # Compiled executable
│   ├── logger.js         # Compiled logger
│   └── *.d.ts           # Type definitions
├── references/           # Reference materials
├── package.json          # Project configuration
├── tsconfig.json         # TypeScript configuration
├── CLAUDE.md            # Development guide
└── README.md            # This file

Build Commands

npm run build        # Compile TypeScript
npm run watch        # Watch mode for development
npm start           # Run the compiled server

License

MIT

Related Projects

- Bark - The original iOS notification service
- barkme-tools - Original shell script implementation
- Model Context Protocol - The MCP specification

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.