devilge for VS Code
io.github.yercko/devilge
Android/KMM MCP server: logcat, ADB device control, Compose previews, network, Maestro flows.
client:VS Code
transport:stdio
runtime:npm
Install devilge in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "devilge-android-project-root",
"description": "DEVILGE_ANDROID_PROJECT_ROOT",
"password": true
},
{
"type": "promptString",
"id": "devilge-outputs-root",
"description": "DEVILGE_OUTPUTS_ROOT",
"password": true
},
{
"type": "promptString",
"id": "devilge-default-device-serial",
"description": "DEVILGE_DEFAULT_DEVICE_SERIAL",
"password": true
},
{
"type": "promptString",
"id": "devilge-flows-root",
"description": "DEVILGE_FLOWS_ROOT",
"password": true
},
{
"type": "promptString",
"id": "devilge-maestro-bin-path",
"description": "DEVILGE_MAESTRO_BIN_PATH",
"password": true
},
{
"type": "promptString",
"id": "devilge-allow-flow-scripts",
"description": "DEVILGE_ALLOW_FLOW_SCRIPTS",
"password": true
},
{
"type": "promptString",
"id": "devilge-http-log-tags",
"description": "DEVILGE_HTTP_LOG_TAGS",
"password": true
},
{
"type": "promptString",
"id": "devilge-http-log-format",
"description": "DEVILGE_HTTP_LOG_FORMAT",
"password": true
}
],
"servers": {
"devilge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"devilge"
],
"env": {
"DEVILGE_ANDROID_PROJECT_ROOT": "${input:devilge-android-project-root}",
"DEVILGE_OUTPUTS_ROOT": "${input:devilge-outputs-root}",
"DEVILGE_DEFAULT_DEVICE_SERIAL": "${input:devilge-default-device-serial}",
"DEVILGE_FLOWS_ROOT": "${input:devilge-flows-root}",
"DEVILGE_MAESTRO_BIN_PATH": "${input:devilge-maestro-bin-path}",
"DEVILGE_ALLOW_FLOW_SCRIPTS": "${input:devilge-allow-flow-scripts}",
"DEVILGE_HTTP_LOG_TAGS": "${input:devilge-http-log-tags}",
"DEVILGE_HTTP_LOG_FORMAT": "${input:devilge-http-log-format}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs