An MCP (Model Context Protocol) server that gives AI agents direct access to [developer.android.com](https://developer.android.com/) - search docs, look up API references, browse packages, and check release notes.
Android Docs MCP Server
An MCP (Model Context Protocol) server that gives AI agents direct access to developer.android.com — search docs, look up API references, browse packages, and check release notes.
Quick Start
No installation needed — run directly with npx or bunx:
npx android-docs-mcp
bunx android-docs-mcp
Usage
VS Code
Add to your .vscode/mcp.json (or use the included one if cloning the repo):
{
"servers": {
"android-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "android-docs-mcp"]
}
}
}
Claude Desktop / Cursor / other MCP clients
Add to your MCP config:
{
"mcpServers": {
"android-docs": {
"command": "npx",
"args": ["-y", "android-docs-mcp"]
}
}
}
From source
git clone https://github.com/ankit-verma-209171/android-docs-mcp.git
cd android-docs-mcp
bun install
bun run dev
Tools
search_android_docs
Search across all Android documentation.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | (required) | Search query |
| max_results | number | 10 | Max results (1–30) |
get_android_doc_page
Fetch and parse any developer.android.com page into Markdown.
| Parameter | Type | Description |
|-----------|------|-------------|
| url | string | Full URL to a developer.android.com page |
get_api_reference
Look up API reference for a specific class by fully-qualified name.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| class_name | string | (required) | FQCN (e.g., android.app.Activity) |
| language | "java" | "kotlin" | auto | Defaults to kotlin for AndroidX, java for platform |
list_android_packages
List available packages from the official package index.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| type | "platform" | "androidx" | "androidx" | Package set |
| language | "java" | "kotlin" | "java" | Doc language |
| filter | string | — | Substring filter (e.g., "compose") |
get_release_notes
Fetch Jetpack library release notes.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| library | string | (required) | Library name (e.g., compose, lifecycle) |
| version | string | — | Filter to a specific version |
| max_entries | number | 5 | Max entries (1–50) |
Configuration
| Environment Variable | Default | Description |
|---------------------|---------|-------------|
| CACHE_TTL_MS | 86400000 (24h) | Cache time-to-live in milliseconds |
Architecture
src/
├── index.ts # MCP server entrypoint
├── lib/
│ ├── cache.ts # In-memory LRU cache (500 entries, 24h TTL)
│ ├── fetcher.ts # HTTP fetch with retry + cache integration
│ ├── parser.ts # HTML → Markdown (cheerio + turndown)
│ └── url-resolver.ts # FQCN → URL mapping
└── tools/
├── search.ts # search_android_docs
├── get-doc.ts # get_android_doc_page
├── get-api-reference.ts # get_api_reference
├── list-packages.ts # list_android_packages
└── get-release-notes.ts # get_release_notes
Disclaimer
This tool fetches content from developer.android.com on demand at runtime. The documentation content is owned by Google and licensed under the Creative Commons Attribution 2.5 License, and code samples are licensed under the Apache 2.0 License. This project is not affiliated with or endorsed by Google.
License
Apache 2.0 — see LICENSE for details.