스택 트레이스 난독화 해제 및 버전 호환성 검사를 포함하여 Android 및 Kotlin Multiplatform 개발을 위한 결정론적 도구를 제공합니다.
다른 이름 androidboss-org/androidboss
- 스타
- 0
- Tools
- 15
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 9일
- 라이선스
- MIT
androidboss MCP란?
androidboss은(는) MCP server입니다. 스택 트레이스 난독화 해제 및 버전 호환성 검사를 포함하여 Android 및 Kotlin Multiplatform 개발을 위한 결정론적 도구를 제공합니다. 15개 도구를 제공합니다. 예: retrace, json-to-kotlin, check-compatibility.
프로젝트 README에서 생성된 요약
androidboss MCP server 정보
Android 및 Kotlin Multiplatform 개발자는 이러한 결정론적 도구를 사용하여 반복적이고 복잡한 개발 작업을 자동화할 수 있습니다. 이 MCP server는 R8 스택 트레이스 난독화 해제, Kotlin, AGP, Gradle 버전 간의 호환성 확인, KMP 타겟을 위한 실제 actual 선언 생성 등 전문적인 기능을 제공합니다. 또한 버전 카탈로그 관리, 벡터 그래픽 변환, 타겟 SDK 업데이트 시 동작 변경 사항 식별을 지원합니다.
사용자는 호스팅된 MCP server를 통해 Claude Code, Cursor, VS Code와 같은 에이전트에서 즉시 사용하거나, 오프라인 작업 및 대용량 입력을 위해 npx를 사용하여 로컬 버전을 실행할 수 있습니다. 모든 도구는 읽기 전용이며 시스템에 파일을 쓰거나 명령어를 실행하지 않습니다. 모든 출력은 전문적인 모바일 개발 워크플로우의 정확성을 보장하기 위해 R8, Gradle, Android CLI를 포함한 실제 툴체인을 통해 검증됩니다.
활용 사례
- 1크래시 리포트 난독화 해제mapping 파일과 크래시 로그를 제공하여 난독화된 스택 트레이스를 읽기 쉬운 코드로 변환합니다.
- 2빌드 도구 호환성 확인특정 버전의 Kotlin, AGP, Gradle이 서로 호환되는지 확인합니다.
- 3KMP 타겟 선언 자동화commonMain의 expect 코드를 기반으로 모든 KMP 타겟에 필요한 actual 선언을 생성합니다.
- 4의존성 버전 관리프로젝트 의존성 및 플러그인을 버전 카탈로그 파일로 마이그레이션합니다.
- 5SDK 마이그레이션 영향 분석타겟 SDK 레벨 간의 동작 변경 사항을 식별하고 매니페스트와 대조하여 확인합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
androidboss MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 androidboss MCP 설치
$ claude mcp add androidboss -- npx -y androidbossCursor에 androidboss MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"androidboss": {
"command": "npx",
"args": [
"-y",
"androidboss"
]
}
}
}VS Code에 androidboss MCP 설치
.vscode/mcp.json
{
"servers": {
"androidboss": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"androidboss"
]
}
}
}VS Code CLI에 androidboss MCP 설치
$ code --add-mcp '{"name":"androidboss","type":"stdio","command":"npx","args":["-y","androidboss"]}'Claude Desktop에 androidboss MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"androidboss": {
"command": "npx",
"args": [
"-y",
"androidboss"
]
}
}
}Codex에 androidboss MCP 설치
$ codex mcp add androidboss -- npx -y androidbossCodex config.toml에 androidboss MCP 설치
~/.codex/config.toml
[mcp_servers.androidboss] command = "npx" args = ["-y", "androidboss"]
Gemini CLI에 androidboss MCP 설치
$ gemini mcp add -s user androidboss npx -- -y androidbossGemini settings.json에 androidboss MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"androidboss": {
"command": "npx",
"args": [
"-y",
"androidboss"
]
}
}
}androidboss MCP 도구 15
README에서 감지됨retracejson-to-kotlincheck-compatibilityandroid-cli-tasksandroid-cli-commandcrash-to-promptversion-catalogconvert-vectorkeep-rulesexpect-actualkotlin-to-swiftfind-kmp-libraries
| retrace | — | |
| json-to-kotlin | — | |
| check-compatibility | — | |
| android-cli-tasks | — | |
| android-cli-command | — | |
| crash-to-prompt | — | |
| version-catalog | — | |
| convert-vector | — | |
| keep-rules | — | |
| expect-actual | — | |
| kotlin-to-swift | — | |
| find-kmp-libraries | — |
도구 15개 모두 보기도구 수 줄이기
android-permissionstarget-sdk-changescheatsheet
| android-permissions | — | |
| target-sdk-changes | — | |
| cheatsheet | — |
구성
CHECK_GRADLE
| 이름 | 설명 | 유형 |
|---|---|---|
| CHECK_GRADLE | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능androidboss-org/androidboss is public and reachablegithub.com/androidboss-org/androidboss ↗통과
- 패키지가 이 저장소를 소스로 명시androidboss names androidboss-org/androidboss as sourcenpmjs.com/package/androidboss ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for androidbossnpmjs.com/package/androidboss/v/0.4.2#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-09github.com/androidboss-org/androidboss ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from androidboss통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음15 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Tested tools for Android and Kotlin Multiplatform developers and their coding agents
Website · MCP setup · npm · Discussions · Report a bug
AndroidBoss turns the fiddly parts of Android and Kotlin® Multiplatform work into small, deterministic tools: deobfuscating an R8 stack trace, checking that Kotlin, AGP and Gradle versions work together, finding what changes when you raise targetSdk, writing actual declarations for each KMP target, and more.
The same tools are available three ways:
| Where | Best for | |
|---|---|---|
| Hosted MCP server | https://mcp.androidboss.org/mcp |
Giving Claude Code, Codex, Gemini CLI, Cursor or VS Code the tools with nothing to install |
| Local CLI and MCP server | npx androidboss |
Large or private inputs, offline work, scripts and CI |
| Web tools | androidboss.info | Using them in a browser, with your input never leaving the page |
Every tool's output is checked against the real toolchain before it ships: R8 and Google's retrace, Gradle, aapt2, Kotlin/Native, swiftc and the Android CLI.
[!NOTE] AndroidBoss is an independent, free and non-commercial community project, made by developers for developers. It isn't affiliated with or endorsed by Google. See Legal and trademarks.
Contents
- Quick start
- Tools
- Connect your agent
- Command-line usage
- Versions
- Privacy and limits
- How it's built
- Development
- Contributing
- Support the project
- Licence
Quick start
Give your coding agent the tools (Claude Code shown; other agents below):
claude mcp add --transport http androidboss https://mcp.androidboss.org/mcp
Then ask it something like "Retrace this crash with app/build/outputs/mapping/release/mapping.txt" or "Can I move to AGP 9.5 with my current Gradle version?"
Or run the tools yourself (Node.js 22.23.4 or newer; 26 LTS recommended):
npx androidboss tools
npx androidboss retrace --mapping @app/build/outputs/mapping/release/mapping.txt < crash.txt
npx androidboss check-compatibility --kotlin 2.4.0 --agp 9.5.1 --gradle 9.6.0
Tools
| CLI command | MCP tool | What it does |
|---|---|---|
retrace |
retrace |
Deobfuscates a stack trace with the mapping.txt from the same build. Output matches Google's retrace. |
json-to-kotlin |
json_to_kotlin |
Kotlin data classes from a JSON sample, for kotlinx.serialization, Moshi or Gson. |
check-compatibility |
check_compatibility |
Whether Kotlin, AGP, Gradle, KSP, Compose Multiplatform and compileSdk versions work together. |
android-cli-tasks |
android_cli_tasks |
What the Android CLI can do, and the fields each task takes. |
android-cli-command |
android_cli_command |
The exact Android CLI command for a task. |
crash-to-prompt |
crash_to_prompt |
A crash or ANR as a short, redacted prompt for an agent: root cause, files to open, trimmed trace. |
version-catalog |
version_catalog |
Moves a build file's dependencies and plugins into libs.versions.toml, lists newer stable versions, and can write them in (--use-latest). |
convert-vector |
convert_vector |
SVG, VectorDrawable and Compose ImageVector, in any direction. |
keep-rules |
keep_rules |
Writes R8 keep rules for reflection, JSON models and JNI, or lints proguard-rules.pro. |
expect-actual |
expect_actual |
actual declarations for each KMP target from commonMain expect code. |
kotlin-to-swift |
kotlin_to_swift |
How a shared Kotlin file looks when called from Swift. |
find-kmp-libraries |
find_kmp_libraries |
KMP libraries by task and target, with current versions and a ready libs.versions.toml. |
android-permissions |
android_permissions |
Permission facts, and a check of your AndroidManifest.xml. |
target-sdk-changes |
target_sdk_changes |
Behaviour changes between two targetSdk levels, flagged against your manifest. |
cheatsheet |
cheatsheet |
Tested commands and compiled snippets for adb, Gradle, the emulator, the Android CLI, coroutines and Flow, KMP Gradle, R8 keep rules, signing and simctl, searched by task, with your values filled in. |
All tools are read-only: they never write files, run commands or call other services.
Connect your agent
The hosted server speaks Streamable HTTP (MCP 2026-07-28, with a fallback for 2025 clients) and needs no sign-in. To run it on your own machine instead, use npx -y androidboss mcp as a stdio server; see the last entry.
claude mcp add --transport http androidboss https://mcp.androidboss.org/mcp
Or in .mcp.json:
{
"mcpServers": {
"androidboss": { "type": "http", "url": "https://mcp.androidboss.org/mcp" }
}
}
codex mcp add androidboss --url https://mcp.androidboss.org/mcp
Or in .codex/config.toml:
[mcp_servers.androidboss]
url = "https://mcp.androidboss.org/mcp"
In .gemini/settings.json:
{
"mcpServers": {
"androidboss": { "httpUrl": "https://mcp.androidboss.org/mcp" }
}
}
In .cursor/mcp.json:
{
"mcpServers": {
"androidboss": { "url": "https://mcp.androidboss.org/mcp" }
}
}
In .vscode/mcp.json:
{
"servers": {
"androidboss": { "type": "http", "url": "https://mcp.androidboss.org/mcp" }
}
}
In .agents/mcp_config.json:
{
"mcpServers": {
"androidboss": { "serverUrl": "https://mcp.androidboss.org/mcp" }
}
}
claude mcp add androidboss -- npx -y androidboss mcp
For agents configured in JSON, add a stdio server:
{
"mcpServers": {
"androidboss": { "command": "npx", "args": ["-y", "androidboss", "mcp"] }
}
}
https://androidboss.info/mcp serves the same tools from the same code, and keeps working for existing setups.
Command-line usage
androidboss <tool> [--option value]... [--json]
androidboss tools list the tools
androidboss help <tool> a tool's options
androidboss mcp run as a local MCP server over stdio
Options come from each tool's input schema, so the CLI and the MCP server always accept the same inputs.
| Syntax | Meaning | Example |
|---|---|---|
--name value |
An option, in kebab-case or camelCase | --target-sdk 36 |
@path |
Read the value from a file | --manifest @app/src/main/AndroidManifest.xml |
- |
Read the value from standard input | --manifest - |
| Piped input | Fills the tool's one missing required text option | androidboss retrace --mapping @mapping.txt < crash.txt |
a,b or repeated |
A list | --targets android,ios |
--key.sub value |
One key of an object option | --values.device pixel_9 |
--json |
Print the structured result instead of text | androidboss find-kmp-libraries --query ktor --json |
Exit codes: 0 success, 1 the tool reported an error, 2 a usage error (unknown option, missing value, unreadable file).
More examples:
# What changes when targetSdk goes to 36, checked against your manifest
npx androidboss target-sdk-changes --to 36 --manifest @app/src/main/AndroidManifest.xml
# Networking libraries that publish both Android and iOS targets
npx androidboss find-kmp-libraries --category networking --targets android,ios
# Exact, tested commands by task, with your package filled in
npx androidboss cheatsheet --query "logs one app" --values.package com.my.app
# Look up permissions and check a manifest for Play-restricted ones
npx androidboss android-permissions --names CAMERA,ACCESS_FINE_LOCATION --manifest @app/src/main/AndroidManifest.xml
Versions
| Component | Version |
|---|---|
androidboss CLI on npm |
0.4.2 |
| MCP server | 0.4.2, MCP spec 2026-07-28 with a fallback for 2025 clients |
| Node.js | 26 LTS recommended. Minimum 22.23.4; on the 24 line use 24.22.1 or newer, which include the October 2026 security fixes |
| Android CLI commands | Checked against Android CLI 1.1.16717390 (2 November 2026) |
| Kotlin, AGP and Gradle compatibility data | Copied from the official tables, re-checked 8 November 2026 |
| Newest library and plugin versions | 2,225 Google Maven artifacts, 108 Maven Central libraries and 26 Gradle plugins, read from the repositories on 8 November 2026 (npm run update:latest -w @androidboss/data) |
| Cheatsheets | 282 entries in 9 sheets. Commands checked against adb 37.0.1 (Android 17 emulator), Gradle 9.9 with AGP 9.5.1, emulator 37, build-tools 37.0.0, Android CLI 1.1.16717390 and Xcode 27; Kotlin snippets compiled with kotlinx.coroutines 1.11; keep rules run through R8; KMP Gradle snippets configured with Kotlin 2.4.21 and AGP 9.5.1 (re-checked on Gradle 9.9 and build-tools 37.0.0, 7 November 2026) |
Each release is listed with its changes on the Releases page.
Privacy and limits
- Nothing is stored. The hosted server handles each request in memory and keeps no database; request bodies aren't logged. The CLI runs entirely on your machine.
- Inputs are capped on the hosted server to stay within Cloudflare's free tier: a
mapping.txtup to 5 MB, most other inputs up to 100 KB, and a per-IP rate limit. The CLI accepts mapping files up to 100 MB. - Mind what you send.
crash_to_promptredacts emails, tokens and IP addresses, but review crash logs before sharing them with any service.
How it's built
packages/
core/ Tool logic in plain TypeScript. Runs in browsers, Node.js and Workers.
core/src/cheatsheets holds the cheatsheets and the tests that check every
command against the real tools (npm run test:cheatsheets -w @androidboss/core).
data/ Data the tools read: permissions, targetSdk changes, compatibility tables,
KMP libraries, Apple privacy keys, newest library versions. Refreshed from
the source by scripts/.
mcp/ The MCP server (15 tools) and its HTTP handler.
cli/ The npm package `androidboss`: the server as commands and as a stdio server.
apps/
mcp-worker/ mcp.androidboss.org on Cloudflare Workers.
The web tools at androidboss.info use core and data from this repository, so a fix here reaches the website, the MCP server and the CLI together.
Correctness comes from fixtures produced by the real tools. For example, packages/core/src/retrace/fixtures holds a mapping and stack traces from an R8 build together with the exact output of Google's retrace, and the implementation must reproduce it byte for byte.
Development
You need Node.js 26 LTS (the version in .nvmrc; with nvm, run nvm use). Node 22.23.4 or newer also works.
git clone https://github.com/androidboss-org/androidboss.git
cd androidboss
npm ci
npm test # unit tests for every package
npm run check # type checks
| Command | What it does |
|---|---|
npm test -w @androidboss/core |
Tests for one package |
npm run build -w androidboss |
Bundles the CLI into packages/cli/dist/androidboss.mjs |
node packages/cli/dist/androidboss.mjs tools |
Runs your local build of the CLI |
npm run dev -w @androidboss/mcp-worker |
Serves the MCP Worker at http://localhost:8787/mcp |
MCP_URL=http://localhost:8787/mcp npm test -w @androidboss/mcp |
Runs the MCP client tests against a running server |
Some tests compile or run generated code with real toolchains. They're skipped unless you turn them on:
| Variable | Needs | Checks |
|---|---|---|
CHECK_GRADLE=1 |
Gradle ($GRADLE or a wrapper download); macOS, Android SDK and Xcode for the KMP libraries |
Version catalogs compile with Gradle; every KMP library compiles for Android, iOS and JVM |
CHECK_KMP=1 |
Gradle, Android SDK, Xcode | expect/actual stubs compile for every target; generated Swift type-checks with swiftc |
CHECK_ANDROID=1 |
Android SDK, Gradle | VectorDrawables through aapt2; ImageVector and themes through the Kotlin and Compose compilers |
CHECK_ANDROID_CLI=1 |
Android CLI | Every Android CLI command against the installed CLI |
CHECK_GRADLE=1 npm test -w @androidboss/core
Contributing
Bug reports, fixes and new tools are welcome. For questions, ideas and show-and-tell, use GitHub Discussions. The contributing guide has the details, and everyone taking part follows the Code of Conduct.
- Open an issue first for anything bigger than a small fix, so we can agree on the approach. For a wrong result, include the input, the output you expected and the tool that produced it.
- Keep tools deterministic and read-only. The same input must give the same output, with no network calls.
- Prove it against the real tool. A change to output needs a test, ideally with a fixture produced by the official toolchain, like the existing ones.
- Run
npm testandnpm run checkbefore opening a pull request. CI runs both.
Data in packages/data comes from the update scripts in packages/data/scripts; change the script rather than editing the generated JSON by hand.
Releases
Each release has a vX.Y.Z tag matching the version in packages/cli/package.json. Pushing the tag runs the release workflow, which tests the project, publishes the CLI to npm through trusted publishing with provenance (no stored tokens; npm shows which commit and workflow built it), and creates a GitHub Release with the package tarball.
Security
Please don't report security problems in public issues. Use private vulnerability reporting instead; see the security policy.
Support the project
If AndroidBoss saves you time:
- ⭐ Star the repository so other Android developers can find it.
- ☕ Sponsor the work with the Sponsor button at the top of the repository.
- 🛠️ Report a wrong result or send a fix. Real-world inputs make the tools better.
- 💬 Share how you use it in Discussions.
The project is non-commercial: no ads, no paid plans. Donations only help cover hosting and domains.
Licence
MIT © AndroidBoss
The CLI bundles third-party packages under their own licences, listed in dist/THIRD-PARTY-LICENSES.txt inside the npm package.
Trademarks
Android is a trademark of Google LLC. Google Play is a trademark of Google LLC. Apple, App Store, iOS, Swift and Xcode are trademarks of Apple Inc., registered in the U.S. and other countries and regions. Kotlin® is a trademark protected by the Kotlin Foundation. Gradle is a trademark of Gradle, Inc. Other names belong to their owners and are used only to say which products the tools work with.
AndroidBoss is not affiliated with or endorsed by Google, Apple, JetBrains or the Kotlin Foundation, and uses none of their logos. If you own a trademark used here and have a concern, please email legal@androidboss.info or open an issue: we'll reply within 7 days and, at your request, change the content, rename the project or take it offline, and transfer the domains to you free of charge. Details: Legal and trademarks.
androidboss MCP 질문
androidboss MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add androidboss -- npx -y androidboss를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
androidboss MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
androidboss MCP는 어떤 도구를 제공하나요?
15개 도구를 제공합니다. 예: retrace, json-to-kotlin, check-compatibility, android-cli-tasks, android-cli-command.
retrace 도구로 무엇을 할 수 있나요?
동일한 빌드에서 생성된 mapping.txt 파일을 사용하여 스택 트레이스의 난독화를 해제하며, Google의 retrace와 일치하는 결과물을 생성합니다.
서버가 제 데이터를 저장하나요?
아니요, 호스팅된 서버는 데이터베이스 없이 메모리 내에서 요청을 처리하며 요청 본문을 로그로 남기지 않습니다.
민감한 정보와 함께 사용해도 안전한가요?
crash_to_prompt 도구가 이메일, 토큰, IP 주소를 마스킹하지만, 로그를 공유하기 전에 항상 직접 검토해야 합니다.
이 서버를 로컬에서 실행할 수 있나요?
네, npx -y androidboss mcp 명령어를 사용하여 로컬 stdio 서버로 실행할 수 있습니다.