Android Mcp Toolkit について
Android MCP Toolkitは、Android開発者やAIエージェント向けのMCPサーバーで、アセット変換、端末診断、操作のツールを提供します。SVGからVectorDrawableへの変換、logcatの取得、端末UIの確認や操作に対応します。
主な機能
- 01SVGからVectorDrawable XMLへの変換
- 02フィルター付きadb logcatの読み取り
- 03現在のアプリとUI階層の確認
- 04端末スクリーンショットの取得
- 05タップ、テキスト入力、スワイプの再現
- 06翻訳テキストの長さの差を推定
活用シーン
- 01デザインSVGをAndroid drawableアセットに変換
- 02アプリやタグでクラッシュログを調査
- 03端末の現在画面を確認して撮影
- 04翻訳文の長さがレイアウトに及ぼす影響を検出
MCP 対応
MCPサーバーとして、stdio経由でAndroidアセット変換、logcat読み取り、端末の確認や操作を行うツールをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| svg | string | いいえ | 変換するインライン SVG マークアップ |
| svgPath | string | いいえ | 読み込む SVG ファイルのパス |
| outputPath | string | いいえ | 生成した VectorDrawable XML の任意の出力パス |
| floatPrecision | integer | いいえ | 座標のシリアライズ時に使用する小数精度 |
| fillBlack | boolean | いいえ | 塗りつぶし色が未指定の場合、黒色を強制的に設定します |
| xmlTag | boolean | いいえ | XML 宣言を含めます |
| tint | string | いいえ | Android のティント色(例:#FF000000) |
| cache | boolean | いいえ | このプロセス内で同一の入力に対してキャッシュ済みの結果を再利用します |
詳細
AI エージェント向け Android MCP Toolkit
3 つのツールを備えた小規模な MCP サーバーです。
- 高速な SVG → Android VectorDrawable 変換(キャッシュ対応、ファイルまたはインライン入力)。
- パッケージ/PID/タグでフィルタリングできる adb logcat リーダー。クラッシュの迅速な原因究明に役立ちます。
- レイアウトが崩れる前にリスクのある長さの差を検出する、翻訳テキストの長さの差の推定ツール。
このツールを作った理由
ミッション:ネイティブ Android を AI エージェントの時代へ
AI エコシステムでは Web 向けのツールが広がる一方で、Android 開発は取り残されているように感じられることがよくあります。この MCP サーバーは、そのギャップを埋めるための取り組みです。AI エージェントと Android ツールチェーンを直接つなぐ専用のブリッジです。
⚡ 手間のかからないアセット変換:Android Studio を起動する手間なく、SVG をすぐに VectorDrawable に変換できます。
🔍 直接的な診断アクセス:エージェントが adb logcat のストリームをリアルタイムで取得、フィルタリング、分析できます(パッケージ、PID、タグで指定可能)。
🤖 エージェントに適したアーキテクチャ:LLM が効率的に解析して処理できる、構造化されたスクリプト実行可能な出力を提供します。
🚀 拡張性を考慮した設計:今後、ビットマップ用ヘルパーやアセット検証などのユーティリティを追加できる、堅牢な基盤です。
活用例
- Figma MCP:デザインから SVG を取得し、
convert-svg-to-android-drawableに渡して、Android リソース用の XML を生成します。 - デバッグ:アプリの実行中に、パッケージ名またはタグを指定して
read-adb-logcatを呼び出すと、MCP クライアントを離れることなくクラッシュやフィルタリング済みログを取得できます。
プレビュー
SVG から VectorDrawable への変換
- Figma へのリクエスト → SVG の抽出

- 旗の変換プレビュー(単体)

- 旗の一括レビュー(並べて表示)

- MCP 経由の一括実行(コンソール)

ADB logcat ツール
- クラッシュ取得プロンプト(入力とフィルター)

- レスポンスのプレビュー(要約された logcat)

現在のツール
-
convert-svg-to-android-drawable- 入力:
svg(インライン)またはsvgPath(ファイルパス)。任意:outputPath、floatPrecision(デフォルトは 2)、fillBlack(デフォルトは false)、xmlTag(デフォルトは false)、tint、cache(デフォルトは true)。 - 出力:VectorDrawable XML テキスト。
outputPathが指定されている場合は、ディスクにも書き込みます。 - パフォーマンス:SVG とオプションをキーとする LRU キャッシュ(32 エントリー)に加え、セッション内で高速に再利用します。
- コンバーター:
rgb()/rgba()、hsl()/hsla()、名前付きカラーを修正した、vendor/svg2vectordrawable内のベンダー版フォークです。アップストリームライセンス:vendor/svg2vectordrawable/LICENSE(MIT)。
- 入力:
-
manage-logcat- 入力:
action:read(デフォルト)、crash、anr、またはclear。packageName:任意。adb shell pidofを使用して PID を解決します。pid:任意。明示的な PID。tag:任意。タグでフィルターします(例:MyApp)。priority:V、D、I、W、E、F、S(デフォルトはV)。maxLines:末尾から取得する行数(デフォルトは 200、最大 2000)。timeoutMs:デフォルトは 5000。
- 動作:
read:logcat の末尾を取得します。crash:logcat -b crashを取得します。anr:最近の ActivityManager ANR ログと、/data/anr/traces.txtの末尾を取得します。clear:logcat バッファーをクリアします。
- 入力:
-
get-current-activity- 入力:
timeoutMs(デフォルトは5000、最大15000)。 - 動作:
dumpsys windowを調べて、現在フォーカスされているアプリ/ウィンドウを特定します。状態の確認に役立ちます。
- 入力:
-
dump-ui-hierarchy- 入力:
timeoutMs(デフォルトは 10000)。 - 動作:
uiautomatorを使用して、現在の UI 階層を XML として取得します。
- 入力:
-
take-screenshot- 入力:
outputPath(必須)、timeoutMs。 - 動作:デバイスのスクリーンショットをローカルファイルに保存します。
- 入力:
-
inject-input- 入力:
command(tap、text、swipe、keyevent、back、home)、args(配列)、timeoutMs。 - 任意:
elementIdまたはelementText(要素の中心を見つけてタップします)。 - 動作:テストフローに適したユーザー操作をシミュレートします。
- 入力:
-
estimate-text-length-difference- 入力:
sourceText(原文)、translatedText(比較対象)、tolerancePercent(デフォルトは30、最大500)。 - 動作:両方の文字列の書記素数を測定し、変化率を計算して、許容値を超えているかどうかを報告します(レイアウトを崩す可能性のある翻訳文の長さの急増を検出するのに役立ちます)。
- 入力:
ロードマップ(予定)
- Android アセット向けの追加 MCP ツール(例:一括変換、検証、最適化)。
- 一般的な Android ドローアブル/テンプレート向けの任意のリソースプロンプト。
クイックスタート
npm installnpm run buildnode dist/index.js(stdio MCP サーバー)
npx で実行
- グローバル:
npx android-mcp-toolkit
Cursor で使用(MCP 設定)
Cursor の設定 JSON に追加します:
{
"mcpServers": {
"android-mcp-toolkit": {
"command": "npx",
"args": [
"-y",
"android-mcp-toolkit"
]
}
}
}
npx の呼び出しによって公開済みパッケージがダウンロードされるため、ローカルパスは不要です。
Cursor のディープリンクで簡単にインストール:
cursor://anysphere.cursor-deeplink/mcp/install?name=android-mcp-toolkit&config=eyJjb21tYW5kIjoibnB4IC15IGFuZHJvaWQtbWNwLXRvb2xraXQifQ%3D%3D
例
- 入力 SVG:
sample_svg.svg - 出力 VectorDrawable:
examples/sample_svg.xml
メモ
- トランスポート:
@modelcontextprotocol/sdkを介した stdio。 - 基本的な依存関係は最小限に抑えており、SVG の変換に必要なものはすべてベンダー提供または同梱されています。
連絡先
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。