Android Source Explorer MCP Server
The Android Source Explorer MCP Server provides on-demand access to AOSP and AndroidX source code, giving AI tools precise access to real Android framework internals for advanced code exploration.
Search for classes by glob pattern or substring (e.g.,
*ViewModel*orActivity) across the synced source treeRetrieve full class source code for any Android Framework or AndroidX class
Look up a specific method's source code within a class, including its Javadoc and annotations
List all method and field signatures (members) of a given class
Get the inheritance hierarchy (superclass and implemented interfaces) for any class
Search for text or regex patterns within a specific class or across all synced source files
List available versions of an AndroidX artifact (e.g.,
androidx.compose.runtime:runtime)Check the integrity of the local source cache and index
Go to definition of a symbol at a specific line/character position (requires LSP)
Find all references to a symbol across the entire source tree (requires LSP)
Get type information and documentation (hover data) for a symbol (requires LSP)
The server uses a hybrid architecture combining Tree-sitter for fast single-file parsing with optional LSP engines for cross-file intelligence, and operates offline via a local cache of synced sources.
Enables on-demand, precise exploration of the Android Open Source Project (AOSP) and Jetpack (AndroidX) libraries, allowing for class searches, method body extraction, and analysis of framework internals like lifecycle management and Compose.
Syncs source code and library artifacts directly from Google-hosted infrastructure, including the Android Open Source Project (AOSP) repositories and the Google Maven repository.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Android Source Explorer MCP Servershow me the implementation of the onCreate method in Activity.java"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Android Source Explorer MCP Server
MCP server for exploring AOSP internals and Jetpack libraries.
Purpose
When building Android applications, AI tools often rely on outdated training data or incomplete summaries of the Android Framework. This MCP server provides on-demand, precise access to the actual source code (AOSP and AndroidX), enabling the AI to understand complex framework internals like the Activity lifecycle, ViewModel restoration, or Compose internals directly from the truth.
Installation & Setup
Prerequisites
uv (Recommended) or Python 3.11+
Git
Recommended Installation (via uv)
The easiest way to install and keep android-source-explorer up to date is using uv. It handles dependencies (including native ones like Tree-sitter and Cryptography) reliably across platforms.
uv tool install git+https://github.com/mrmike/android-source-explorer-mcpThis will make the android-source-explorer command available globally in your PATH.
Initial Sync
After installation, you need to perform an initial sync to fetch the Android source code:
# Sync API 36 (Android 16) and common AndroidX packages
android-source-explorer sync --api-level 36 --androidx "compose,lifecycle,activity"
# (Optional) Download LSP servers for cross-file features
android-source-explorer sync --lspCheck sync status:
android-source-explorer statusConfiguration
Add the MCP server to your configuration file (e.g., Claude Desktop, Cursor, Gemini CLI).
Global Usage (Recommended)
If installed via uv tool install, the tool is available globally.
Basic Setup:
{
"mcpServers": {
"android-sources": {
"command": "android-source-explorer",
"args": ["serve"]
}
}
}With LSP Features Enabled:
{
"mcpServers": {
"android-sources": {
"command": "android-source-explorer",
"args": ["serve"],
"env": {
"ANDROID_SOURCE_LSP": "true"
}
}
}
}Development Usage
If you cloned the repository and want to run it from the source:
{
"mcpServers": {
"android-sources": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/android-source-explorer", "android-source-explorer", "serve"]
}
}
}How It Works
1. Hybrid Architecture (Tree-sitter + LSP)
The server uses a dual-engine approach to balance speed and intelligence:
Tree-sitter (Surgical Engine): Provides near-instant (sub-10ms) AST parsing of single files. It precisely extracts method bodies (including Javadoc and annotations), class members, and inheritance hierarchies without the overhead of a full compiler.
LSP (Global Engine): Optionally leverages the Eclipse JDT LS (Java) and Kotlin Language Server for cross-file navigation. This enables finding references across millions of lines of code and resolving types that span multiple libraries.
2. Local Sync Strategy
To ensure all lookups are instant and offline-ready, the server uses a sync command to pre-fetch sources into a local cache (~/.android-sources/):
AOSP: Fetches framework sources directly from
android.googlesource.comusing git sparse-checkouts.AndroidX: Downloads
-sources.jarfiles from the Google Maven repository (dl.google.com/dl/android/maven2/).Hybrid Indexing: Prioritizes your local
$ANDROID_HOMEsources if available, supplemented by the downloaded cache.
Available Tools
Tool | Engine | Description |
| Index | Search for classes by glob pattern or substring. |
| FS | Retrieve the full source code for a specific class. |
| Tree-sitter | Extract a precise method body + its Javadoc/annotations. |
| Tree-sitter | List all method and field signatures in a class. |
| Tree-sitter | Get the inheritance chain (superclass + interfaces). |
| FS/Regex | Search for text/regex across the entire source tree. |
| LSP | Resolve the cross-file definition of a symbol. |
| LSP | Find all usages of a class/method across the whole tree. |
| LSP | Get documentation and type info via hover data. |
*Requires ANDROID_SOURCE_LSP=true
License
Apache License 2.0
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrmike/android-source-explorer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server