Skip to main content
Glama

query_system_provider

Extracts Android notifications, SMS messages, and clipboard contents through root-level ContentProvider queries, and can write clipboard text or query custom URIs without opening app interfaces.

Instructions

【后台零界面取证工具】无需下拉通知栏或打开短信 App,直接通过 Root 提取通知栏消息、短信验证码或读写系统剪贴板。

Input Schema

NameRequiredDescriptionDefault
sourceNo数据源类型: - 'notifications': 抓取当前系统通知栏所有未读通知详情(含验证码、推送标题与正文) - 'sms': 直接读取短信收件箱最新消息 - 'clipboard_get': 读取当前手机剪贴板文本 - 'clipboard_set': 写入文本到手机剪贴板 - 'custom_uri': 查询自定义 ContentProvider URInotifications
value_or_uriNo当 source='clipboard_set' 时为要写入的文本;当 source='custom_uri' 时为 content://... 路径

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations supplied, the description must carry the behavioral load; it does disclose the important Root prerequisite and that the operation is UI-free/background, which is real added value. It does not warn that 'clipboard_set' overwrites existing clipboard content, nor what happens if Root is unavailable or the source is empty.

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

Conciseness4/5

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

A single front-loaded sentence with a bracket tag identifying the tool class, followed by the concrete extraction targets. Nothing is wasted, though it is dense and omits the write-side behavior of the clipboard operation.

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?

The tool is small (2 optional params, full schema coverage, output schema present), so return values need no explanation. The remaining gaps are behavioral: no mention of Root failure handling, permission implications, or the mutating nature of clipboard_set, which matters for a forensics tool an agent may invoke autonomously.

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%, with every enum value of 'source' and the dual meaning of 'value_or_uri' already documented in the schema. The description only restates the source categories at a high level, adding no format, constraint, or interaction detail beyond the schema; baseline 3 applies.

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

Purpose4/5

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

The description names a specific capability set — extracting notifications, SMS verification codes, and reading/writing the clipboard through Root without touching the UI — which is far more concrete than the name alone. It stops short of differentiating itself from plausible siblings such as content_provider or inspect_app_data, which also read device-side data.

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

Usage Guidelines3/5

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

The phrase '无需下拉通知栏或打开短信 App' implies the scenario (headless background collection where UI interaction is undesirable), so an agent can infer when this is preferable to tap_element or app_action flows. However, no explicit when-not conditions, prerequisites (Root availability), or tool-alternative routing are stated.

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