local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows interaction with macOS through AppleScript, including calendar management, clipboard operations, Finder integration, system notifications, system controls, and iTerm terminal integration
Required as a prerequisite for running the MCP server
Planned feature to allow opening pages in Safari, saving page content, and getting selected page/tab
applescript-mcp MCP サーバー
LLMアプリケーションがAppleScriptを介してmacOSと連携できるようにするモデルコンテキストプロトコル(CMP)サーバー。このサーバーは、AIアプリケーションがシステム機能の制御、ファイルの管理、通知の処理などを行うための標準化されたインターフェースを提供します。
特徴
- 🗓️ カレンダー管理(イベント、リマインダー)
- 📋 クリップボード操作
- 🔍 Finder との統合
- 🔔 システム通知
- ⚙️ システムコントロール(音量、ダークモード、アプリ)
- 📟 iTerm ターミナル統合
- 📬 メール(新しいメールの作成、メールの一覧表示、メールの取得)
- 🔄ショートカットの自動化
- 💬 メッセージ(チャットの一覧表示、メッセージの取得、メッセージの検索、メッセージの送信)
計画されている機能
- 🧭 Safari(Safariで開く、ページコンテンツを保存、選択したページ/タブを取得する)
- ✅ リマインダー(作成、取得)
- 🗒️ メモ(作成、取得、リスト)
前提条件
- macOS 10.15以降
- Node.js 18以降
利用可能なカテゴリ
カレンダー
指示 | 説明 | パラメータ |
---|---|---|
add | カレンダーイベントを作成 | title 、 startDate 、 endDate |
list | 今日のイベントを一覧表示する | なし |
クリップボード
指示 | 説明 | パラメータ |
---|---|---|
set_clipboard | クリップボードにコピー | content |
get_clipboard | クリップボードの内容を取得する | なし |
clear_clipboard | クリップボードをクリア | なし |
ファインダ
指示 | 説明 | パラメータ |
---|---|---|
get_selected_files | 選択したファイルを取得する | なし |
search_files | ファイルを検索する | query 、 location (オプション) |
quick_look | プレビューファイル | path |
通知
指示 | 説明 | パラメータ |
---|---|---|
send_notification | 通知を表示 | title 、 message 、 sound (オプション) |
toggle_do_not_disturb | DNDモードを切り替える | なし |
システム
指示 | 説明 | パラメータ |
---|---|---|
volume | システム音量を設定する | level (0~100) |
get_frontmost_app | アクティブアプリを入手 | なし |
launch_app | アプリケーションを開く | name |
quit_app | 応募を締め切る | name 、 force (オプション) |
toggle_dark_mode | ダークモードを切り替える | なし |
iTerm
指示 | 説明 | パラメータ |
---|---|---|
paste_clipboard | iTermに貼り付け | なし |
run | コマンドを実行 | command 、 newWindow (オプション) |
ショートカット
指示 | 説明 | パラメータ |
---|---|---|
run_shortcut | ショートカットを実行する | name 、 input (オプション) |
郵便
指示 | 説明 | パラメータ |
---|---|---|
create_email | Mail.appで新しいメールを作成する | recipient 、 subject 、 body |
list_emails | メールボックスからメールを一覧表示する | mailbox (オプション)、 count (オプション)、 unreadOnly (オプション) |
get_email | 検索で特定のメールを取得する | subject (オプション)、 sender (オプション)、 dateReceived (オプション)、 mailbox (オプション)、 account (オプション)、 unreadOnly (オプション)、 includeBody (オプション) |
メッセージ
指示 | 説明 | パラメータ |
---|---|---|
list_chats | 利用可能なiMessageとSMSチャットを一覧表示する | includeParticipantDetails (オプション) |
get_messages | メッセージアプリからメッセージを受け取る | limit (オプション、デフォルト: 100) |
search_messages | 特定のテキストを含むメッセージを検索する | searchText 、 sender (オプション)、 chatId (オプション)、 limit (オプション、デフォルト:50)、 daysBack (オプション、デフォルト:30) |
compose_message | 事前に入力されたメッセージまたは自動送信でメッセージアプリを開きます | recipient (必須)、 body (オプション)、 auto (オプション、デフォルト:false) |
発達
設定
新しい機能の追加
1. カテゴリファイルを作成する
src/categories/newcategory.ts
を作成します:
2. スクリプトを追加する
3. 登録カテゴリー
src/index.ts
を更新します:
デバッグ
MCPインスペクターの使用
MCP Inspector は、サーバーのテストとデバッグのための Web インターフェイスを提供します。
ログ記録
環境変数を設定してデバッグ ログを有効にします。
構成例
npm run build
を実行した後、 mcp.json
ファイルに以下を追加します。
よくある問題
- 権限エラー: システム環境設定 > セキュリティとプライバシーを確認してください
- スクリプトの失敗: スクリプトエディタアプリで直接スクリプトをテストする
- 通信の問題: stdio ストリームがリダイレクトされていないか確認してください
リソース
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更をコミットする
- ブランチにプッシュする
- プルリクエストを作成する
ライセンス
MITライセンス - 詳細はライセンスを参照
You must be authenticated.
LLM アプリケーションが AppleScript を通じて macOS と対話できるようにします。