Skip to main content

MCP server for UI Bridge - enables AI to inspect and interact with UI elements

Project description

UI Bridge MCP

MCP (Model Context Protocol) server for UI Bridge - enables AI to inspect and interact with UI elements.

Overview

This MCP server provides tools for:

  • Inspecting UI elements - Get element positions, bounds, visibility, and state
  • Interacting with elements - Click, type, focus, hover
  • Two modes of operation:
    • Control mode: Interact with the qontinui-runner's own Tauri webview
    • External mode: Interact with external browser tabs via Chrome extension

Installation

# Using pip
pip install ui-bridge-mcp

# Using poetry
poetry add ui-bridge-mcp

Prerequisites

The MCP server requires the qontinui-runner to be running on port 9876.

For external browser tab access, you also need the Chrome extension connected.

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ui-bridge": {
      "command": "ui-bridge-mcp"
    }
  }
}

Claude Code

Add to your MCP settings:

{
  "mcpServers": {
    "ui-bridge": {
      "command": "ui-bridge-mcp"
    }
  }
}

Environment Variables

Variable Default Description
QONTINUI_RUNNER_HOST localhost (or WSL host) Runner hostname
QONTINUI_RUNNER_PORT 9876 Runner port

Available Tools

Health Check

Tool Description
ui_health Check if qontinui-runner is accessible

Control Mode (Runner's Own UI)

Tool Description
ui_snapshot Get complete UI state with all elements
ui_discover Force element discovery/registration
ui_get_element Get detailed info for a specific element
ui_click Click an element by ID
ui_type Type text into an input element
ui_focus Focus an element

External Mode (Browser Tabs)

Tool Description
extension_status Check Chrome extension connection
extension_list_tabs List available browser tabs
extension_select_tab Select a tab for subsequent operations
extension_get_elements Get all elements from selected tab
extension_click Click element by CSS selector
extension_type Type into element by CSS selector
extension_screenshot Capture screenshot of current tab

Usage Examples

Inspect Runner UI

AI: Let me check what's on the runner's Settings page.

1. First, get a snapshot of the UI:
   ui_snapshot

2. Click the Settings button:
   ui_click element_id="sidebar-nav-item-settings"

3. Get another snapshot to see the new page:
   ui_snapshot

Inspect External Website

AI: Let me check the login form on localhost:3001.

1. Check extension is connected:
   extension_status

2. List browser tabs:
   extension_list_tabs

3. Select the tab with localhost:3001:
   extension_select_tab tab_id=123456

4. Get page elements:
   extension_get_elements

5. Type into the email field:
   extension_type selector="input[name='email']" text="test@example.com"

Element IDs

Elements in the runner's UI have data-ui-id attributes that follow patterns like:

  • sidebar-nav-item-{name} - Sidebar navigation items
  • button-{action} - Action buttons
  • input-{field} - Input fields
  • dialog-{name} - Dialog components

Use ui_snapshot to discover all available element IDs.

Architecture

Claude/AI
    ↓ MCP Protocol
ui-bridge-mcp (this server)
    ↓ HTTP
qontinui-runner (port 9876)
    ├── /ui-bridge/control/* → Runner's Tauri webview
    └── /extension/* → Chrome extension → External browser tabs

Development

# Install dependencies
poetry install

# Run linting
poetry run ruff check .
poetry run mypy src

# Format code
poetry run black src
poetry run isort src

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ui_bridge_mcp-0.1.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ui_bridge_mcp-0.1.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file ui_bridge_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ui_bridge_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.10 Windows/10

File hashes

Hashes for ui_bridge_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 878e4980216fdc5ba0674637766bf12c4f8644a0eaf31d817370c86a41c25b90
MD5 2db888d2b7111e903f215cf603d8d802
BLAKE2b-256 658a8f303d4c883a5fafbb0c10ef0cac7d61c4d4203fdb84a3dcf7e0775e900e

See more details on using hashes here.

File details

Details for the file ui_bridge_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ui_bridge_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.10 Windows/10

File hashes

Hashes for ui_bridge_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 709bc89428b115d7ad7f5c0b67eaf2791f1ac91fc813fb084e7a292cc3aa2ce1
MD5 c86100bd7bf4d4df88293194aff91362
BLAKE2b-256 a1405bcb5b2ef49b0bc92ed24d70afeb2e7afaa27c7c956bcda53a8e779e3ff8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page