Barkme Mcp Server について
Barkmeは、Barkサービス経由でiOSプッシュ通知を送るMCPサーバーです。単一の`notify`ツールで、デバイス別名、非同期配信、通知の更新や削除に対応します。
主な機能
- 01単一の`notify`ツール
- 02設定可能なデバイス別名
- 03バックグラウンドでの非同期配信
- 04通知の更新と削除
- 05暗号化を含むBark APIパラメーター
活用シーン
- 01指定したiOSデバイスへのアラート送信
- 02緊急度と通知内容の設定
- 03送信済み通知の更新や削除
MCP 対応
単一の`notify`ツールを通じて、Barkのプッシュ通知機能を公開します。通知の送信、更新、削除に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Barkme MCP サーバー
Bark サービスを通じて iOS のプッシュ通知を送信する Model Context Protocol(MCP)サーバーです。シンプルで使いやすいインターフェースから、Claude の会話中に直接通知を送信できます。
機能
- 単一ツールのインターフェース:1 つの
notifyツールで、あらゆる通知シナリオに対応します - デバイスエイリアス:デバイスキーを AI に公開する代わりに、「iPhone:key1」「macOS:key2」のような分かりやすく、設定可能なエイリアスを使用できます
- 非同期優先:バックグラウンドで通知を配信し、構造化ログを記録するノンブロッキング方式です
- Bark API を完全サポート:暗号化メッセージや通知管理を含む、20 種類以上のすべてのパラメーターに対応します
- 通知の更新/削除:通知 ID を使用して、送信済みの通知を変更または削除できます
クイックスタート
前提条件
- Node.js 20+
- iOS アプリから取得した Bark のデバイスキー(セットアップチュートリアル)
- Claude Desktop や Claude Code などの MCP クライアント
npmjs 経由
Claude Desktop との連携
Claude Desktop の設定ファイルに追加します:
- 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"
}
}
}
}
設定を追加した後、Claude Desktop を再起動してください。Barkme サーバーが MCP ツールのセクションに表示されます。
Smithery 経由
Smithery 経由で、Claude Desktop 用の barkme-mcp-server を自動的にインストールするには:
npx -y @smithery/cli install @vibeworks/barkme-mcp-server --client claude
ソースから
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": {
...
}
}
}
}
使用例
Claude に次のように依頼します:
- 「『Hello World』という通知を送って」
- 「『Meeting in 10 minutes』という通知を iPhone と iPad に送って」
- 「サーバーメンテナンスに関する緊急アラートを送って」
- 「ID が『deploy-123』の通知を、『Deployment completed』という内容に更新して」
ツールリファレンス
notify
Bark サービスを通じて iOS デバイスにプッシュ通知を送信します。
主なパラメーター:
| パラメーター | 型 | 説明 |
|---|---|---|
message | string | 通知の本文 |
title | string | 本文の上に表示する太字のタイトル |
level | enum | 緊急度:passive、active、timeSensitive、critical |
targets | array | デバイスエイリアス(例:["iPhone", "iPad"]) |
icon | URL | カスタムアイコン画像 |
url | URL | タップ時に開くリンク |
id | string | 通知の更新/削除に使用 |
delete | boolean | 通知を削除します(id が必要) |
レスポンス形式:
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
環境変数
| 変数 | デフォルト値 | 説明 |
|---|---|---|
BARK_DEVICES | - | 必須:デバイスキー:key1,key2 またはエイリアス:iPhone:key1,iPad:key2 |
BARK_DEFAULT_DEVICE | 先頭のデバイス | フォールバック用のデフォルトデバイスエイリアス |
BARK_SERVER | https://api.day.app | Bark サーバーの URL |
BARK_GROUP | Bark MCP Server | デフォルトの通知グループ |
BARK_SOUND | - | デフォルトの通知音 |
BARK_ICON | - | デフォルトのアイコン URL |
BARK_LEVEL | - | デフォルトの緊急度 |
BARK_VOLUME | - | デフォルトの音量(0-10) |
BARK_RETRY | 1 | 失敗時の再試行回数(0-10) |
BARK_ASYNC | true | 非同期モード:true(送信後に処理を待たない)または false(ブロッキング) |
LOG_LEVEL | info | ログレベル:debug、info、warn、error |
開発
プロジェクト構成
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
ビルドコマンド
npm run build # Compile TypeScript
npm run watch # Watch mode for development
npm start # Run the compiled server
ライセンス
MIT
関連プロジェクト
- Bark - 元となった iOS 通知サービス
- barkme-tools - 元となったシェルスクリプト実装
- Model Context Protocol - MCP 仕様
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。