qckfx logoqckfx

MCP Integration

Setup

Install qckfx as an MCP server from the menu bar: Install as MCP and choose your agent — Claude Code, Codex, or Cursor. The MCP server starts automatically when qckfx is running.

qckfx MCP install menu showing Claude Code, Codex, and Cursor options

Tool reference

list_tests()

Returns all saved tests.

Parameters: None

Returns: Array of { id, name, step_count }

run_test(test_id)

Builds the current code on disk, installs it on the simulator, and runs the test asynchronously. Polls for completion and returns results.

ParameterTypeDescription
test_idstringThe ID of the test to run

Returns: run_id, pass/fail status, and visual diff image paths for any failures. The agent should use the Read tool to view diff images.

get_run_status(run_id)

Poll for the status of an asynchronous test run.

ParameterTypeDescription
run_idstringThe run ID returned by run_test

Returns: Status and results of the test run.

get_run_logs(run_id, ...)

Retrieve console logs from the iOS app captured during the test run.

ParameterTypeDescription
run_idstringThe test run ID
stepnumber?Filter to a specific step (0 = initial state)
severitystring?"error", "warning", or "all"
searchstring?Text to search for in log messages
limitnumber?Max entries to return (default: 100)

get_run_requests(run_id, ...)

Get the network request timeline from a test run, with anomaly detection that highlights excessive requests or timing differences compared to the recorded baseline.

ParameterTypeDescription
run_idstringThe test run ID
anomalies_onlyboolean?If true, only show anomalous endpoints

Agent workflow

A typical agent workflow using qckfx follows this pattern:

  1. List tests — Call list_tests() to discover available tests.
  2. Run a test — Call run_test(test_id) to build and run the app against a recorded test.
  3. Check failures — If the test fails, examine the visual diff images using the Read tool.
  4. Examine logs — Use get_run_logs() and get_run_requests() to debug further.
  5. Fix and re-run — Make code changes and run the test again to verify the fix.