An MCP server that drives a real Android device over ADB and attaches the resulting screen to every action. Single native binary, continuous H.264 vision cache, OCR for screens the accessibility tree cannot read.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add droidsight --env DROIDSIGHT_DEVICE_PIN='<DROIDSIGHT_DEVICE_PIN>' -- npx -y @edgecasehuman/droidsight~/.codex/config.toml
[mcp_servers.droidsight]
command = "npx"
args = ["-y", "@edgecasehuman/droidsight"]
env = { DROIDSIGHT_DEVICE_PIN = "<DROIDSIGHT_DEVICE_PIN>" }
# codex mcp add droidsight --env DROIDSIGHT_DEVICE_PIN='<DROIDSIGHT_DEVICE_PIN>' -- npx -y @edgecasehuman/droidsight~/.cursor/mcp.json
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_PIN": "<DROIDSIGHT_DEVICE_PIN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"droidsight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_PIN": "<DROIDSIGHT_DEVICE_PIN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_PIN": "<DROIDSIGHT_DEVICE_PIN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_PIN": "<DROIDSIGHT_DEVICE_PIN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_PIN": "<DROIDSIGHT_DEVICE_PIN>"
}
}
}
}Environment variables
DROIDSIGHT_DEVICE_PIN
Replace the placeholders with your own credentials and keep them out of version control.