
Git Qa
io.github.meta-taroPublished by GitHub account meta-tarov0.2.0-beta.21Updated Nov 4, 2026
Open-source human-in-the-loop QA runner: an AI agent works the test sheet, a person signs off.
Overview
Open-source human-in-the-loop QA runner: an AI agent drives Android, iPhone, web or desktop apps through a test sheet while a person signs off each case.
- What you can do
- Screenshot and read the live screen of Android, web, desktop or iPhone/iPad targets
- List the elements that can be pressed and tap them by name
- Work through a TSV test sheet case by case, with a person pressing D or F for each verdict
- Record evidence per run: verdicts, steps, who placed them, when, and the screen at that moment
- Run a sheet unattended overnight and review the failures afterwards
- When to use it
- For regression and release checks that someone has to click through repeatedly, and for cases where you need to show who actually verified a build rather than letting an AI declare everything passed.
- Requirements
- Runs locally as a desktop app (macOS, Windows x64/ARM64) or from source with pnpm; Node 22 or newer is required. adb for Android, a browser for web, and a self-signed WebDriverAgent install for iPhone/iPad. ffmpeg and cwebp are optional for compressed evidence. No npm package is published.
Installation
In SourceWeft
- Open Git Qa in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
git-qa
Your test sheet runs itself. You watch, and sign off each case with one key.
git-qa is an open-source human-in-the-loop QA runner. An AI agent works through your test sheet on Android, iPhone, web and desktop apps; you watch the live screen and sign off each case, and the evidence records who verified what. AI agents can also drive it over MCP.
日本語版はこちら / Japanese · Download
Left: the cases in your test sheet. Middle: the page, device or app, live, while the AI drives it —
the red marker is where it found the expected text. Right: one key per verdict — D pass, F fail.
Your handle goes into the evidence when you press it. (The UI is shown in Japanese; it also speaks English.)
When you would reach for it
The release check nobody wants to click through again. You have a 30-row regression sheet for an Android app, a web page and a desktop app. Instead of tapping through it by hand, the AI follows the sheet while you watch the live view and press a key per case. You only stop to look closely where something changed or failed.
"Who actually checked this?"
A client, an auditor or your own team asks after an incident. The evidence answers:
each case says VERIFIED (a person looked and signed) or AUTO_PASS (the AI passed it, nobody looked),
with the name, the time, and the screen at that moment.
An AI agent built the feature — now it should check it, on a real device.
Over MCP, Claude Code (or any agent) can screenshot, read the screen, list what can be pressed and tap it,
on Android, web, desktop or iPhone. It can run the sheet unattended overnight (--no-ui);
in the morning you review the failures. The pass is still yours to give.
The server is listed in the official MCP registry as io.github.meta-taro/git-qa; it runs from this clone (there is no npm package).
Try it
- Download the app from the distribution page (macOS, Windows x64 / ARM64) and install Node 22+
- Open git-qa. Enter a handle (it goes into the evidence as "who looked"), pick what to look at —
an
adbdevice, a web page URL, or a desktop app by name — and a test sheet - Start, watch, and press
D/Fper case
[Picking what to look at: a web page URL, a desktop app by name, or an adb device]
A run, case by case — the AI runs each step (press the button, reopen the page, press it again), you press D, the case turns VERIFIED / qa and the next one starts:
A test sheet is a TSV you can write in any spreadsheet — samples are in sheets/.
From source instead: git clone … && pnpm install && pnpm app (see Install).
Why it is built this way
This is not a tool for handing verification to an AI and letting it say "everything passed." When something ships broken, the person is accountable — "the AI did it" is not an answer anyone accepts.
So git-qa splits the work:
- The AI operates the device, the browser, or the desktop app, following a test sheet
- The human watches, and places the verdict with a single keystroke
- The evidence records who saw what, and when
The vocabulary is the point
A plain PASS would collapse the first two into one value. That collapse is
exactly what this tool exists to prevent.
You can place VERIFIED without looking. That is a feature, not a hole.
The moment you press the key, your handle goes into the evidence. It is a
signature, not a lock. There is no anti-cheat machinery — adding it would make a
tool that exists to save effort expensive to use.
What it can drive
A real iPhone, driven through WebDriverAgent: git-qa launched the Clock app and tapped "Stopwatch". The case waits for a person's verdict.
What evidence looks like
One folder per test run. Commit the whole folder if you want the test itself under version control.
Nothing about your machine goes into the evidence: paths are relative to the workspace, so the same run reads the same way on anyone's machine.
Requirements
- Node 22 or newer — required. The app starts a runner process
adbfor Android, a browser for web — only if you use themffmpeg/cwebp— optional. Without them, evidence is kept in the format it was captured in, uncompressed
Install
Download from the distribution page, or run it from source:
macOS builds are signed and notarized. Windows builds are not signed — you will see "Windows protected your PC"; check the source before choosing Run.
To see what this machine can actually do — measured, not guessed:
The app also states its own version on the start screen ("This git-qa is v0.2.0-beta.20"). Paste that line into bug reports — it decides which build you are talking about. When a newer build exists, the same place says so; git-qa never replaces itself.
Status
Beta. Three products are using it. Rough edges are listed in each release's notes, and nothing fails silently — where a step cannot run, it is recorded as "a person needs to do this," not as a pass.
Bug reports and requests: Issues. Please write them in your own words, right after you hit the problem. Summarizing loses the part that actually hurt.
License
MIT — see LICENSE.
Source: README.md at commit 0d58c46
Tools
0Version history
1- v0.2.0-beta.21LatestNov 4, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts