Read-only MCP server for Test IT TMS. Gives Claude (or any MCP client) access to test cases, test plans, and test run results.
Read-only. The server cannot modify or delete any data.
git clone https://github.com/AndreyEmtsov/testit-mcp.git
cd testit-mcp
pip3 install -e .- Open your Test IT instance → user menu → API keys
- Create a new PrivateToken
- Recommended: use a service account with read-only permissions
Both TESTIT_URL and TESTIT_PRIVATE_TOKEN are required. There is no default URL — you must specify your own Test IT instance.
claude mcp add testit --scope user \
-e TESTIT_URL=https://your-instance.testit.software \
-e TESTIT_PRIVATE_TOKEN=<your_token> \
-- python3 -m testit_mcpOr use the built-in setup skill for guided configuration:
/mcp-setup:testit
Restart Claude Code after setup. Tools will appear as mcp__testit__*.
Add to .cursor/mcp.json:
{
"mcpServers": {
"testit": {
"command": "python3",
"args": ["-m", "testit_mcp"],
"env": {
"TESTIT_URL": "https://your-instance.testit.software",
"TESTIT_PRIVATE_TOKEN": "<your_token>"
}
}
}
}Add to .vscode/settings.json:
{
"mcp": {
"servers": {
"testit": {
"command": "python3",
"args": ["-m", "testit_mcp"],
"env": {
"TESTIT_URL": "https://your-instance.testit.software",
"TESTIT_PRIVATE_TOKEN": "<your_token>"
}
}
}
}
}Any client that supports stdio transport will work. The server command is python3 -m testit_mcp with two environment variables: TESTIT_URL and TESTIT_PRIVATE_TOKEN.
| Tool | Description |
|---|---|
list_projects |
List all projects |
list_sections |
Browse section tree (folders) of a project |
| Tool | Description |
|---|---|
search_work_items |
Search cases by name, priority, section, tags, globalId, automation status |
get_work_item |
Get test case details by UUID |
get_work_item_iterations |
Get test steps (iterations) of a case |
| Tool | Description |
|---|---|
list_test_plans |
List test plans in a project |
get_test_plan |
Get test plan details |
| Tool | Description |
|---|---|
search_test_runs |
Search test runs by project, plan, or name |
get_test_run |
Get test run details |
get_test_results |
Get results by test points in a run |
search_test_results |
Search results by runs and outcomes (Passed/Failed/Blocked/Skipped) |
To set a default project so Claude uses it when the user doesn't specify one, edit the instructions string in testit_mcp/server.py:
instructions="""...
Default project: "My Project" (id: <project-uuid>).
When the user asks about test cases without specifying a project, use this one.
..."""Ask Claude: "What projects are in Test IT?" — it should call list_projects and return the list.