概要
Android Source Explorer MCPは、Model Context Protocol(MCP)を実装したサーバーで、LLMがAndroid Open Source Project(AOSP)のソースコードを直接検索・参照できる環境を提供する。Anthropic社が提唱したMCPプロトコルに準拠しており、ClaudeをはじめとするAIアシスタントがAndroidフレームワークの実装詳細を即座に調査できるようになる。Android開発における「公式ドキュメントには載っていない実装の詳細」を知りたい場面で威力を発揮する。
主な機能
- AOSPソースコード検索: Android Gitiles上のソースコードを直接検索し、特定のクラスやメソッドの実装を取得
- MCP準拠のツール公開:
search_android_sourceツールをMCPプロトコル経由で公開し、LLMから呼び出し可能 - リポジトリ横断検索: platform/frameworks/base、platform/frameworks/supportなど複数リポジトリを対象に検索
- コンテキスト統合: 検索結果をLLMのコンテキストに自動挿入し、実装に基づいた回答生成をサポート
- 拡張可能なアーキテクチャ: 新しい検索対象リポジトリや検索パラメータを容易に追加可能な設計
- ストリーミング対応: 検索結果をリアルタイムで返却し、大量のソースコードでもレスポンス速度を維持
- エラーハンドリング: ネットワークエラーやタイムアウトを適切に処理し、安定した検索体験を提供
技術スタック
- 言語: TypeScript/Node.js
- プロトコル: Model Context Protocol (MCP) SDK
- API: Android Gitiles REST API
- ランタイム: Node.js 18以上
- パッケージマネージャー: npm/yarn
- 通信: stdio経由のJSON-RPC
導入方法
リポジトリをクローンし、依存関係をインストール:
git clone https://github.com/mrmike/android-source-explorer-mcp.git
cd android-source-explorer-mcp
npm install
npm run build
MCPクライアント(Claude Desktop等)の設定ファイルに追加:
{
"mcpServers": {
"android-source-explorer": {
"command": "node",
"args": ["/path/to/android-source-explorer-mcp/build/index.js"]
}
}
}
クライアントを再起動後、search_android_sourceツールが利用可能になる。
競合比較
| ツール | 検索対象 | MCP対応 | リアルタイム性 |
|---|---|---|---|
| Android Source Explorer MCP | AOSP全体 | ○ | リアルタイム |
| Android Code Search(公式Web) | AOSP全体 | × | Web UI必須 |
| GitHub Code Search | ミラーリポジトリ | × | 手動コピペ |
| OpenGrok(セルフホスト) | ローカル | × | 初期構築重い |
Android Source Explorer MCPは、LLMとの統合に特化した唯一のMCP準拠ツールである点が最大の差別化要素。公式のAndroid Code SearchはWebブラウザでの手動操作が必要で、検索結果をLLMに渡すには人手でコピー&ペーストが発生する。GitHubのミラーは更新遅延があり、最新のコミットを追えない。OpenGrokは強力だが、インデックス構築に数時間を要しローカル環境のメンテナンスコストが高い。本ツールはAPIベースでリアルタイムに最新ソースへアクセスし、MCPプロトコルでLLMワークフローに直接組み込める。
活用シーン
カスタムViewの実装調査: 独自のカスタムViewを作成する際、標準のButtonやTextViewがどのようにonDraw()やonMeasure()を実装しているかをLLMに質問すると、MCPサーバーが該当コードを検索・提示し、ベストプラクティスに沿った実装例を即座に得られる。
非公開APIの挙動確認: Androidの隠しAPIや@hideアノテーション付きメソッドの実装詳細を調べたい場合、公式ドキュメントには記載がないためソースコード直接参照が必須。LLMに「ActivityManagerServiceのstartActivity内部処理」を尋ねると、サーバーが該当コードを取得し、内部フローを説明してくれる。
フレームワークバグ調査: 特定のAndroidバージョンで発生するバグの原因を特定する際、該当バージョンのブランチからソースを検索し、問題箇所のコードとコミット履歴を組み合わせて分析可能。LLMが過去の修正パッチと照合し、ワークアラウンドを提案する。
こんな人におすすめ
- Androidフレームワーク開発者: システムレベルのカスタマイズやROM開発で、AOSPの内部実装を頻繁に参照する
- 上級アプリ開発者: カスタムViewやパフォーマンス最適化で、標準実装のコードリーディングが必要
- 技術調査担当者: 新機能の実装可能性調査や、OSバージョン間の差分分析を効率化したい
- OSS貢献者: Androidプラットフォームへのパッチ作成で、既存コードの理解を加速させたい
- AI活用開発者: LLMをコーディングアシスタントとして使い、正確なAndroid実装知識を注入したい