# nerve MCP server

> Enables AI agents to control Android and iOS devices through tools for screenshots, UI element inspection, tapping, swiping, and app management.

- Repository: https://github.com/LincForge/nerve
- Page: https://hostedmcp.org/servers/lincforge/nerve
- Transport: —
- Stars: 1
- License: Apache-2.0

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `META_AI_API_KEY` | no | no |  |
| `NERVE_GROUNDING` | no | no |  |
| `WDA_PROJECT_DIR` | no | no |  |
| `WDA_TEAM_ID` | no | no |  |

## Tools (49)

- `nerve_capabilities`
- `nerve_discover`
- `nerve_pool`
- `nerve_screenshot`
- `nerve_stream_screenshot`
- `nerve_stream_start`
- `nerve_stream_status`
- `nerve_stream_stop`
- `nerve_diff`
- `nerve_elements`
- `nerve_ground`
- `nerve_state`
- `nerve_navigate`
- `nerve_navigate_screenshot`
- `nerve_density`
- `nerve_key`
- `nerve_long_press`
- `nerve_swipe`
- `nerve_tap`
- `nerve_type`
- `nerve_apps`
- `nerve_clear_app_data`
- `nerve_grant_permission`
- `nerve_install`
- `nerve_kill`
- `nerve_launch`
- `nerve_uninstall`
- `nerve_emulator_list`
- `nerve_emulator_start`
- `nerve_emulator_stop`
- `nerve_inject_sensor`
- `nerve_extract_frames`
- `nerve_record_fixed`
- `nerve_record_start`
- `nerve_record_stop`
- `nerve_actionlog_start`
- `nerve_actionlog_stop`
- `nerve_replay`
- `nerve_ensure_ready`
- `nerve_network`
- `nerve_inspect`
- `nerve_logcat`
- `nerve_metrics`
- `nerve_session_stats`
- `nerve_stream_logs`
- `nerve_usage_stats`
- `nerve_release`
- `nerve_reserve`
- `nerve_device_state`

## FAQ

### How does nerve handle large screenshots for MCP agents?

To manage token usage, inline images for MCP agents are rescaled to approximately 300k pixels, while the full-resolution file is preserved on disk.
