io.github.cyanheads/reliefweb-mcp-server
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
Crawler Summary
MCP server for Android device control via ADB and scrcpy — gives AI agents vision and control over Android devices scrcpy-mcp MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Connect any MCP-compatible AI assistant (Claude Code, OpenCode, Cursor, VS Code Copilot, etc.) to your Android device. The AI can see the screen, tap, swipe, type, launch apps, inspect UI elements, transfer files, and run shell commands. Features - **34 tools** covering screenshots, input, apps, UI automation, Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
scrcpy-mcp is best for mcp, mcp-server, android workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
MCP server for Android device control via ADB and scrcpy — gives AI agents vision and control over Android devices scrcpy-mcp MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Connect any MCP-compatible AI assistant (Claude Code, OpenCode, Cursor, VS Code Copilot, etc.) to your Android device. The AI can see the screen, tap, swipe, type, launch apps, inspect UI elements, transfer files, and run shell commands. Features - **34 tools** covering screenshots, input, apps, UI automation,
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Juancf
Artifacts
0
Benchmarks
0
Last release
0.1.9
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/JuanCF/scrcpy-mcp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Juancf
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Run directly with npx (no install needed) npx scrcpy-mcp # Or install globally npm install -g scrcpy-mcp
bash
claude mcp add android -- npx scrcpy-mcp
json
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}json
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}json
{
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}json
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for Android device control via ADB and scrcpy — gives AI agents vision and control over Android devices scrcpy-mcp MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Connect any MCP-compatible AI assistant (Claude Code, OpenCode, Cursor, VS Code Copilot, etc.) to your Android device. The AI can see the screen, tap, swipe, type, launch apps, inspect UI elements, transfer files, and run shell commands. Features - **34 tools** covering screenshots, input, apps, UI automation,
MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy.
Connect any MCP-compatible AI assistant (Claude Code, OpenCode, Cursor, VS Code Copilot, etc.) to your Android device. The AI can see the screen, tap, swipe, type, launch apps, inspect UI elements, transfer files, and run shell commands.
ui_find_element returns tap coordinates so the AI can act on what it sees| Requirement | Install | Verify |
|-------------|---------|--------|
| Node.js 18+ | nodejs.org or nvm install 18 | node --version |
| ADB (Android Platform Tools) | developer.android.com/tools/releases/platform-tools | adb version |
| Android device with USB debugging | Settings → Developer Options → USB Debugging | adb devices |
| Requirement | Install | Benefit |
|-------------|---------|---------|
| scrcpy | github.com/Genymobile/scrcpy | 10-50x faster input, ~33ms screenshots |
| ffmpeg | apt install ffmpeg / brew install ffmpeg | Required for scrcpy video stream decoding |
adb devices should show your device as device (not unauthorized)# Run directly with npx (no install needed)
npx scrcpy-mcp
# Or install globally
npm install -g scrcpy-mcp
claude mcp add android -- npx scrcpy-mcp
Or add to .mcp.json in your project root:
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}
Add to .mcp.json:
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}
Settings → MCP → Add Server:
{
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
Edit ~/.config/Claude/claude_desktop_config.json (Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"android": {
"command": "npx",
"args": ["scrcpy-mcp"]
}
}
}
| Tool | Description |
|------|-------------|
| start_session | Start a scrcpy session. When active, input and screenshots use the fast path (10-50x faster). |
| stop_session | Stop the scrcpy session. Tools fall back to ADB. |
| Tool | Description |
|------|-------------|
| device_list | List all connected devices with serial, state, and model |
| device_info | Get model, Android version, screen size, SDK level, battery |
| screen_on | Wake the device screen |
| screen_off | Turn the screen off |
| rotate_device | Rotate the screen (requires active session) |
| expand_notifications | Pull down the notification panel (requires active session) |
| expand_settings | Pull down the quick settings panel (requires active session) |
| collapse_panels | Collapse notification/settings panels (requires active session) |
| Tool | Description |
|------|-------------|
| screenshot | Capture the screen and return it as an image. ~33ms with scrcpy, ~500ms via ADB. |
| screen_record_start | Start recording the screen to a file on the device |
| screen_record_stop | Stop recording and optionally pull the file to the host |
All input tools use scrcpy (~5-10ms) when a session is active, otherwise fall back to ADB (~100-300ms).
| Tool | Description |
|------|-------------|
| tap | Tap at screen coordinates |
| swipe | Swipe from one point to another |
| long_press | Long press at coordinates |
| drag_drop | Drag from one point to another |
| input_text | Type a text string into the focused field |
| key_event | Send a key event: HOME, BACK, ENTER, VOLUME_UP, VOLUME_DOWN, POWER, etc. |
| scroll | Scroll at a position (dx=horizontal, dy=vertical) |
| Tool | Description |
|------|-------------|
| app_start | Launch an app by package name. Prefix with + to force-stop before launch. |
| app_stop | Force-stop an app |
| app_install | Install an APK from the host machine |
| app_uninstall | Uninstall an app |
| app_list | List installed packages, optionally filter by name or system/third-party |
| app_current | Get the current foreground app and activity |
| Tool | Description |
|------|-------------|
| ui_dump | Dump the full UI hierarchy as XML |
| ui_find_element | Find elements by text, resource ID, class name, or content description. Returns tap coordinates. |
| Tool | Description |
|------|-------------|
| shell_exec | Execute an arbitrary ADB shell command and return the output |
| file_push | Push a file from the host machine to the device |
| file_pull | Pull a file from the device to the host machine |
| file_list | List directory contents on the device |
| Tool | Description |
|------|-------------|
| clipboard_get | Get clipboard content. Uses scrcpy to bypass Android 10+ restrictions. |
| clipboard_set | Set clipboard content. Pass paste: true to also paste immediately. |
| Operation | scrcpy (session active) | ADB fallback | |-----------|------------------------|--------------| | Screenshot | ~33ms | ~500ms | | Tap / Swipe | ~5-10ms | ~100-300ms | | Text input | ~5ms | ~100-300ms | | Clipboard | ~10ms | unreliable on Android 10+ |
Start a session once at the beginning to unlock the fast path:
start_session → take screenshots → tap → swipe → ...
| Variable | Default | Description |
|----------|---------|-------------|
| ADB_PATH | adb | Path to the ADB binary |
| ANDROID_SERIAL | (none) | Default device serial, overrides auto-detection |
| SCRCPY_SERVER_PATH | (auto) | Path to the scrcpy-server binary |
| SCRCPY_SERVER_VERSION | (auto) | Version of the scrcpy-server binary |
| FFMPEG_PATH | ffmpeg | Path to the ffmpeg binary |
When only one device is connected, tools auto-detect it. With multiple devices, pass the serial parameter explicitly or set ANDROID_SERIAL.
adb devices shows unauthorized
Accept the RSA fingerprint prompt on the device. If the prompt doesn't appear, revoke USB debugging authorizations in Developer Options and reconnect.
start_session fails
Make sure scrcpy is installed and the scrcpy-server binary is accessible. Set SCRCPY_SERVER_PATH if it's in a non-standard location.
Screenshots are slow (~500ms)
Start a scrcpy session with start_session to enable the fast video stream path. Requires scrcpy and ffmpeg.
expand_notifications / expand_settings / collapse_panels fail
These tools require an active scrcpy session. Run start_session first.
Clipboard doesn't work on Android 10+ ADB clipboard access is restricted on Android 10+. Start a scrcpy session — the scrcpy clipboard protocol bypasses this restriction.
Multiple devices connected
Pass serial to each tool or set the ANDROID_SERIAL environment variable.
This server provides full control over connected Android devices. The shell_exec tool can run arbitrary commands, and file_push/file_pull can read and write any file accessible to the shell user.
MIT — see LICENSE
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/contract"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
One-call market verdict, plus funding, open interest, execution cost, volatility and macro
google search: google web search api, web, images, videos, news, music, favicon, proxy, audio.
63 production tools for AI agents — one API key, pay per call in USDC (x402) or Stripe credits.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-10-09T14:01:48.136Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp-server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "android",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "adb",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "scrcpy",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "automation",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mobile",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "screen-control",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:mcp-server|supported|profile capability:android|supported|profile capability:adb|supported|profile capability:scrcpy|supported|profile capability:model-context-protocol|supported|profile capability:ai|supported|profile capability:automation|supported|profile capability:mobile|supported|profile capability:screen-control|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Juancf",
"href": "https://github.com/JuanCF/scrcpy-mcp",
"sourceUrl": "https://github.com/JuanCF/scrcpy-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:11:19.935Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:11:19.935Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-juancf-scrcpy-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to scrcpy-mcp and adjacent AI workflows.