tuskr-mcp
The tuskr-mcp server provides a read/write interface to the Tuskr test management platform, enabling you to browse, search, and manage test cases from Cursor or any MCP host.
Health & Setup
health_check— Validate environment variables, auth, and API connectivityvalidate_tuskr_setup— Verify custom fields,AutoGentest case type, and API for a specific app
Project & Structure
list_projects— List all Tuskr projects defined in your local configlist_test_suites— List test suites (main folders) for a projectlist_sections— List sections within a project/suiteget_sections_tree— Retrieve the full nested section tree for a project
Test Cases
get_test_cases_by_section— Fetch paginated test cases by section, with optional automation filtering (any,automated,manual,unset)get_test_case— Retrieve a single test case by key (e.g.,C-1234) or IDget_case_steps— Get normalized, ordered steps for a specific test casesearch_test_cases— Search test cases by key, title, or step text with optional automation filteringcreate_test_case_minimal— Create a new test case with steps and custom fields (automated,pre_conditions,priority)
Automation Status
set_test_case_automated— Set theautomatedcustom field (true/false) on a single test caseset_test_cases_automated_bulk— Set theautomatedfield on multiple test cases at once
Suites & Sections Creation
create_test_suite— Create a new test suite, with optional create-or-get behaviorcreate_section— Create a new section under a suite, with optional suite auto-creation
Test Runs (Read-Only)
list_test_runs— List test runs for a project, with optional filtering by status or nameget_test_run— Get details of a specific test run, including optional paginated results
Safety: Only GET and POST API calls are used — nothing can be deleted, and existing test cases cannot be modified except for the automated field.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tuskr-mcp list test cases in the Login suite"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tuskr-mcp
MCP server for Tuskr test management — browse, search, and manage test cases from Cursor or any MCP host.
Requirements
Requirement | Notes |
Python 3.10–3.13 | 3.9 and older cannot install from PyPI |
Tuskr API access | Tenant ID + API token from Settings → API |
Custom field | Checkbox on test cases (required for automation tools) |
Test case type | Only if you use |
pip install tuskr-mcp pulls in mcp and requests automatically.
Related MCP server: TestRail MCP Server
Install
python3 --version # must be 3.10+
pip install tuskr-mcpFrom source (GitHub):
git clone https://github.com/Zapkid/tuskr-mcp.git
cd tuskr-mcp
uv sync
# or: python -m venv .venv && source .venv/bin/activate && pip install -e .Setup
Copy config files
Pick one config location (both files must live in the same folder):
Option | Folder | Typical use |
A. Project folder | Your QA/automation repo root | Same repo as your tests |
B. User config |
| One Tuskr setup for all Cursor projects |
Option A — e.g. ~/projects/my-qa-repo/:
cd ~/projects/my-qa-repo
# copy from the tuskr-mcp repo if you cloned it, or create the files manually
cp /path/to/tuskr-mcp/.env.example .env
cp /path/to/tuskr-mcp/tuskr_projects.example.json tuskr_projects.local.jsonOption B — shared config:
mkdir -p ~/.config/tuskr-mcp
cp /path/to/tuskr-mcp/.env.example ~/.config/tuskr-mcp/.env
cp /path/to/tuskr-mcp/tuskr_projects.example.json ~/.config/tuskr-mcp/tuskr_projects.local.json(projects.json also works in ~/.config/tuskr-mcp/.)
Configure .env
TUSKR_TENANT_ID=your-tenant-id
TUSKR_API_TOKEN=your-api-tokenConfigure projects
Edit tuskr_projects.local.json in that same folder and set project_id per app (from the Tuskr project URL).
Connect Cursor
Add to ~/.cursor/mcp.json.
After pip install — set cwd to the folder where you put .env and tuskr_projects.local.json (Option A or B above). Cursor starts the server in that directory so tuskr-mcp can find your files:
{
"mcpServers": {
"tuskr": {
"command": "python3",
"args": ["-m", "tuskr_mcp"],
"cwd": "/Users/you/projects/my-qa-repo"
}
}
}Examples:
Option A:
"cwd": "/Users/you/projects/my-qa-repo"Option B:
"cwd": "/Users/you/.config/tuskr-mcp"
Use the same Python you installed with (which python3 if needed). To pin a venv: "command": "/path/to/venv/bin/python".
From source (editable install in the tuskr-mcp clone):
{
"mcpServers": {
"tuskr": {
"command": "/path/to/tuskr-mcp/.venv/bin/python",
"args": ["-m", "tuskr_mcp"],
"cwd": "/path/to/tuskr-mcp"
}
}
}Verify
Restart Cursor, enable the tuskr server, then run health_check and validate_tuskr_setup with your app_name.
Tuskr custom fields (test cases)
Label | Key | Type | When needed |
Automated |
| Checkbox | Automation filtering and updates |
Preconditions |
| Text | Optional on create |
Priority |
| Dropdown | Optional on create |
Steps |
| Steps | Required for |
Safe by design
Allowed | Not allowed |
List, search, read cases, steps, and test runs | Update cases (except |
Create suites, sections, and new cases | Delete anything |
Set |
API calls use GET and POST only. Credentials stay in local .env and tuskr_projects.local.json (never committed).
Tools
Tool | Purpose |
| Env, projects file, API connectivity |
| Verify custom fields, |
| Apps defined in |
| Project structure |
| Paginated cases; |
| Single case and steps |
| Search by key, title, or step text |
| Read-only test runs |
| Create resources |
| Update |
Configuration
Variable | Required | Description |
| Yes | Tuskr tenant ID |
| Yes | API token |
| No | Override path to |
| No | Override path to projects JSON |
Lookup order: MCP cwd (see above), then the installed package directory (source install), then ~/.config/tuskr-mcp/. Override with TUSKR_MCP_ENV_FILE / TUSKR_PROJECTS_FILE (absolute paths recommended after pip install).
Troubleshooting
Problem | What to do |
| Use Python 3.10+; check with |
| Create |
Empty | Add apps to |
| Run |
| Add Tuskr custom field |
| Add test case type AutoGen in Tuskr |
| Confirm |
Wrong case for | Pass the full case key |
License
MIT — Copyright (c) Rowan Kendal
Available Tools
17 toolscreate_sectionC
Create a Tuskr section under a suite.
Inputs: app_name (required), section_name (required), suite_id, suite_name, +2 more. Returns: object
create_test_case_minimalB
Create a Tuskr test-case with steps and Tuskr custom fields (automated, steps, optional pre_conditions/priority).
Inputs: app_name (required), title (required), steps (required), section_id, +7 more. Returns: object
create_test_suiteC
Create a Tuskr test suite (main folder).
Inputs: app_name (required), suite_name (required), description, create_or_get. Returns: object
get_case_stepsC
Get normalized ordered steps for one case.
Inputs: app_name (required), case_key_or_id (required). Returns: object
get_sections_treeC
List Tuskr project sections in nested tree form.
Inputs: app_name (required). Returns: object
get_test_caseB
Get one detailed test-case by key (C-xxxx) or id.
Inputs: app_name (required), case_key_or_id (required), include_metadata. Returns: object
get_test_cases_by_sectionC
Get project test-cases by section; optional automated_filter: any, automated, manual, unset.
Inputs: app_name (required), section_id, section_name, suite_id, +5 more. Returns: object
get_test_runA
Get one test run by id; set include_results=true for paginated run results (read-only).
Inputs: app_name (required), run_id (required), include_results, results_page, +2 more. Returns: object
health_checkA
Validate Tuskr env/auth and API connectivity.
Inputs: no named parameters. Returns: object
list_projectsA
List Tuskr projects from your local projects config.
Inputs: no named parameters. Returns: object
list_sectionsC
List Tuskr project sections.
Inputs: app_name (required), suite_id, suite_name. Returns: object
list_test_runsC
List test runs for a project (read-only).
Inputs: app_name (required), page, page_size, name_contains, +1 more. Returns: object
list_test_suitesB
List Tuskr test suites (main folders) for a project.
Inputs: app_name (required). Returns: object
search_test_casesC
Search test-cases by key/title/steps text; optional automated_filter.
Inputs: app_name (required), query (required), section_id, section_name, +5 more. Returns: object
set_test_case_automatedB
Set the custom Tuskr field automated on an existing case (true or false).
Inputs: app_name (required), case_key_or_id (required), automated (required). Returns: object
set_test_cases_automated_bulkC
Set automated on multiple cases by key or id (automated field only).
Inputs: app_name (required), case_keys_or_ids (required), automated (required), skip_missing. Returns: object
validate_tuskr_setupC
Check env, project mapping, AutoGen test-case type, and custom fields for an app.
Inputs: app_name (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
All tools target distinct resources or operations (sections, test cases, suites, runs, projects) with clear boundaries. Even similar tools like set_test_case_automated and set_test_cases_automated_bulk are differentiated by single vs. bulk operation. No two tools are easily confused.
Naming mostly follows verb_noun snake_case (create_section, list_projects). However, 'health_check' and 'validate_tuskr_setup' deviate slightly (health_check is noun_verb, validate_tuskr_setup is verb_noun but longer). Overall pattern is consistent enough for an agent to predict tool names.
With 17 tools, the server is slightly above the typical 3-15 range but still appropriate for a test management domain that covers projects, suites, sections, test cases, test runs, and setup validation. Each tool serves a clear purpose without bloat.
The tool set covers creation and reading for most resources but lacks update and delete operations everywhere except for a single automated field update on test cases. Missing general test case update, test suite update/delete, test run creation, and any deletion. This leaves notable gaps for full lifecycle management.
Maintenance
Related MCP Connectors
Free test management over MCP: projects, test cases, plans, runs, environments and tasks.
Run, debug, and triage tests from your IDE using natural language, no dashboard switching, no manual data transfers. The TestMu AI (formerly LambdaTest) MCP Server is a single remote server exposing four tool suites: HyperExecute — analyze your project, generate YAML configs and test runner commands, then monitor jobs and sessions. Automation — pull a TestID's details plus command, network, and console logs into one chat for instant root-cause analysis. Includes mobile app upload. SmartUI — explain pixel, layout, DOM, and perceptual changes in a visual regression run, with context-aware React/HTML/CSS fixes. Accessibility — audit any public URL or a local React app against WCAG and get ready-to-apply remediation steps. Connects over https://mcp.lambdatest.com/mcp using OAuth 2.1 — no API keys in your config. One-click install in Cursor; works with Claude, GitHub Copilot, Cline, and any MCP client. Tests execute on the TestMu AI cloud: 3,000+ browsers and 10,000+ real devices.
A MCP server built for developers enabling Git based project management with project and personal…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseCqualityFmaintenanceA TypeScript-based MCP server that provides integration with the Qase test management platform, allowing you to manage projects, test cases, runs, results, plans, suites, and shared steps.2612MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for TestRail that enables AI assistants to interact with TestRail's test management platform. It can query and manage projects, test cases, runs, results, plans, milestones, and more.MIT
- AlicenseAqualityBmaintenanceEnables interaction with the Tuskr test management API through MCP, supporting account ID and access token authentication for managing test cases, runs, and projects.1613 PyPI1MIT
- AlicenseAqualityDmaintenanceAn MCP server that integrates Cursor IDE with Xray Test Management for Jira, enabling management of tests, test executions, test plans, and import/export operations.24108 npm2MIT