scrcpy-agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANDROID_DEVICE_MCP_CONFIG | No | Path to a JSON configuration file. Without it, conservative defaults are used. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| device_listA | List connected Android devices and their ADB authorization states. |
| device_infoA | Return normalized information for the selected device. |
| mirror_statusA | Return the status of the server-owned scrcpy process. |
| screen_captureA | Capture a validated PNG screenshot from the selected device. |
| ui_dumpB | Capture and normalize the selected device UIAutomator hierarchy. |
| ui_findA | Find matching elements in a fresh or retained UI snapshot. |
| app_listC | List bounded package metadata from the selected device. |
| app_infoA | Inspect metadata for an allowlisted package. |
| permissions_listA | List requested and granted runtime permissions for an allowlisted package. |
| logcat_captureA | Capture bounded, filtered, and redacted logcat output. |
| logcat_crashesA | Return bounded recent crash and ANR evidence for an allowlisted package. |
| device_selectB | Select one authorized Android device by exact serial. |
| mirror_startC | Start a visible server-owned scrcpy mirror for the selected device. |
| mirror_stopB | Stop only the server-owned scrcpy mirror. |
| ui_tapC | Tap one uniquely resolved visible semantic UI element and verify the result. |
| screen_tapC | Tap validated native device-pixel coordinates as a fallback. |
| screen_swipeC | Perform a bounded native coordinate or deterministic directional swipe. |
| screen_long_pressC | Perform a bounded stationary long press. |
| key_pressC | Press an allowlisted Android testing key. |
| text_typeA | Type safe printable ASCII test text into the focused field; never use for secrets. |
| app_launchA | Launch an allowlisted package and verify it becomes foreground. |
| app_stopC | Force-stop an allowlisted package. |
| wait_for_uiB | Poll for a bounded UI, foreground, disappearance, or screen-change condition. |
| app_installC | Approval-required installation of an APK under an allowed host root. |
| app_clear_dataA | Approval-required irreversible clearing of local data for an allowlisted test package. |
| permissions_setB | Approval-required grant or revoke of a requested runtime permission. |
| evidence_beginC | Begin a sanitized, bounded local evidence session. |
| evidence_noteB | Add a redacted note to the active evidence session. |
| evidence_finishA | Finish the active evidence session and write its summary. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EF-Code/android-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server