Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beyondwin avatar

FixThis

  • 7 repo stars
  • Updated July 19, 2026
  • beyondwin/FixThis

FixThis is a MCP server that provides local-first Jetpack Compose UI feedback and source fix candidates to AI agents over stdio.

About

FixThis is a local-first Model Context Protocol server that bridges Jetpack Compose UI review and your coding agent. Android developers iterating screens can use it to collect UI feedback and proposed source candidates without uploading snapshots to a remote design tool, which matters when you ship apps or client work under strict data boundaries. Registered via npm as @beyondwin/fixthis with stdio transport, it slots into Claude Code or Cursor workflows during Build while you tune Compose layouts, fix accessibility glitches, or chase preview mismatches. The MCP emphasizes handoff—structured issue context the agent can turn into patches—rather than replacing Android Studio’s inspector entirely. It is specialized mobile frontend tooling, not a cross-platform UI MCP or Playwright-based web tester.

  • Local-first MCP handoff for Jetpack Compose UI feedback
  • Surfaces source-level fix candidates alongside UI issue context
  • npm package @beyondwin/fixthis with stdio transport (version 1.2.0)
  • Keeps review loop on-machine for privacy-sensitive or offline Android work
  • Purpose-built for Compose, not generic React or SwiftUI lint MCPs

FixThis by the numbers

  • Data as of Jul 23, 2026 (Skillselion catalog sync)
terminal
claude mcp add fixthis -- npx -y @beyondwin/fixthis

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars7
Package@beyondwin/fixthis
TransportSTDIO
AuthNone
Last updatedJuly 19, 2026
Repositorybeyondwin/FixThis

What it does

Capture Jetpack Compose UI issues locally and hand structured feedback plus source fix candidates to your agent without sending screens to a cloud review service.

Who is it for?

Best when you're shipping Jetpack Compose apps and want a private MCP bridge between UI review and agent-driven patches.

Skip if: Web or iOS projects, teams that want hosted visual QA SaaS, or backend-only workflows with no Compose UI.

What you get

FixThis hands local UI feedback and candidate fixes into the agent thread so Compose changes stay fast, private, and reviewable in your repo.

  • Structured local UI feedback packaged for agent consumption
  • Source fix candidates aligned to reported Compose UI issues
  • Private on-device review loop without mandatory cloud UI services

By the numbers

  • Server version 1.2.0
  • npm identifier @beyondwin/fixthis with stdio transport
  • Repository: github.com/beyondwin/FixThis
README.md

FixThis for Android Compose

CI License: MIT JDK 21 Node 20+ Compose

FixThis Studio — point at any Jetpack Compose UI element, annotate, hand off AI-ready context to your coding agent

Point at a Jetpack Compose UI, write the change you want, and hand Claude, Codex, Cursor, or another coding agent the source context it needs.

FixThis adds a debug-only sidekick to a Compose app, mirrors the current screen into a local browser console, and turns your UI annotations into a compact agent handoff with screenshot bounds, semantics context, source candidates, and target-confidence warnings.

In the browser console, a single click selects the nearest Compose UI component, and a drag selects any visual area when the target is spacing, empty room, interop content, or another region that is not a clean component.

Works Today

  • Try the bundled sample app in about five minutes.
  • Install the published desktop CLI/MCP package with Homebrew on macOS or from npm / GitHub Releases on macOS/Linux.
  • Add FixThis to an external Android app with the published Gradle plugin: io.github.beyondwin.fixthis.compose.
  • Let Claude Code or Codex configure the sample MCP server with ./scripts/bootstrap-mcp.sh --sample.
  • Let an agent configure your Android app with fixthis install-agent.
  • Use Copy Prompt with Cursor, ChatGPT, or any chat-style coding agent.
  • Use Save to MCP with Claude Code or Codex after running the bootstrap script.
  • Runs locally over ADB and 127.0.0.1; FixThis makes no external API calls.
  • Debug builds only. Jetpack Compose only.

Quick Start: Agent Installs FixThis in Your App

Claude Code / Codex Bootstrap Prompt

FixThis is debug-only and Jetpack Compose only. Paste this prompt into Claude Code or Codex from the root of a Jetpack Compose Android app:

Install FixThis in this project and configure it for this agent.

Use this order:
1. Run `fixthis install-agent --project-dir . --target all`.
2. Run `fixthis doctor --project-dir . --json`.
3. Use the doctor JSON readiness result as the source of truth.
4. If MCP config was written, tell me to restart Claude Code or Codex before calling `fixthis_open_feedback_console`.

Do not configure release builds. Do not commit `.fixthis/`.

The agent should run:

# macOS package-manager path
brew install beyondwin/tools/fixthis

# Node/npm path
npm install -g @beyondwin/fixthis

# macOS/Linux fallback path
curl -fsSL https://raw.githubusercontent.com/beyondwin/FixThis/main/scripts/install-fixthis.sh \
  | bash -s -- --version v1.3.0

fixthis install-agent --project-dir . --target all
fixthis doctor --project-dir . --json

If Homebrew already has FixThis installed, run brew update && brew upgrade beyondwin/tools/fixthis and verify the active binary with fixthis --version.

fixthis install-agent patches the detected Android app module with the published Gradle plugin, writes MCP config for Claude Code / Codex, writes .fixthis/project.json, and writes .fixthis/agent-setup.* handoff files. If doctor reports NEEDS_INSTALL or generated metadata is missing, run ./gradlew fixthisSetup as a recovery step and rerun fixthis doctor --project-dir . --json. Restart Claude Code or Codex after MCP config is written, then call fixthis_open_feedback_console.

The published Gradle plugin coordinates:

plugins {
    id("io.github.beyondwin.fixthis.compose") version "1.3.0"
}

The plugin adds the debug-only sidekick dependency automatically, generates FixThis project metadata, and keeps release builds out of scope.

Quick Start: Sample App to Agent Handoff

git clone <this-repo> && cd FixThis
./gradlew :fixthis-cli:installDist :fixthis-mcp:installDist
fixthis-cli/build/install/fixthis/bin/fixthis doctor --package io.github.beyondwin.fixthis.sample
fixthis-cli/build/install/fixthis/bin/fixthis run --package io.github.beyondwin.fixthis.sample

fixthis run installs the sample debug APK, launches it, attaches the sidekick bridge, and opens FixThis Studio at http://127.0.0.1:<port>.

In the console:

  1. Click Annotate.
  2. Click a Compose UI element, or drag a visual area.
  3. Type the requested change in the annotation detail.
  4. Repeat click/drag for any other changes on this screen.
  5. Click Copy Prompt for any chat-style agent, or Save to MCP for Claude Code / Codex.

You are done when the console shows a numbered annotation and you have either copied compact Markdown or saved a local MCP handoff.

Maintainers can validate that same real Copy Prompt path across the runtime fixtures with a connected emulator or device:

npm run real-copy-prompt:smoke -- --strict

Pick Your Path

Goal Start here
Try FixThis without touching your app Quick Start with the sample
Add FixThis to your Compose debug build Add FixThis to your app
Connect Claude Code, Codex, Cursor, or a chat agent Connect your agent
Let an agent bootstrap MCP from the repo MCP bootstrap
Learn the browser console workflow Feedback console tour
Understand the product concept and handoff rationale Concept and handoff rationale
Diagnose setup problems Troubleshooting
Inspect CLI, MCP, or JSON contracts Documentation index
Contribute Contributing guide

Why FixThis vs. just sending a screenshot?

Modern coding agents already accept screenshots and accessibility trees. FixThis adds the missing handoff structure:

  • Pin to source, not pixels. Top-3 ranked source-file candidates with line numbers, match reasons, and a margin score — the agent edits the right call site instead of guessing which composable rendered which pixel.
  • Route visual edits to the likely surface. editSurface hints carry role tokens for call sites, component definitions, copy/data, layout/style, visual-area work, and interop risk, so a style request is not forced through the same path as a text-source match.
  • Stable target identity. Instance grouping (instance i/N), duplicate-marker detection, and overlap-group hints keep N visually identical cards distinguishable.
  • Screen integrity checks. Frozen previews carry a screen fingerprint; if the app rotates, changes window mode, or otherwise moves to a different screen before saving, FixThis asks you to re-capture, force-save, or cancel.
  • Honest target confidence. Handoffs can mark visual-only, stale, or possible AndroidView/WebView targets so agents know when to verify rather than trust source hints directly.
  • Retry-safe local batches. Slow or retried Copy Prompt / Save to MCP saves reuse browser draft ids, so duplicate requests do not create duplicate agent work.
  • Batched, structured handoff. One prompt can carry many annotations across many screens, each with its own bounds, severity, and source pin.

If your screen has a single obvious target with clear text, a plain screenshot may already be enough. FixThis pays off when the UI is dense, list-rendered, or labeled mostly by composable name.

Module Map

Module Role
:app (sample/) Validation sample app
:fixthis-compose-core Pure Kotlin domain
:fixthis-compose-sidekick Debug Android runtime
:fixthis-gradle-plugin Source-index generation and debug DI
:fixthis-cli Desktop CLI
:fixthis-mcp stdio MCP server and local HTTP feedback console

Product and architecture details live in Concept and handoff rationale, Product concept, Decision rationale, and Architecture overview.

Status

FixThis has public artifacts for the agent-first path:

  • Gradle plugin: io.github.beyondwin.fixthis.compose
  • Maven artifacts: io.github.beyondwin:fixthis-compose-sidekick and io.github.beyondwin:fixthis-compose-core
  • Homebrew tap: brew install beyondwin/tools/fixthis
  • CLI/MCP package: GitHub Release asset fixthis-cli-mcp-vX.Y.Z.tar.gz
  • npm wrapper: npm install -g @beyondwin/fixthis
  • MCP Registry entry: io.github.beyondwin/fixthis

The live release dashboard is Release readiness. It lists current coordinates, verification commands, and registry follow-ups.

Current main may contain changes after the latest tag. See CHANGELOG.md and release notes before cutting another release.

Agents working inside this repository should also read AGENTS.md.

Trust and Privacy

FixThis is local-first: the sidekick talks to the desktop tools over ADB, the browser console binds to localhost, and Save to MCP writes local files under .fixthis/. FixThis does not call an external AI API.

Screenshots may still contain sensitive pixels. Review copied prompts or local artifacts before sharing them outside your machine, and do not commit .fixthis/.

Details: Privacy, Security, and Threat model.

Roadmap

FixThis V1 stays intentionally narrow: Jetpack Compose debug builds, local ADB transport, MCP-first handoff, best-effort source candidates, and no cloud upload.

The detailed roadmap lives in Roadmap. It covers V1 scope, public artifact release work, deeper interop awareness, SSE-driven console state sync, smarter source matching, and future agent integrations.

License

MIT License. See also NOTICE for third-party attribution.

Recommended MCP Servers

How it compares

Compose-specific local UI handoff MCP, not a general Playwright or SSRS reporting server.

FAQ

Who is FixThis for?

Developers and small teams developing Jetpack Compose Android UIs who want local MCP-based feedback tied to source fix suggestions.

When should I use FixThis?

Use it during Build frontend work when Compose screens need iterative UI fixes and you want the agent to receive structured local handoff data.

How do I add FixThis to my agent?

Install @beyondwin/fixthis from npm, configure stdio MCP in your client, and follow github.com/beyondwin/FixThis for project-side Compose integration.

Developer Toolsfrontendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.