Skip to content

ComposeBridge v0.4.0 — MCP Server for AI Agents

Choose a tag to compare

@JALAL591 JALAL591 released this 24 Sep 22:35
· 46 commits to main since this release

🎉 v0.4.0 — MCP Server for AI Agents

ComposeBridge now ships with a standalone MCP Server that lets AI agents
(Claude Desktop, Antigravity IDE, Cursor, Cline) edit Jetpack Compose code
surgically — without needing the phone.


🆕 What's New

🤖 MCP Server (Model Context Protocol)

A new standalone server that exposes Compose-aware tools to any MCP-compatible
AI client.

3 tools available:

Tool Description
find_token_by_color Reverse lookup: hex → token name
set_token Surgically edit a token value (single-line diff)
rollback_last Undo last edit (persistent across restarts)

Key feature: Works independently of the phone.

  • ❌ No adb reverse
  • ❌ No WebSocket bridge
  • ❌ No running app
  • ✅ Just Python + AI client + Compose project

📚 Documentation

  • Full MCP Guide: docs/mcp-guide.md
  • Updated README: new MCP section with setup for both Antigravity + Claude Desktop

🔒 Persistent Journal

Every edit is journaled to .composebridge-journal.json.
Rollback works even after process restarts.


✨ All Features (cumulative)

  • 🎯 Live Design Mode — tap any Composable to inspect
  • 🎨 Live Color Editing — <50ms latency
  • 📏 Live Dimension Editing — sliders on device
  • 💾 File Persistence — single-line git diff
  • 🔄 Rebuild Persistence — changes are permanent
  • 🧩 Dynamic UI Compiler — JSON → Compose screens
  • 🌳 Runtime Tree Navigation — parent → children
  • 🤖 MCP Server — AI agent integration (NEW)
  • 🔒 Token Auth — WebSocket handshake verification
  • 📓 Journal Rollback — persistent across restarts
  • 🌐 UTF-16 ↔ UTF-8 Mapper — 100% accuracy
  • 🚫 .bridgeignore — never touch generated code

🧪 Verified

Tested end-to-end in Antigravity IDE:
User: @composebridge set_token("welcomeCardHeight", "300")

Result in AppDimens.kt:

val welcomeCardHeight: Dp get() = BridgeDimensionRegistry.get("welcomeCardHeight", 240.dp)

val welcomeCardHeight: Dp get() = BridgeDimensionRegistry.get("welcomeCardHeight", 300.dp)

text

✅ Single-line git diff
✅ Rollback works
✅ No phone connected


📦 What's Included

  • CLI — Generate Android projects from JSON schemas
  • Agent — Android runtime library (:composebridge-agent)
  • Server — Python WebSocket daemon + AST source splicer
  • MCP Server — AI agent integration (NEW in v0.4.0)
  • Example — StudentApp reference project

✅ Compatibility

Component Version
Kotlin 2.1.20+
Jetpack Compose 1.7.3+
Gradle 8.5+
AGP 8.5+
Min SDK 24
Python 3.10+
MCP SDK 2.2.0+

🚀 Quick Start (MCP)

# 1. Install
cd server
pip install -r requirements.txt

# 2. Configure your AI client (Antigravity)
# Edit: ~/.gemini/config/mcp_config.json
{
  "mcpServers": {
    "composebridge": {
      "command": "python",
      "args": ["C:\\path\\to\\composebridge-en\\server\\mcp_server.py"]
    }
  }
}

# 3. Use from AI chat
@composebridge set_token("welcomeCardHeight", "300")
Full guide: [docs/mcp-guide.md](https://docs/mcp-guide.md)

📜 License
Apache 2.0