Integrations
Integrations
Section titled “Integrations”This page is generated from the live QualityMax MCP registry. Examples use placeholders; replace them with values for your workspace.
add_script_to_framework
Section titled “add_script_to_framework”Purpose
Section titled “Purpose”Add an existing automation script to the project’s test framework. Fetches the script by ID, ensures the framework exists (creating it if needed), and writes the test file into the framework directory.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
script_id |
integer |
Yes | Automation script ID to add to the framework |
framework |
string |
No | Framework type. Known values: playwright (default), pytest, rust_cargo, go_test. Unknown values fall back to playwright via FrameworkManager.resolve_framework_type, so existing MCP clients passing arbitrary strings (the historical contract) are not rejected — this field is intentionally not strictly enum-enforced. |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "script_id": 1 }, "tool": "add_script_to_framework"}create_pr
Section titled “create_pr”Purpose
Section titled “Purpose”Create a pull request with generated tests or fixes
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
repo_id |
string |
Yes | Repository ID |
title |
string |
Yes | Pull request title |
description |
string |
Yes | Pull request description |
branch_name |
string |
No | Branch name for the PR |
test_files |
array |
No | Test files to include in PR |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "description": "your-description", "repo_id": "your-repo-id", "title": "your-title" }, "tool": "create_pr"}create_project
Section titled “create_project”Purpose
Section titled “Purpose”Create a new project (optionally with main_url). Will check for similar existing projects and ask for confirmation if found.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | No description supplied. |
key |
string |
No | Optional project key (max 10). If omitted, derived from name. |
description |
string |
No | No description supplied. |
main_url |
string |
No | Optional main URL for AI crawl |
force_create |
boolean |
No | If true, skip similarity check and create immediately (use when user confirmed they want a new project) |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "name": "your-name" }, "tool": "create_project"}export_framework
Section titled “export_framework”Purpose
Section titled “Purpose”Export a project’s test framework as a zip archive. Since MCP cannot return binary data, the zip is saved to a temporary file and the file path and size are returned.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
integer |
Yes | Project ID to export the framework for |
framework |
string |
No | Framework type: ‘playwright’ (default) or ‘pytest’ |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "project_id": 1 }, "tool": "export_framework"}linear_add_comment
Section titled “linear_add_comment”Purpose
Section titled “Purpose”Post a comment on a Linear issue as the connected user. Use this to report what a run did — findings, a PR link, why something was not done. WRITE: requires the user to have enabled Linear writes for this run, and only works on issues in the workspace they connected. If it is refused, say so and continue; the refusal cannot be worked around.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
issue |
string |
Yes | Linear issue identifier such as ‘ENG-123’, or UUID. |
body |
string |
Yes | Comment body (markdown). |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "body": "your-body", "issue": "your-issue" }, "tool": "linear_add_comment"}linear_get_comments
Section titled “linear_get_comments”Purpose
Section titled “Purpose”Read the comment thread on a Linear issue, oldest first. Use this for the discussion and decisions that are not in the issue description. Read-only.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
issue |
string |
Yes | Linear issue identifier such as ‘ENG-123’, or UUID. |
limit |
integer |
No | Max comments (default 50, max 100). |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "issue": "your-issue" }, "tool": "linear_get_comments"}linear_get_issue
Section titled “linear_get_issue”Purpose
Section titled “Purpose”Read one Linear issue by its identifier (e.g. ‘ENG-123’) or UUID. Returns title, description, state, assignee, priority, labels and URL. Use this whenever the task mentions a Linear issue — do not rely on details pasted into the prompt, which may be stale. Read-only.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
issue |
string |
Yes | Linear issue identifier such as ‘ENG-123’, or the issue UUID. |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "issue": "your-issue" }, "tool": "linear_get_issue"}linear_search_issues
Section titled “linear_search_issues”Purpose
Section titled “Purpose”Search the connected Linear workspace. All filters are optional and combine: full-text query, team_key (e.g. ‘ENG’), assigned_to_me. Completed and cancelled issues are excluded unless include_completed is true. Read-only.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string |
No | Full-text search over title and description. |
team_key |
string |
No | Restrict to one team by key, e.g. ‘ENG’. |
assigned_to_me |
boolean |
No | Only issues assigned to the connected Linear user. |
include_completed |
boolean |
No | Include completed/cancelled issues (default false). |
limit |
integer |
No | Max issues (default 25, max 100). |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": {}, "tool": "linear_search_issues"}linear_set_issue_state
Section titled “linear_set_issue_state”Purpose
Section titled “Purpose”Move a Linear issue to a workflow state by name (e.g. ‘In Review’, ‘Done’). Call it WITHOUT state first to see the states that issue’s team actually allows — state names are per-team and cannot be guessed. WRITE: requires the user to have enabled Linear writes for this run, and only works on issues in the workspace they connected.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
issue |
string |
Yes | Linear issue identifier such as ‘ENG-123’, or UUID. |
state |
string |
No | Target workflow state name. Omit to list the allowed states instead. |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "issue": "your-issue" }, "tool": "linear_set_issue_state"}max_advice
Section titled “max_advice”Purpose
Section titled “Purpose”Proactive advice from Max from QualityMax — the platform’s always-on companion. Returns your pending and recent proactive notes (things Max noticed about your projects, test runs, and crawls). Pass refresh=true to have Max look at your current platform state right now and produce a fresh note if there is something genuinely worth saying. Requires Max to be enabled for MCP by an owner and your own stored consent.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
refresh |
boolean |
No | Run a fresh observation pass for your account before returning notes. |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": {}, "tool": "max_advice"}setup_cicd
Section titled “setup_cicd”Purpose
Section titled “Purpose”Create a Pull Request on the linked GitHub repository that adds a GitHub Actions workflow file running the project’s test suite. Auto-detects the framework from the repo’s analyzed languages (playwright / pytest / go / rust) when omitted, and for Rust auto-detects apt packages from Cargo.lock (glib-sys→libglib2.0-dev, openssl-sys→libssl-dev, libxdo-sys→libxdo-dev, etc.) so the generated workflow builds on a bare ubuntu-latest runner. Requires the GitHub App to be installed on the target repo. Returns the PR URL, PR number, workflow file path, detected framework, and the apt packages that were injected.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
repo_id |
integer |
Yes | Code repository ID in QualityMax. |
framework |
string |
No | Optional framework override. Leave unset to auto-detect from the repo’s language analysis. Accepts both CI-template names (playwright / pytest / jest / go / rust) and the canonical execution framework names (rust_cargo / go_test) — they are normalized to the CI naming internally. |
target_branch |
string |
No | Branch the generated workflow triggers on. Defaults to the repo’s default branch. |
trigger_events |
array |
No | Events to trigger the workflow. Only push, pull_request, and workflow_dispatch are supported. |
test_suite |
string |
No | Test suite to run — all (default), smoke, regression, custom. |
browser |
string |
No | Playwright-only. chromium (default), firefox, webkit. |
base_url |
string |
No | Optional BASE_URL to bake into the workflow. |
include_manual_trigger |
boolean |
No | Add a workflow_dispatch trigger so the workflow can be run manually. |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "repo_id": 1 }, "tool": "setup_cicd"}trigger_framework_run
Section titled “trigger_framework_run”Purpose
Section titled “Purpose”Trigger a full framework test execution for a project. The framework must already exist (tests added via accept_pending_tests or add_to_framework). Supports every registered framework — playwright, pytest, cypress, rust_cargo (cargo test), go_test (go test -json), k6, etc. The runner is picked from the project’s framework type; native (Rust/Go) runs execute via cargo/go and return normalized console_logs just like browser runs.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
integer |
Yes | Project ID to run framework tests for |
Return shape
Section titled “Return shape”The live registry does not declare a response schema. Expect a tool-specific JSON result and handle success, error, and result fields defensively.
Worked example
Section titled “Worked example”{ "arguments": { "project_id": 1 }, "tool": "trigger_framework_run"}