Skip to main content
Glama

manage_app

Inspect, stop, restart, and clear Android app data, or attempt to grant declared runtime permissions for a target package.

Instructions

应用生命周期与权限管理工具(信息、停止、重启、清空数据、逐项尝试授予运行时权限)。

Input Schema

NameRequiredDescriptionDefault
actionNo操作类型: - 'info': 查看版本名、versionCode、APK路径、UID、进程PID、签名与组件信息 - 'stop': 强行停止应用 (am force-stop) - 'restart': 强杀并重新冷启动应用 - 'clear_data': 清空应用数据与缓存 (pm clear) - 'grant_all_permissions': 尝试授予已声明的危险运行时权限,逐项返回结果;特殊权限需 app_permissions 明确设置info
packageYes目标应用包名

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description alone must carry the behavioral burden. It does not disclose that stop is a force-stop, that clear_data irreversibly wipes data and cache, that restart is a cold restart, or that grant_all_permissions may partially succeed, with special permissions being out of scope. The only hint of destructiveness is the word '清空数据' in the parenthetical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short parenthetical sentence with no wasted prose, and its core nouns lead. However, it duplicates the schema's action list instead of front-loading the higher-value information, such as the destructive nature of clear_data or when to prefer a sibling tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the 2-parameter schema is fully documented. But for a tool that can force-stop, cold-restart, and irreversibly wipe an app with zero annotations, the description omits the risk and side-effect information that an agent would need before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every action is documented in detail at the parameter level, including per-action semantics. The description adds nothing about package format, defaults, or action interactions that the schema does not already state, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names a specific resource (app) and enumerates the five operations (info, stop, restart, clear_data, grant permissions), so the general purpose is discernible. But the enumeration simply reproduces what the schema already declares, and it never distinguishes the tool from close siblings such as app_action or app_permissions, which overlap heavily with lifecycle and permission work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statements, no preconditions, and no explicit exclusions. The agent must infer that this tool should be chosen over app_permissions for granting or app_data_archive or inspect_app_data for data-related tasks; the description gives no guidance on that choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.