Deepadb MCP Server

deepadb npm v1.1.4

Published by an unidentified publisher — no publish provenance and no public repository, so the publisher could not be verified and the source cannot be independently located.

DeepADB — full-featured Android Debug Bridge MCP server. 204 tools across 45 modules for device inspection from UI to baseband.

Trust grade
A
91/100
Last scanned get badge →
Trust
A · 91/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
High
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 99 − adoption risk = 91/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 1.2 = 99. What the published surface and source actually contain:

PointsWhat was foundCategory
−1.2 Shell command embedded in tool metadata MTC-INJ-CMD-1 injection

2. Client adoption risk — 99 − 8 = 91. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−6 capability blast radius (high) — client exposure if the model is manipulated
−2 publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 18

high Sensitive-source and external-sink co-existMTC-FLOW-004

Tools that read sensitive data ([adb_a11y_tree, adb_carrier_config, adb_heap_dump, adb_ls, adb_notifications, adb_list_permissions, adb_ui_dump]) and tools that can send data out ([adb_multi_shell, adb_qemu_guest_shell, adb_shell, adb_root_shell]) are exposed together. An agent can move private data to the sink.

Evidence: sources [adb_a11y_tree, adb_carrier_config, adb_heap_dump, adb_ls, adb_notifications, adb_list_permissions, adb_ui_dump] → sinks [adb_multi_shell, adb_qemu_gues

Fix: Keep secret-reading and egress capabilities on separate, separately-approved servers.

Location: flow adb_a11y_tree → adb_multi_shell

high Tool "adb_multi_shell" exposes command/code executionMTC-CAP-001

Tool "adb_multi_shell" appears to run shell commands or evaluate code (keyword "shell" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.

Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.

Location: tool adb_multi_shell

high Tool "adb_qemu_guest_shell" exposes command/code executionMTC-CAP-001

Tool "adb_qemu_guest_shell" appears to run shell commands or evaluate code (keyword "shell" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.

Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.

Location: tool adb_qemu_guest_shell

high Tool "adb_shell" exposes command/code executionMTC-CAP-001

Tool "adb_shell" appears to run shell commands or evaluate code (keyword "shell" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.

Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.

Location: tool adb_shell

high Tool "adb_root_shell" exposes command/code executionMTC-CAP-001

Tool "adb_root_shell" appears to run shell commands or evaluate code (keyword "shell" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.

Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.

Location: tool adb_root_shell

high Shell/command execution in server code (build/bridge/adb-bridge.js)MTC-SRC-002

In the server's implementation (`build/bridge/adb-bridge.js:10`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: execFile, spawn } from "child_process"; import { config } from "../config/config.js"; import { shellQuote } from "../mid

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/bridge/adb-bridge.js

high Shell/command execution in server code (build/bridge/local-bridge.js)MTC-SRC-002

In the server's implementation (`build/bridge/local-bridge.js:16`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: pawn, spawnSync } from "child_process"; import { existsSync } from "fs"; import { AdbBridge, AdbError } from "./adb-brid

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/bridge/local-bridge.js

high Shell/command execution in server code (build/tools/device-farm.js)MTC-SRC-002

In the server's implementation (`build/tools/device-farm.js:12`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: port { execFile } from "child_process"; import { OutputProcessor } from "../middleware/output-processor.js"; function ex

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/device-farm.js

high Shell/command execution in server code (build/tools/emulator.js)MTC-SRC-002

In the server's implementation (`build/tools/emulator.js:10`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: execFile, spawn } from "child_process"; import { platform } from "os"; import { existsSync } from "fs"; import { OutputP

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/emulator.js

high Shell/command execution in server code (build/tools/mirroring.js)MTC-SRC-002

In the server's implementation (`build/tools/mirroring.js:15`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: spawn, execFile } from "child_process"; import { platform } from "os"; import { existsSync } from "fs"; import { isWithi

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/mirroring.js

high Shell/command execution in server code (build/tools/qemu.js)MTC-SRC-002

In the server's implementation (`build/tools/qemu.js:23`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: pawn, spawnSync } from "child_process"; import { OutputProcessor } from "../middleware/output-processor.js"; import { is

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/qemu.js

medium Dynamic module load from a non-literal (build/tools/plugins.js)MTC-SRC-005

In the server's implementation (`build/tools/plugins.js:85`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: const mod = await import(moduleUrl); if (typeof mod.register === "function") { mod.reg

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/plugins.js

low Mutating tool "adb_multi_shell" declares no destructiveHintMTC-CAP-005

Tool "adb_multi_shell" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool adb_multi_shell

low Mutating tool "adb_qemu_guest_shell" declares no destructiveHintMTC-CAP-005

Tool "adb_qemu_guest_shell" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool adb_qemu_guest_shell

low Mutating tool "adb_shell" declares no destructiveHintMTC-CAP-005

Tool "adb_shell" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool adb_shell

low Mutating tool "adb_root_shell" declares no destructiveHintMTC-CAP-005

Tool "adb_root_shell" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool adb_root_shell

low Shell command embedded in tool metadataMTC-INJ-CMD-1

Shell command embedded in tool metadata detected in the description of tool "adb_rm". Instruction-like content in tool metadata is executed by the model, not the human, and is the primary tool-poisoning vector.

Evidence: rm -rf

Fix: Tool descriptions should describe behavior, not instruct the assistant. Treat imperative / secrecy / sequencing language in metadata as hostile.

Location: tool adb_rm · description

low Shell/command execution in packaging/dev tooling (build/tools/build.js)MTC-SRC-002

In a packaging/dev/install script (shipped, but not the server runtime) (`build/tools/build.js:7`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: port { execFile } from "child_process"; import { existsSync } from "fs"; import { join } from "path"; import { platform

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/build.js

Tools 200

Each tool and what it can reach — statically extracted from the published source.

  • adb_a11y_treereads sensitive data
  • adb_carrier_configreads sensitive data
  • adb_heap_dumpreads sensitive data
  • adb_list_permissionsreads sensitive data
  • adb_lsreads sensitive data
  • adb_multi_shellruns code / shell
  • adb_notificationsreads sensitive data
  • adb_qemu_guest_shellruns code / shell
  • adb_root_shellruns code / shell
  • adb_shellruns code / shell
Show 190 more tools ↓
  • adb_ui_dumpreads sensitive data
  • adb_a11y_auditno sensitive capability
  • adb_a11y_touch_targetsno sensitive capability
  • adb_airplane_cycleno sensitive capability
  • adb_airplane_modeno sensitive capability
  • adb_apex_listno sensitive capability
  • adb_app_route_contextno sensitive capability
  • adb_at_batchno sensitive capability
  • adb_at_cross_validateno sensitive capability
  • adb_at_detectno sensitive capability
  • adb_at_probeno sensitive capability
  • adb_at_sendno sensitive capability
  • adb_avd_listno sensitive capability
  • adb_baseband_infono sensitive capability
  • adb_batch_actionsno sensitive capability
  • adb_batteryno sensitive capability
  • adb_bluetooth_firmwareno sensitive capability
  • adb_bugreportno sensitive capability
  • adb_build_and_installno sensitive capability
  • adb_catno sensitive capability
  • adb_cell_identityno sensitive capability
  • adb_ci_device_readyno sensitive capability
  • adb_ci_run_testsno sensitive capability
  • adb_ci_wait_bootno sensitive capability
  • adb_clear_datano sensitive capability
  • adb_clipboardno sensitive capability
  • adb_crash_logsno sensitive capability
  • adb_current_activityno sensitive capability
  • adb_device_infono sensitive capability
  • adb_device_stateno sensitive capability
  • adb_devicesno sensitive capability
  • adb_dumpsysno sensitive capability
  • adb_emulator_startno sensitive capability
  • adb_emulator_stopno sensitive capability
  • adb_extract_apksno sensitive capability
  • adb_farm_matrixno sensitive capability
  • adb_farm_resultsno sensitive capability
  • adb_farm_runno sensitive capability
  • adb_file_checksumno sensitive capability
  • adb_file_chmodno sensitive capability
  • adb_file_chownno sensitive capability
  • adb_file_copyno sensitive capability
  • adb_file_fsinfono sensitive capability
  • adb_file_moveno sensitive capability
  • adb_file_replaceno sensitive capability
  • adb_file_statno sensitive capability
  • adb_file_touchno sensitive capability
  • adb_file_writeno sensitive capability
  • adb_findno sensitive capability
  • adb_firmware_diffno sensitive capability
  • adb_firmware_historyno sensitive capability
  • adb_firmware_probeno sensitive capability
  • adb_force_stopno sensitive capability
  • adb_forwardno sensitive capability
  • adb_forward_listno sensitive capability
  • adb_forward_removeno sensitive capability
  • adb_getpropno sensitive capability
  • adb_gps_firmwareno sensitive capability
  • adb_gradleno sensitive capability
  • adb_grant_permissionno sensitive capability
  • adb_grepno sensitive capability
  • adb_health_checkno sensitive capability
  • adb_iio_readno sensitive capability
  • adb_inputno sensitive capability
  • adb_input_double_tapno sensitive capability
  • adb_input_dragno sensitive capability
  • adb_input_flingno sensitive capability
  • adb_input_long_pressno sensitive capability
  • adb_input_pinchno sensitive capability
  • adb_input_textno sensitive capability
  • adb_installno sensitive capability
  • adb_install_bundleno sensitive capability
  • adb_list_packagesno sensitive capability
  • adb_list_splitsno sensitive capability
  • adb_locationno sensitive capability
  • adb_logcatno sensitive capability
  • adb_logcat_clearno sensitive capability
  • adb_logcat_crashno sensitive capability
  • adb_logcat_pollno sensitive capability
  • adb_logcat_sessionsno sensitive capability
  • adb_logcat_startno sensitive capability
  • adb_logcat_stopno sensitive capability
  • adb_mirror_startno sensitive capability
  • adb_mirror_statusno sensitive capability
  • adb_mirror_stopno sensitive capability
  • adb_mkdirno sensitive capability
  • adb_mobile_datano sensitive capability
  • adb_modem_logsno sensitive capability
  • adb_multi_compareno sensitive capability
  • adb_multi_installno sensitive capability
  • adb_multi_testno sensitive capability
  • adb_neighboring_cellsno sensitive capability
  • adb_networkno sensitive capability
  • adb_network_auto_connectno sensitive capability
  • adb_network_connectionsno sensitive capability
  • adb_network_device_ipno sensitive capability
  • adb_network_scanno sensitive capability
  • adb_nfc_firmwareno sensitive capability
  • adb_open_urlno sensitive capability
  • adb_orientationno sensitive capability
  • adb_ota_checkno sensitive capability
  • adb_ota_fingerprintno sensitive capability
  • adb_ota_historyno sensitive capability
  • adb_package_infono sensitive capability
  • adb_perf_snapshotno sensitive capability
  • adb_permission_auditno sensitive capability
  • adb_plugin_infono sensitive capability
  • adb_plugin_listno sensitive capability
  • adb_profile_detectno sensitive capability
  • adb_profile_listno sensitive capability
  • adb_profile_saveno sensitive capability
  • adb_pullno sensitive capability
  • adb_pushno sensitive capability
  • adb_qemu_connectno sensitive capability
  • adb_qemu_disconnectno sensitive capability
  • adb_qemu_imagesno sensitive capability
  • adb_qemu_setupno sensitive capability
  • adb_qemu_startno sensitive capability
  • adb_qemu_statusno sensitive capability
  • adb_qemu_stopno sensitive capability
  • adb_rebootno sensitive capability
  • adb_registry_installno sensitive capability
  • adb_registry_installedno sensitive capability
  • adb_registry_searchno sensitive capability
  • adb_regression_baselineno sensitive capability
  • adb_regression_checkno sensitive capability
  • adb_regression_historyno sensitive capability
  • adb_resolve_intentsno sensitive capability
  • adb_restart_appno sensitive capability
  • adb_result_dropno sensitive capability
  • adb_result_getno sensitive capability
  • adb_result_listno sensitive capability
  • adb_reverseno sensitive capability
  • adb_reverse_removeno sensitive capability
  • adb_revoke_permissionno sensitive capability
  • adb_ril_pollno sensitive capability
  • adb_ril_startno sensitive capability
  • adb_ril_stopno sensitive capability
  • adb_rmno sensitive capability
  • adb_runtime_auditno sensitive capability
  • adb_screenno sensitive capability
  • adb_screen_sizeno sensitive capability
  • adb_screen_stateno sensitive capability
  • adb_screencapno sensitive capability
  • adb_screencap_annotatedno sensitive capability
  • adb_screenrecord_startno sensitive capability
  • adb_screenrecord_stopno sensitive capability
  • adb_screenshot_baselineno sensitive capability
  • adb_screenshot_compressedno sensitive capability
  • adb_screenshot_diffno sensitive capability
  • adb_screenshot_historyno sensitive capability
  • adb_scroll_untilno sensitive capability
  • adb_selinux_denialsno sensitive capability
  • adb_selinux_statusno sensitive capability
  • adb_sensor_readno sensitive capability
  • adb_settings_getno sensitive capability
  • adb_settings_putno sensitive capability
  • adb_shannon_sessionno sensitive capability
  • adb_signal_detailno sensitive capability
  • adb_snapshot_captureno sensitive capability
  • adb_snapshot_compareno sensitive capability
  • adb_snapshot_restore_settingsno sensitive capability
  • adb_sqlite_inspectno sensitive capability
  • adb_start_activityno sensitive capability
  • adb_start_appno sensitive capability
  • adb_tap_elementno sensitive capability
  • adb_tcpdump_startno sensitive capability
  • adb_tcpdump_stopno sensitive capability
  • adb_telephonyno sensitive capability
  • adb_test_gen_from_intentsno sensitive capability
  • adb_test_gen_from_uino sensitive capability
  • adb_test_gen_saveno sensitive capability
  • adb_test_session_endno sensitive capability
  • adb_test_session_startno sensitive capability
  • adb_test_stepno sensitive capability
  • adb_thermal_compareno sensitive capability
  • adb_thermal_snapshotno sensitive capability
  • adb_topno sensitive capability
  • adb_tunnel_closeno sensitive capability
  • adb_tunnel_listno sensitive capability
  • adb_tunnel_openno sensitive capability
  • adb_ui_findno sensitive capability
  • adb_uninstallno sensitive capability
  • adb_wait_elementno sensitive capability
  • adb_wait_stableno sensitive capability
  • adb_wear_datalayer_preflightno sensitive capability
  • adb_wifino sensitive capability
  • adb_wifi_firmwareno sensitive capability
  • my_custom_toolno sensitive capability
  • my_toolno sensitive capability

Toxic flows 1

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 2

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v1.1.4 latest A 91/100 18 1.13.0 2026-09-07
v1.1.3 A 91/100 18 1.13.0 2026-08-30

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 91/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/deepadb/badge.svg)](https://mcptrustchecker.com/registry/deepadb)
HTML
<a href="https://mcptrustchecker.com/registry/deepadb"><img src="https://mcptrustchecker.com/registry/deepadb/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/deepadb/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan deepadb --online

Use the free API → How scoring works

More in Developer Tools