android-docs-mcp
README.md
# Android Docs MCP Server
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.
## Quick Start
No installation needed — run directly with `npx` or `bunx`:
```bash
npx android-docs-mcp
```
```bash
bunx android-docs-mcp
```
## Usage
### VS Code
Add to your `.vscode/mcp.json` (or use the included one if cloning the repo):
```json
{
"servers": {
"android-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "android-docs-mcp"]
}
}
}
```
### Claude Desktop / Cursor / other MCP clients
Add to your MCP config:
```json
{
"mcpServers": {
"android-docs": {
"command": "npx",
"args": ["-y", "android-docs-mcp"]
}
}
}
```
### From source
```bash
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](https://developer.android.com/) on demand at runtime. The documentation content is owned by Google and licensed under the [Creative Commons Attribution 2.5 License](https://creativecommons.org/licenses/by/2.5/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). This project is not affiliated with or endorsed by Google.
## License
Apache 2.0 — see [LICENSE](LICENSE) for details.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues