apple-voice-memo-mcp について
apple-voice-memo-mcpは、macOS上のApple Voice MemosにアクセスするMCPサーバーです。AIアシスタントから録音の情報や音声を確認でき、保存済みの文字起こしの抽出やAppleのSFSpeechRecognizerによる生成にも対応します。
主な機能
- 01録音とメタデータの一覧表示
- 02録音の詳細情報の取得
- 03パスまたはBase64で音声を取得
- 04録音内に保存された文字起こしの抽出
- 05SFSpeechRecognizerによる文字起こし
活用シーン
- 01ボイスメモの閲覧と絞り込み
- 02録音音声を別のワークフローに渡す
- 03既存の文字起こしテキストを抽出
- 04文字起こしのない録音からテキストを生成
MCP 対応
MCPサーバーとして、Apple Voice Memosの一覧、録音情報、音声取得、文字起こしの抽出・生成を行うツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返すメモの最大数(1~100、デフォルト:50) |
| offset | number | いいえ | ページネーションでスキップするメモの数(デフォルト:0) |
| search | string | いいえ | タイトルまたはカスタムラベルでメモを絞り込む検索語 |
詳細
Apple Voice Memo MCP サーバー
macOS 上の Apple Voice Memos にプログラムからアクセスできる MCP(Model Context Protocol)サーバーです。Claude などの AI アシスタントから音声録音を操作できます。
ローカルで文字起こしを行う場合は、whisper-mcp との併用がおすすめです。
機能
- ボイスメモの一覧表示 - メタデータとともに、すべてのボイスメモを表示します
- メモの詳細取得 - 特定の録音に関する詳細情報を取得します
- 音声の取得 - 音声ファイルのパス、または Base64 エンコードされた音声データにアクセスします
- 文字起こしの取得 - メモから文字起こしを抽出します(Apple により音声ファイル内に保存されています)
- メモの文字起こし - Apple の SFSpeechRecognizer を使用して文字起こしを生成します
要件
- macOS Sonoma(14.0)以降(文字起こしには Sequoia を推奨)
- Node.js 18+
- フルディスクアクセス権限(ボイスメモのデータへのアクセスに必要)
- ボイスメモアプリを少なくとも一度は開いていること
インストール
npm install -g apple-voice-memo-mcp
または、npx で直接使用します。
npx apple-voice-memo-mcp
設定
Claude Desktop
Claude Desktop の設定ファイルに追加します。
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"apple-voice-memo-mcp": {
"command": "npx",
"args": ["-y", "apple-voice-memo-mcp"]
}
}
}
編集後、Claude Desktop を再起動してください。
Claude Code(CLI)
Claude Code を使用する場合は、プロジェクトの .mcp.json ファイルに追加します。
{
"mcpServers": {
"apple-voice-memo-mcp": {
"command": "npx",
"args": ["-y", "apple-voice-memo-mcp"]
}
}
}
ユーザー全体に適用する設定の場合は、~/.claude/settings.json に追加します。
{
"mcpServers": {
"apple-voice-memo-mcp": {
"command": "npx",
"args": ["-y", "apple-voice-memo-mcp"]
}
}
}
ヒント: Claude Code で /mcp を使用すると、サーバーが接続されていることを確認できます。
ローカル開発環境のセットアップ
npm ではなくソースから実行する場合:
{
"mcpServers": {
"apple-voice-memo-mcp": {
"command": "node",
"args": ["/path/to/apple-voice-memo-mcp/dist/index.js"]
}
}
}
権限
-
フルディスクアクセス: ボイスメモのデータベースを読み取るために必要です
- 「システム設定」>「プライバシーとセキュリティ」>「フルディスクアクセス」を開きます
- ターミナルアプリまたは Claude Desktop を追加します
-
音声認識(文字起こしに使用):
transcribe_memoツールを使用する場合にのみ必要です- 初回使用時にシステムから許可を求められます
MCP ツール
list_voice_memos
すべてのボイスメモをメタデータとともに一覧表示します。
パラメーター:
limit(任意): 結果の最大数(1~100、デフォルト: 50)offset(任意): ページネーションのオフセットsearch(任意): タイトルで絞り込む検索語句
応答例:
{
"memos": [
{
"id": 1,
"title": "Meeting Notes",
"date": "2025-01-07T10:30:00.000Z",
"duration": 120.5,
"hasTranscript": true
}
],
"total": 15
}
get_voice_memo
特定のメモの詳細なメタデータを取得します。
パラメーター:
id(必須): メモ ID
get_audio
音声ファイルを取得します。
パラメーター:
id(必須): メモ IDformat(任意): "path" または "base64"(デフォルト: "path")
get_transcript
メモから文字起こしを抽出します。
パラメーター:
id(必須): メモ IDformat(任意): "text"、"json"、または "timestamped"
transcribe_memo
SFSpeechRecognizer を使用してメモを文字起こしします。
パラメーター:
id(必須): メモ IDlanguage(任意): 言語コード(デフォルト: "en-US")
仕組み
データへのアクセス
ボイスメモのデータは次の場所に保存されています。
- データベース:
~/Library/Group Containers/group.com.apple.VoiceMemos.shared/Recordings/CloudRecordings.db - 音声ファイル: 同じディレクトリ内の
.m4a形式のファイル
文字起こしの保存場所
Apple は、tsrp というカスタム MPEG-4 atom を使用して、文字起こしを .m4a 音声ファイル内に直接保存します。この MCP サーバーはこれらの atom を解析して文字起こしを抽出します。文字起こし用の個別ファイルはありません。
開発
# Clone the repository
git clone https://github.com/jwulff/apple-voice-memo-mcp.git
cd apple-voice-memo-mcp
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run dev
# Test with MCP inspector
npm run inspector
トラブルシューティング
「Voice Memos database not found」
- ボイスメモアプリを少なくとも一度は開いていることを確認してください
- ターミナルまたはアプリケーションにフルディスクアクセスを許可してください
- ボイスメモの iCloud 同期が有効になっているか確認してください
「No transcript available」
- macOS Sequoia 以降では、ボイスメモアプリでメモを開くと自動文字起こしが開始されます
- 古いバージョンの macOS には自動文字起こし機能がありません
transcribe_memoツールを使用すると、SFSpeechRecognizer で文字起こしを生成できます
ネイティブモジュールのバインディングエラー
better_sqlite3.node のバインディングが見つからないというエラーが表示された場合:
npm rebuild better-sqlite3
これにより、現在の Node.js バージョンに合わせてネイティブモジュールが再コンパイルされます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。