MCP Tool Reference

This page documents every tool exposed by the Pie MCP server (https://mcp.pie.inc) with structured parameter schemas. Use this reference when building integrations or when your AI coding assistant needs exact tool definitions.

For natural-language usage examples, see Available Functions.

MCP Server: https://mcp.pie.inc Protocol Version: 2024-11-05 Transport: Streamable HTTP Authentication: X-API-Key header or api_key query parameter


Issue Management

get_issues

Fetch issues with optional filtering. Returns simplified list by default (IssueID, Title, Description). By default returns only active (open) issues - rejected and resolved/dismissed issues are excluded.

ParameterTypeRequiredDescription
detailedbooleanNoSet to true for full issue details including resolution status, test case info, steps, and assertions
resolutionstringNoFilter by lifecycle state: comma-separated from active, resolved, rejected. Defaults to active. Use active,resolved,rejected to see all
triagestringNoFilter by admin triage: comma-separated from approved, pending
testSuiteIdstringNoFilter issues by test suite ID
runIdstringNoFilter issues by the run in which they were first discovered
cursorstringNoPagination cursor. Omit for first page

get_issue

Fetch details for a single issue by ID.

ParameterTypeRequiredDescription
issueIdstringYesThe ID of the issue to fetch
detailedbooleanNoSet to true for full details including test case info, steps, assertions, and comments

resolve_issues

Close issues as fixed/resolved. Changes resolution state from active to resolved.

ParameterTypeRequiredDescription
issueIdsstring[]YesArray of issue IDs to resolve
dismissedReasonstringNoReason for resolving

reject_issues

Close issues as false positives, or undo a previous rejection.

ParameterTypeRequiredDescription
issueIdsstring[]YesArray of issue IDs to reject (or un-reject if undo=true)
rejectReasonstringNoReason for rejecting (ignored when undo=true)
undobooleanNoSet to true to reverse a previous rejection back to pending

approve_issues

Confirm issues as valid (triage), or undo a previous approval.

ParameterTypeRequiredDescription
issueIdsstring[]YesArray of issue IDs to approve (or unapprove if undo=true)
undobooleanNoSet to true to reverse a previous approval back to pending

Test Case Management

get_testcases

Fetch test cases with optional filtering. Returns simplified list by default (TestcaseID, Title, Description). By default returns only active test cases (excludes archived, in-creation, and issue-linked).

ParameterTypeRequiredDescription
detailedbooleanNoSet to true for full details (steps, assertions). Only use with testCaseIds to avoid large responses
testCaseIdsstringNoComma-separated list of test case IDs (e.g., 1,2,3)
archivedstringNoFilter: true for archived only, false for non-archived only
statusstringNoComma-separated from active, in-creation, archived, issue-linked
testSuiteIdstringNoFilter by test suite ID
cursorstringNoPagination cursor

create_custom_testcase

Create and automatically queue a new test case from a natural language prompt. The test will be generated, queued, and executed automatically.

ParameterTypeRequiredDescription
promptstringYesNatural language description of the test case to create
runIdstringNoRun ID to execute against. Defaults to the latest default run
credentialIdstringNoCredential ID to use. Use get_credentials to find available IDs
bundleIdstringNoOverride URL for web app tests

run_specific_testcases

Execute existing test cases by their IDs. If you have a description instead of IDs, call get_testcases first to find the matching IDs.

ParameterTypeRequiredDescription
testCaseIdsinteger[]YesArray of numeric test case IDs to execute (e.g., [123, 456])
runIdstringNoRun ID to execute against. Defaults to the latest run

update_testcase

Update an existing test case’s title, description, steps, assertions, and/or key feature assignment. Supports partial updates.

ParameterTypeRequiredDescription
testCaseIdintegerYesThe ID of the test case to update
titlestringNoNew title
descriptionstringNoNew description
stepsstring[]NoNew array of test steps
assertionsstring[]NoNew array of assertions
groupIdstringNoKey feature ID to assign. Use manage_key_features with action=get to list available IDs
credentialIdstringNoCredential ID to assign
bundleIdstringNoOverride URL for web app tests. Set empty string to clear

archive_testcases

Archive test cases by marking them as archived.

ParameterTypeRequiredDescription
testCaseIdsinteger[]YesArray of test case IDs to archive

unarchive_testcases

Unarchive previously archived test cases.

ParameterTypeRequiredDescription
testCaseIdsinteger[]YesArray of test case IDs to unarchive

add_testcase_to_suite

Add a custom test case to the main test suite (default suite). Removes the test case from in-creation status.

ParameterTypeRequiredDescription
testCaseIdintegerYesThe ID of the test case to add to the main suite

Test Results & Findings

get_results

Fetch test execution results with optional filtering. Returns simplified results by default (Test ID, Title, Pass/Fail, Reasoning, Findings).

ParameterTypeRequiredDescription
detailedbooleanNoSet to true for step-by-step execution details. Only use with testCaseIds to avoid large responses
runIDstringNoRun ID to fetch results for. Defaults to the latest run
testCaseIdsstringNoComma-separated test case IDs to filter
statusstringNoFilter by result: Pass or Fail
withImagesstringNoSet to true to include image URLs in execution steps
cursorstringNoPagination cursor

get_findings

Fetch findings for a specific run. Findings are run-specific and emerge from test cases. Issues are de-duplicated findings at the app level.

ParameterTypeRequiredDescription
runIDstringNoRun ID. Defaults to the latest run
statusstringNoFilter: pending, approved, or rejected
testCaseIdstringNoFilter findings for a specific test case
cursorstringNoPagination cursor

approve_findings

Confirm findings as valid. Changes triage state from pending to approved.

ParameterTypeRequiredDescription
findingIdsstring[]YesArray of finding IDs to approve
runIDstringNoRun ID where findings are located. Defaults to the latest run

reject_findings

Mark findings as false positives.

ParameterTypeRequiredDescription
findingIdsstring[]YesArray of finding IDs to reject
rejectReasonstringNoReason for rejecting
runIDstringNoRun ID. Defaults to the latest run

Test Run Management

create_run

Create a new test run.

ParameterTypeRequiredDescription
buildIDstringNoBuild ID to associate with the run
osVersionstringNoOS version for test execution (e.g., 18.2 for iOS, 33 for Android)

run_discovery

Create a new discovery run to automatically explore the app and generate test cases. Only works if the app has no existing test cases.

ParameterTypeRequiredDescription
buildIDstringNoBuild ID to associate with the discovery run

get_runs

Fetch all test runs for the application. Returns run IDs, build info, status, and timestamps.

ParameterTypeRequiredDescription
cursorstringNoPagination cursor

Key Features

manage_key_features

Manage key features (also called “groups”) that organize test cases into logical groups.

ParameterTypeRequiredDescription
actionstringYesget to fetch all, add to create, update to modify, delete to remove
keyFeaturesobject[]NoArray of key feature objects (required for add, update, delete)

Key feature object properties:

PropertyTypeDescription
idstringUnique identifier. Used as groupId on test cases. Required for update/delete
namestringDisplay name. Required for add/update
descriptionstringDescription of the feature
iconstringIcon identifier. Use get_available_icons to see options
promptsstring[]Associated prompts
sortIndexintegerSort order for display
starbooleanWhether this feature is starred

get_available_icons

Get the list of available radix-ui icons for key features. No parameters.


Test Suites

create_test_suite

Create a new test suite to organize test cases into logical groups.

ParameterTypeRequiredDescription
namestringYesSuite name (e.g., “Smoke Tests”, “Regression Suite”)
testCaseIdsinteger[]NoTest case IDs to include
suiteInstructionsstringNoCustom instructions that override app-level instructions
suiteURLstringNoCustom URL for browser platforms only
osVersionstringNoAndroid OS version (e.g., 30, 33)

get_test_suites

List all test suites for the application. Returns suite names, IDs, and test case counts. No parameters.

update_test_suite

Update an existing test suite. Supports partial updates.

ParameterTypeRequiredDescription
testSuiteIdstringYesID of the test suite to update
namestringNoNew name
addTestCaseIdsinteger[]NoTest case IDs to add
removeTestCaseIdsinteger[]NoTest case IDs to remove
suiteInstructionsstringNoUpdated custom instructions
suiteURLstringNoUpdated URL (browser platforms only)
osVersionstringNoUpdated Android OS version

delete_test_suite

Delete a test suite. Test cases are NOT deleted, just unlinked from the suite.

ParameterTypeRequiredDescription
testSuiteIdstringYesID of the test suite to delete

Credentials

get_credentials

Fetch all credentials for the current app. Returns credential ID, name, username, and default status. Passwords are not returned. No parameters.

create_credential

Create a new login credential for the app.

ParameterTypeRequiredDescription
usernamestringYesLogin username
passwordstringYesLogin password
namestringYesFriendly name (e.g., “Admin User”, “Test Account”)
isDefaultbooleanNoSet to true to make this the default credential

Scripts

get_scripts

Fetch all execution scripts for the current app. Scripts are shell commands referenced in test steps using #{script-name} syntax. No parameters.

create_script

Create a new execution script.

ParameterTypeRequiredDescription
namestringYesScript name used for #{name} syntax in test steps
instructionsstringYesShell command(s) to execute when invoked

App Configuration & Admin

get_app

Fetch app configuration and details including ID, name, platform, and settings. No parameters.

get_apps

Admin only. List all apps available to switch to. No parameters.

search_apps

Admin only. Search for apps by name (case-insensitive partial match).

ParameterTypeRequiredDescription
querystringYesSearch query to match against app names

switch_app

Admin only. Switch the active app for this MCP session. All subsequent tool calls will operate on the specified app.

ParameterTypeRequiredDescription
app_idstringNoApp ID to switch to. Omit to reset to the default app

Advanced Testing

trigger_rediscovery

Trigger rediscovery for an existing test case to detect product changes and auto-update the test.

ParameterTypeRequiredDescription
testCaseIDintegerYesThe test case ID to trigger rediscovery for
rediscoveryInstructionsstringNoContext about what changed (e.g., “The navigation menu was redesigned”)

get_step_doms

Fetch DOM (HTML) content for each step of a test case execution. DOMs can be large - use stepIds to limit scope.

ParameterTypeRequiredDescription
testCaseIdstringYesTest case ID to fetch DOMs for
runIDstringNoRun ID. Defaults to the latest run
stepIdsstringNoComma-separated step IDs to filter (e.g., 1,3,5)
cursorstringNoPagination cursor

generate_tests_on_local

Generate a terminal command template for running local test case exploration on localhost URLs.

ParameterTypeRequiredDescription
promptsstring[]NoArray of test case descriptions/prompts
localhost_urlstringNoLocal URL where the website is hosted

start_test_monitoring

Fetch test results and findings for a completed test case. Only call this after the test execution has finished.

ParameterTypeRequiredDescription
testCaseIdstringYesTest case ID from completed test execution
runIdstringNoRun ID associated with the test execution

Bounding Box Evaluation

get_bbox_evaluations

Fetch pending bounding box evaluations that need human correction.

ParameterTypeRequiredDescription
isProcessedstringNoFilter: true or false
isVerifiedstringNoFilter: true for verified, false for pending
limitstringNoMax evaluations to return (1-100, default 50)

submit_bbox_correction

Submit a corrected bounding box for a test case step.

ParameterTypeRequiredDescription
testCaseIdstringYesTest case ID
runIdstringYesRun ID
seqIdstringYesSequence ID
stepIdstringYesStep ID
correctedBBoxstringYesCorrected bounding box as JSON array: [x, y, width, height]

Utility

health_check

Check the health of the Pie API service. Verifies connectivity and authentication. No parameters.


Pagination

Tools that return lists support cursor-based pagination. When more results are available, the response includes a cursor value. Pass it as the cursor parameter in your next call to fetch the next page. Omit cursor for the first page.