add_case
Add a new test case
Create and close TestRail runs, post results against individual tests, and keep projects, cases and datasets in step from the client instead of the web UI.
LABSCO SUMMARY
The set is deliberately flat CRUD, which makes it good for the loop a CI job actually needs: add_run against a case list, add_result per test as the suite reports, close_run at the end. Results go in one at a time — there is no batch result tool here — so a large suite means one call per test. Delete exists on every object type and takes only an id, so the credential that files results is also the credential that can remove a project.
A TestRail API client covering projects, test cases, runs, results and datasets, with read, create, update and delete on each.
A TestRail instance and an account with API access, supplied as TESTRAIL_URL, TESTRAIL_USERNAME and TESTRAIL_API_KEY. That account's permissions are the only limit on the delete tools, which cover projects, cases, runs and datasets.
One command plus a key — uvx testrail-mcp, then supply credentials
USE CASES
Find the project, pull the cases for the suite you are covering, and open a run from an explicit case list or from every case in the suite, assigned to whoever is on duty.
Post a result per test with status, elapsed time and any defect references, read them back to confirm what landed, and close the run so it stops accepting entries.
Open the case, rewrite its separated steps, estimate or priority, and delete the ones covering behaviour that no longer exists.
Create the project with its suite mode and announcement, adjust it once the shape settles, and add the datasets the cases will draw on.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_caseAdd a new test case
add_datasetAdd a new dataset
add_projectAdd a new project
add_resultAdd a new test result
add_runAdd a new test run
close_runClose an existing test run
delete_caseDelete a test case
delete_datasetDelete a dataset
delete_projectDelete a project
delete_runDelete a test run
get_caseGet a test case by ID
get_casesGet all test cases for a project/suite
get_datasetGet a dataset by ID
get_datasetsGet all datasets for a project
get_projectGet a project by ID
get_projectsGet all projects
get_resultsGet all test results for a test
get_runGet a test run by ID
get_runsGet all test runs for a project
update_caseUpdate an existing test case
update_datasetUpdate an existing dataset
update_projectUpdate an existing project
update_runUpdate an existing test run
BEFORE YOU INSTALL
23 tools when we connected. The server can delete projects, cases, runs and datasets without asking twice; results can be added but not updated or deleted, and close_run is one-way. Use an API key scoped to what it should touch.
CONTEXT COST
Rated by the size of the 23 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
uvx testrail-mcp{
"mcpServers": {
"testrail": {
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://<YOUR_INSTANCE>.testrail.io",
"TESTRAIL_USERNAME": "<YOUR_TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<YOUR_TESTRAIL_API_KEY>"
}
}
}
}{
"mcpServers": {
"TestRail MCP": {
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://<YOUR_INSTANCE>.testrail.io",
"TESTRAIL_USERNAME": "<YOUR_TESTRAIL_USERNAME>",
"TESTRAIL_API_KEY": "<YOUR_TESTRAIL_API_KEY>"
}
}
}
}