# take_screenshot

Capture screenshot of current page/screen

Agent View of the PolicyLayer registry record for `take_screenshot`. HTML page: https://policylayer.com/tools/android/take-screenshot

## Facts

- Tool: `take_screenshot`
- Server: Android (`@midscene/android-mcp`) — https://policylayer.com/tools/android.md
- Install: `npx -y @midscene/android-mcp`
- Homepage: https://www.npmjs.com/package/@midscene/android-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 6
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `android.deviceId` | string | no | Android device ID (from adb devices) |
| `android.useScrcpy` | boolean | no | Enable scrcpy accelerated screenshots |
| `android.aiActContext` | string | no | Background knowledge passed to aiAct. Default: no extra context. |
| `android.waitAfterAction` | number | no | Wait time in milliseconds after each action execution. Default: 300ms. |
| `android.replanningCycleLimit` | integer | no | Maximum number of replanning cycles for aiAct. Default: model adapter default. |
| `android.screenshotShrinkFactor` | number | no | Screenshot shrink factor before sending images to AI. Default: 1; high values may reduce recognition quality, especially on mobile. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "take_screenshot",
    "arguments": {}
  }
}
```

## Why take_screenshot is rated Low

This tool captures visual data from the Android screen without modifying, executing, or deleting anything. It is a passive observation operation with no lasting impact beyond reading the current state.

From the tool's own definition: "Tool name 'take_screenshot' and description 'Capture screenshot of current page/screen' indicate data retrieval with no modifications or side effects."

## Use case

AI agents call take_screenshot to retrieve information from Android without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Android:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "take_screenshot": {}
  }
}
```

## Other tools on Android (22)

- `ClearInput` — Destructive — https://policylayer.com/tools/android/clearinput.md
- `act` — Execute — https://policylayer.com/tools/android/act.md
- `android_connect` — Execute — https://policylayer.com/tools/android/android-connect.md
- `AndroidBackButton` — Execute — https://policylayer.com/tools/android/androidbackbutton.md
- `AndroidHomeButton` — Execute — https://policylayer.com/tools/android/androidhomebutton.md
- `AndroidRecentAppsButton` — Execute — https://policylayer.com/tools/android/androidrecentappsbutton.md
- `CursorMove` — Execute — https://policylayer.com/tools/android/cursormove.md
- `DoubleClick` — Execute — https://policylayer.com/tools/android/doubleclick.md
- `DragAndDrop` — Execute — https://policylayer.com/tools/android/draganddrop.md
- `KeyboardPress` — Execute — https://policylayer.com/tools/android/keyboardpress.md
- `Launch` — Execute — https://policylayer.com/tools/android/launch.md
- `LongPress` — Execute — https://policylayer.com/tools/android/longpress.md
- `Pinch` — Execute — https://policylayer.com/tools/android/pinch.md
- `PullGesture` — Execute — https://policylayer.com/tools/android/pullgesture.md
- `RunAdbShell` — Execute — https://policylayer.com/tools/android/runadbshell.md
- `Scroll` — Execute — https://policylayer.com/tools/android/scroll.md
- `Swipe` — Execute — https://policylayer.com/tools/android/swipe.md
- `Tap` — Execute — https://policylayer.com/tools/android/tap.md
- `Terminate` — Execute — https://policylayer.com/tools/android/terminate.md
- `android_disconnect` — Write — https://policylayer.com/tools/android/android-disconnect.md
- `assert` — Write — https://policylayer.com/tools/android/assert.md
- `Input` — Write — https://policylayer.com/tools/android/input.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=android · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/android
