AndroidBuilder MCP Server
The AndroidBuilder MCP Server connects to a Chrome/Chromium session running an App Inventor-family IDE (AndroidBuilder, MIT App Inventor, Kodular, Niotron, AppyBuilder) and lets MCP clients inspect and manipulate the Designer and Blocks workspaces.
Project & Navigation
Get project info: Retrieve the current project name, active screen, view mode (Designer vs. Blocks), IDE type, and page URL.
List screens: Get all available screens in the current project.
Switch screen: Navigate to a different screen in the IDE.
Designer (Read)
Get component tree: Retrieve the full component hierarchy (name, type, uid, children).
Get component properties: Read all visible property values for a specific component.
Designer (Write — requires ANDROIDBUILDER_ALLOW_WRITE=1)
Update component property: Modify a property (e.g., Text, BackgroundColor, Width) of a specific component.
Blocks Workspace (Read)
Get blocks XML: Export the entire Blockly workspace as a pretty-printed XML string for reading or backup.
Blocks Workspace (Write — requires ANDROIDBUILDER_ALLOW_WRITE=1)
Add blocks: Inject Blockly XML blocks into the workspace (with validation before injection).
Clear blocks: Destructively remove all blocks from the workspace (also requires
confirm: "CLEAR_BLOCKS").
Unsafe Fallback (requires ANDROIDBUILDER_ALLOW_UNSAFE_CLICK=1)
Click element: Click any arbitrary element on the IDE page via a CSS selector as a last resort (also requires
confirm: "CLICK_ELEMENT").
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AndroidBuilder MCP ServerList all screens in my project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AndroidBuilder MCP Server
<<<<<<< Updated upstream Local Model Context Protocol server for MIT App Inventor, AndroidBuilder, Kodular, Niotron, and AppyBuilder. It connects to a Chrome/Chromium session through the Chrome DevTools Protocol and lets MCP clients inspect the Designer and Blocks workspaces.
The server is safe by default: read tools are available immediately, while write tools require explicit environment flags.
Tools
Tool | Mode | Notes |
| Read | Project, active screen, view, IDE type, URL |
| Read | Lists available screens |
| Read/navigation | Switches active screen |
| Read | Designer component tree |
| Read | Selects component by name when possible |
| Read | Exports Blockly XML |
| Write | Requires |
| Write | Requires |
| Destructive | Requires |
| Unsafe fallback | Requires |
Related MCP server: Chrome DevTools MCP
Requirements
Node.js
>=22.12Chrome or Chromium launched with remote debugging enabled
=======
MCP server for MIT App Inventor and AndroidBuilder automation through Chrome DevTools Protocol, plus safe offline inspection of .aia and .aix archives. Kodular, Niotron, and AppyBuilder origins are recognized for discovery but remain experimental for live operations.
Capabilities
Live IDE tools:
list_ide_tabs,select_ide_tab,get_project_infoget_component_tree,get_component_properties,update_component_propertyadd_blocks,get_blocks_xml,clear_blocksswitch_screen,list_screensclick_element(disabled unlessANDROIDBUILDER_UNSAFE_TOOLS=1)
Offline tools:
inspect_aia,validate_aia,diff_aiainspect_aix,validate_aixread_archive_entry
Offline tools are read-only. They do not extract, execute, modify, or repackage project files.
Requirements
Node.js 18 or newer
Chrome/Chromium started with a loopback CDP port, preferably using a dedicated profile:
Stashed changes
chrome.exe --remote-debugging-port=9222 --user-data-dir="$env:TEMP\androidbuilder-cdp"<<<<<<< Updated upstream Open your App Inventor-family IDE and load the project in that Chrome session.
Install
======= Open the project in the browser before calling live tools. CDP grants this server control over tabs accessible to that browser profile.
Install and run
Stashed changes
npm install
npm run build
<<<<<<< Updated upstreamRun the server:
node dist/index.jsMCP Config
Use .mcp.json in this repository for local development:
npm start
MCP client configuration should invoke the package binary or the installed `dist/index.js`; do not use a machine-specific path:
>>>>>>> Stashed changes
```json
{
"mcpServers": {
"androidbuilder-mcp": {
<<<<<<< Updated upstream
"command": "node",
"args": ["dist/index.js"],
"env": {
"BROWSER_DEBUG_PORT": "9222",
"ANDROIDBUILDER_ALLOW_WRITE": "0"
=======
"command": "androidbuilder-mcp",
"env": {
"BROWSER_DEBUG_PORT": "9222",
"ANDROIDBUILDER_PROJECT_ROOT": "C:/projects",
"ANDROIDBUILDER_DEBUG": "0"
>>>>>>> Stashed changes
}
}
}
}<<<<<<< Updated upstream
For clients that do not resolve relative paths from the repository root, replace dist/index.js with an absolute path.
Environment
=======
Environment variables
Stashed changes
Variable | Default | Description |
|
| Chrome remote debugging port |
<<<<<<< Updated upstream | ||
|
| Max time for page evaluation |
|
| Verbose stderr logging |
|
| Enables property/block mutations |
|
| Enables arbitrary CSS click fallback |
Codex, Claude, and Antigravity
Codex plugin manifest:
.codex-plugin/plugin.jsonPortable MCP config:
.mcp.jsonOpen Agent Skill:
skills/build-app-inventor-apps/SKILL.md
See docs/compatibility.md for client-specific setup notes.
| EVAL_TIMEOUT_MS | 15000 | Page evaluation timeout; mutation timeouts have unknown outcome |
| ANDROIDBUILDER_DEBUG | 0 | Verbose stderr logging when set to 1 |
| ANDROIDBUILDER_UNSAFE_TOOLS | unset | Must be 1 to enable click_element |
| ANDROIDBUILDER_PROJECT_ROOT | unset | Required root for offline archive paths |
| AIA_MAX_COMPRESSED_BYTES | 31457280 | Compressed AIA limit |
| AIX_MAX_COMPRESSED_BYTES | 52428800 | Compressed AIX limit |
| ARCHIVE_MAX_UNCOMPRESSED_BYTES | 209715200 | Total decompressed entry limit |
| ARCHIVE_MAX_ENTRIES | 10000 | Maximum ZIP entries |
| ARCHIVE_MAX_RATIO | 100 | Maximum uncompressed/compressed ratio |
| ARCHIVE_MAX_READ_ENTRY_BYTES | 5242880 | Maximum entry returned by read_archive_entry |
Safe workflows
For live work, call list_ide_tabs first and explicitly select a tab when more than one trusted IDE tab is open. Confirm project and screen with get_project_info. Component reads and writes select and verify the named component; property updates are re-read after mutation.
clear_blocks is two-phase. The first call returns a backup XML, hash, block count, and confirmation token. Call it again with that token only after confirming the backup and intended deletion. Never retry a mutation after a timeout without reading the state first.
For offline work, set ANDROIDBUILDER_PROJECT_ROOT and pass only relative paths. AIA inspection understands youngandroidproject/project.properties, src/**/*.scm, src/**/*.bky, assets, and external components. AIX inspection reports component descriptors, build metadata, artifacts, permissions, dependencies, native libraries, and hashes. Embedded code is never executed.
Stashed changes
Development
npm run build
npm test
npm pack --dry-run<<<<<<< Updated upstream
npm test builds the server, runs a real MCP SDK smoke test, verifies write tools are gated, checks the no-Chrome error path, and validates package metadata.
Troubleshooting
Failed to connect to Chrome CDP: start Chrome with--remote-debugging-port=9222.No active AndroidBuilder/App Inventor tab found: open a project in the debug Chrome session.Component tree (.gwt-Tree) not found: switch to Designer view.Blockly is not available: switch to Blocks view.Write tool rejected: restart the MCP server with
ANDROIDBUILDER_ALLOW_WRITE=1.The operational agent guidance is versioned at
skills/androidbuilder-mcp/SKILL.md.
Stashed changes
Scope
<<<<<<< Updated upstream
AndroidBuilder
MIT App Inventor 2
MIT App Inventor Code
Niotron
Kodular
AppyBuilder
Supported live IDEs: MIT App Inventor and AndroidBuilder. Other recognized hosts are experimental until they have dedicated fixtures. This project does not claim to import/export projects through the UI, compile APK/AAB, edit/repack AIA/AIX, or modify compiled AIX code.
Stashed changes
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser through Chrome DevTools. Provides browser automation, performance analysis, debugging capabilities, and network request monitoring.Last updated1,408,23048,364Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automation, debugging, performance analysis, and screenshot capture through Chrome DevTools.Last updated261,408,2303Apache 2.0
- Alicense-qualityDmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automation, debugging, performance analysis, network monitoring, and DOM interaction through Chrome DevTools Protocol.Last updated1,408,230Apache 2.0
- -license-quality-maintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automated debugging, performance analysis, and web interaction. It leverages Puppeteer and Chrome DevTools to provide capabilities like network monitoring, console logging, and automated browser actions.Last updated
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
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/williamcorrea23/androidbuilder-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server