Package Exports
- @vibeworks/barkme-mcp-server
- @vibeworks/barkme-mcp-server/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@vibeworks/barkme-mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Barkme MCP Server
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
notifytool 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 claudeFrom 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.267sEnvironment 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 fileBuild Commands
npm run build # Compile TypeScript
npm run watch # Watch mode for development
npm start # Run the compiled serverLicense
MIT
Related Projects
- Bark - The original iOS notification service
- barkme-tools - Original shell script implementation
- Model Context Protocol - The MCP specification