Tasker MCP について
Tasker MCP は、Android の自動化アプリ Tasker を MCP クライアントに接続する MCP サーバーです。Tasker のプロファイルを読み込むと、コマンドラインのサーバーが Tasker のタスクをツールとして提供します。AI アシスタントから携帯端末の自動化を実行したいユーザーに適しています。
主な機能
- 01Tasker プロファイルの読み込みで有効化
- 02SSE と stdio のトランスポートモード
- 03API キーによるアクセス制御
- 04タスクのコメントと変数からのツール説明生成
- 05複数アーキテクチャ向けのビルド済みバイナリ
活用シーン
- 01AI アシスタントから端末上の Tasker タスクを実行
- 02独自の Tasker タスクを MCP ツールとして公開
- 03stdio 経由で Claude Desktop から端末の自動化に接続
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tasker MCP
このドキュメントでは、依存関係のインストール、サーバーの準備、タスクの更新手順など、Tasker MCP 統合の設定と実行方法について説明します。
使用ガイド
ステップ 1:Tasker プロファイルをインポートする
dist/mcp_server.prj.xmlを Tasker アプリにインポートします。- インポート後、
MCP generate_api_keyタスクを実行して、安全なアクセスのための API キーを生成します。
ステップ 2:サーバーを選択して実行する
CLI サーバー:
dist/フォルダーから、デバイスのアーキテクチャに適した CLI サーバーのバイナリ(tasker-mcp-server-cli-aarch64など)を選択します。- バイナリと
toolDescriptions.jsonファイルの両方をデバイス(スマートフォンまたは PC)にコピーします。 - コピー後、バイナリの名前を
mcp-serverに変更します。
例:
scp を使用する場合:
scp dist/tasker-mcp-server-cli-aarch64 user@phone_ip:/data/data/com.termux/files/home/mcp-server
adb push を使用する場合:
adb push dist/tasker-mcp-server-cli-aarch64 /data/data/com.termux/files/home/mcp-server
- 次のコマンドで、SSE モードでサーバーを実行します。
./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_... --mode sse
- または、stdio トランスポートを通じて呼び出します。
payload='{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "tasker_flash_text", "arguments": { "text": "Hi" } } }'
echo $payload | ./mcp-server --tools /path/to/toolDescriptions.json --tasker-api-key=tk_...
コマンドラインフラグ
tasker-mcp-server-cli アプリケーションでは、次のフラグを使用できます。
--tools:Tasker のツール定義を含む JSON ファイルへのパスです。--host:SSE サーバーがリッスンするホストアドレスです(デフォルト:0.0.0.0)。--port:SSE サーバーがリッスンするポートです(デフォルト:8000)。--mode:トランスポートモードです。sseまたはstdioを指定します(デフォルト:stdio)。--tasker-host:Tasker サーバーのホストです(デフォルト:0.0.0.0)。--tasker-port:Tasker サーバーのポートです(デフォルト:1821)。--tasker-api-key:Tasker API キーです。
ステップ 3:MCP 対応アプリを接続する
- 実行中のサーバーを接続先として指定し、MCP 対応アプリを接続します。
stdio トランスポートを使用する Claude Desktop の設定例
{
"mcpServers": {
"tasker": {
"command": "/home/luis/tasker-mcp/dist/tasker-mcp-server-cli-x86_64",
"args": [
"--tools",
"/home/luis/tasker-mcp/dist/toolDescriptions.json",
"--tasker-host",
"192.168.1.123",
"--tasker-api-key",
"tk_...",
"--mode",
"stdio"
]
}
}
}
CLI サーバーを自分でビルドする
Unix/Linux:
- パッケージマネージャーを使用して Go をインストールします。
sudo apt-get install golang-go
- CLI サーバーをビルドします(ARM64 向けにクロスコンパイルする例)。
cd cli
GOOS=linux GOARCH=arm64 go build -o dist/tasker-mcp-server-cli-aarch64 main.go
MCP プロファイルを更新してタスクを追加する
Tasker の引数処理には制限があるため、タスクを MCP 対応として指定するには、次の手順に従ってください。
ステップ 1:タスクのコメントを設定する
- タスクの設定に直接コメントを追加します。このコメントがツールの説明になります。
ステップ 2:タスク変数を使用してツールの引数を設定する
Tasker がサポートする位置引数は 2 つ(par1、par2)のみです。この制限を回避するため、タスク変数を使用します。
- タスク変数が MCP 引数になる条件:
- インポート時に設定:未チェック
- 不変:true
- 値:空
上記の値を設定した後、追加のメタデータも設定できます。
- メタデータの対応付け:
- 型:タスク変数の型(
number、string、onoffなど)から決まります。 - 説明:変数の
Promptフィールドで設定します。 - 必須:
Same as Valueフィールドがチェックされている場合に必須となります。
- 型:タスク変数の型(
注:Prompt の説明が非表示の場合は、一時的に「インポート時に設定」を有効にして設定し、その後もう一度無効にしてください。プロンプトは保持されます。\
これらの手順により、後でカスタムプロジェクトをエクスポートする際に、有効なツールの説明を生成できます。
タスク変数は他のタスクから引き継ぐことができないため、MCP リクエストのすべての変数を正しく設定するには、最後にもう 1 つ作業が必要です。
ステップ 3:特別なアクションをコピーする
引数の解析を有効にするため、MCP#parse_args アクションを MCP タスクの先頭にコピーします。このアクションは、デフォルトのタスクのいずれかから取得できます。ただし、このアクションは変更しないでください。
ステップ 4:ツールの説明をエクスポートして更新する
これでカスタムタスクを使用する準備ができました。
mcp-serverプロジェクトをエクスポートし、PC に保存します。- Node.js がインストールされていることを確認してから、次を実行します。
cd utils
npm install
node xml-to-tools.js /path/to/your/exported/mcp_server.prj.xml > toolDescriptions.json
この toolDescriptions.json ファイルをサーバーで使用します。
自動化をお楽しみください!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。