@testkase/mcp-server 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -154
- package/build/index.js +688 -175
- package/build/index.js.map +1 -1
- package/build/test-config.js +1 -0
- package/build/test-config.js.map +1 -1
- package/package.json +40 -33
- package/PAT_APIS_INVENTORY.csv +0 -27
package/README.md
CHANGED
|
@@ -1,48 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://testkase.com">
|
|
3
|
+
<img src="https://testkase.com/logo.png" alt="TestKase" width="120" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
<h3 align="center">@testkase/mcp-server</h3>
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
<p align="center">
|
|
10
|
+
Official MCP server for <a href="https://testkase.com">TestKase</a> — connect your AI agent to a complete test management platform.
|
|
11
|
+
</p>
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://www.npmjs.com/package/@testkase/mcp-server"><img src="https://img.shields.io/npm/v/@testkase/mcp-server.svg?style=flat-square" alt="npm version" /></a>
|
|
15
|
+
<a href="https://www.npmjs.com/package/@testkase/mcp-server"><img src="https://img.shields.io/npm/dm/@testkase/mcp-server.svg?style=flat-square" alt="npm downloads" /></a>
|
|
16
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="MIT License" /></a>
|
|
17
|
+
</p>
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
- **Stateless** — every tool takes `projectId` explicitly (no state management required)
|
|
12
|
-
- **11 thoughtful tools** — fewer tools, broader coverage, designed for AI agents
|
|
13
|
-
- **Structured JSON** — all responses are JSON (AI agents format for users)
|
|
14
|
-
- **Secure** — PAT token authentication with auto-resolved organization
|
|
19
|
+
---
|
|
15
20
|
|
|
16
|
-
##
|
|
21
|
+
## What is this?
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
This package gives AI agents — Claude Desktop, GitHub Copilot, Cursor, or any [MCP](https://modelcontextprotocol.io)-compatible client — full access to your TestKase projects. Your agent can create test cases, run test cycles, record execution results, and pull reports, all through natural language.
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
npm install -g @testkase/mcp-server
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Local Installation
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
npm install @testkase/mcp-server
|
|
28
|
-
```
|
|
25
|
+
**11 tools. Zero config beyond a token. Works out of the box.**
|
|
29
26
|
|
|
30
27
|
## Quick Start
|
|
31
28
|
|
|
32
|
-
### 1. Get
|
|
29
|
+
### 1. Get a PAT token
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
2. Navigate to **Settings > Personal Access Tokens**
|
|
36
|
-
3. Click **"Generate New Token"**
|
|
37
|
-
4. Copy the token (starts with `xyz_`)
|
|
31
|
+
Log in to [TestKase](https://www.testkase.com) > **API Keys** > **Generate New Token**
|
|
38
32
|
|
|
39
|
-
### 2.
|
|
33
|
+
### 2. Add to your AI agent
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
<details>
|
|
36
|
+
<summary><strong>Claude Desktop</strong></summary>
|
|
42
37
|
|
|
43
|
-
Edit your
|
|
44
|
-
- **Windows
|
|
45
|
-
- **macOS
|
|
38
|
+
Edit your config file:
|
|
39
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
40
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
46
41
|
|
|
47
42
|
```json
|
|
48
43
|
{
|
|
@@ -51,19 +46,21 @@ Edit your Claude config file:
|
|
|
51
46
|
"command": "npx",
|
|
52
47
|
"args": ["-y", "@testkase/mcp-server"],
|
|
53
48
|
"env": {
|
|
54
|
-
"TESTKASE_API_BASE_URL": "https://
|
|
55
|
-
"TESTKASE_PAT_TOKEN": "
|
|
49
|
+
"TESTKASE_API_BASE_URL": "https://api.testkase.com",
|
|
50
|
+
"TESTKASE_PAT_TOKEN": "xyz_your_token_here"
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
55
|
```
|
|
56
|
+
</details>
|
|
61
57
|
|
|
62
|
-
|
|
58
|
+
<details>
|
|
59
|
+
<summary><strong>GitHub Copilot (VS Code)</strong></summary>
|
|
63
60
|
|
|
64
|
-
Edit your
|
|
65
|
-
- **Windows
|
|
66
|
-
- **macOS
|
|
61
|
+
Edit your config file:
|
|
62
|
+
- **Windows:** `%APPDATA%\Code\User\globalStorage\github.copilot\mcp.json`
|
|
63
|
+
- **macOS:** `~/Library/Application Support/Code/User/globalStorage/github.copilot/mcp.json`
|
|
67
64
|
|
|
68
65
|
```json
|
|
69
66
|
{
|
|
@@ -72,149 +69,121 @@ Edit your Copilot config file:
|
|
|
72
69
|
"command": "npx",
|
|
73
70
|
"args": ["-y", "@testkase/mcp-server"],
|
|
74
71
|
"env": {
|
|
75
|
-
"TESTKASE_API_BASE_URL": "https://
|
|
76
|
-
"TESTKASE_PAT_TOKEN": "
|
|
72
|
+
"TESTKASE_API_BASE_URL": "https://api.testkase.com",
|
|
73
|
+
"TESTKASE_PAT_TOKEN": "xyz_your_token_here"
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
78
|
```
|
|
79
|
+
</details>
|
|
82
80
|
|
|
83
|
-
|
|
81
|
+
<details>
|
|
82
|
+
<summary><strong>Claude Code (CLI)</strong></summary>
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
### 4. Start Using!
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
"List my projects"
|
|
92
|
-
"Show test cases in project PRJ-1001"
|
|
93
|
-
"Create a test cycle called 'Sprint 42 Regression' in project PRJ-1001"
|
|
94
|
-
"Execute TEST-1 as pass and TEST-2 as fail in cycle TCYCLE-5"
|
|
95
|
-
"Show me the execution summary report for project PRJ-1001"
|
|
84
|
+
```bash
|
|
85
|
+
claude mcp add testkase -e TESTKASE_API_BASE_URL=https://api.testkase.com -e TESTKASE_PAT_TOKEN=xyz_your_token_here -- npx -y @testkase/mcp-server
|
|
96
86
|
```
|
|
87
|
+
</details>
|
|
97
88
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### 1. `list_projects`
|
|
101
|
-
List all projects the user has access to. Use this first to discover project IDs.
|
|
102
|
-
- **Params:** `search?`, `page?`, `limit?`
|
|
103
|
-
|
|
104
|
-
### 2. `get_project_structure`
|
|
105
|
-
Get folders, labels, and team members for a project.
|
|
106
|
-
- **Params:** `projectId`, `section?` (TESTCASE|TEST_CYCLE|TEST_PLAN), `include?` (folders,labels,members)
|
|
107
|
-
|
|
108
|
-
### 3. `search_testcases`
|
|
109
|
-
Search and list test cases with filters, sorting, and pagination.
|
|
110
|
-
- **Params:** `projectId`, `search?`, `filters?`, `page?`, `limit?`, `sortBy?`, `sortOrder?`
|
|
111
|
-
|
|
112
|
-
### 4. `get_testcase`
|
|
113
|
-
Get full details of a test case including test steps.
|
|
114
|
-
- **Params:** `projectId`, `testcaseId`
|
|
115
|
-
|
|
116
|
-
### 5. `manage_testcase`
|
|
117
|
-
Create, bulk create, update, or delete test cases.
|
|
118
|
-
- **Actions:** `create`, `create_bulk`, `update`, `delete`
|
|
119
|
-
- **Params:** `projectId`, `action`, + action-specific params (title, summary, priority, folder_id, labels, test_steps, testcases, ids, field, value)
|
|
120
|
-
|
|
121
|
-
### 6. `manage_folder`
|
|
122
|
-
Create, rename, move, or delete folders across all sections.
|
|
123
|
-
- **Actions:** `create`, `rename`, `move`, `delete`
|
|
124
|
-
- **Params:** `projectId`, `action`, `section?`, `name?`, `folderId?`, `parentId?`
|
|
125
|
-
|
|
126
|
-
### 7. `search_test_cycles`
|
|
127
|
-
List and search test cycles with execution progress.
|
|
128
|
-
- **Params:** `projectId`, `search?`, `folderId?`, `status?`, `page?`, `limit?`
|
|
129
|
-
|
|
130
|
-
### 8. `manage_test_cycle`
|
|
131
|
-
Full test cycle lifecycle management.
|
|
132
|
-
- **Actions:** `create`, `update`, `delete`, `get_details`, `get_testcases`, `link_testcases`, `unlink_testcases`, `assign_testcases`
|
|
133
|
-
- **Params:** `projectId`, `action`, `cycleId?`, + action-specific params
|
|
134
|
-
|
|
135
|
-
### 9. `execute_tests`
|
|
136
|
-
Record test execution results (single or bulk). This is the most critical tool for test execution workflows.
|
|
137
|
-
- **Params:** `projectId`, `cycleId`, `results` (JSON array with testcase_id, execution_status, actual_result?, environment?)
|
|
138
|
-
- Auto-detects single vs bulk execution by array length
|
|
139
|
-
|
|
140
|
-
### 10. `manage_test_plan`
|
|
141
|
-
Full test plan lifecycle management.
|
|
142
|
-
- **Actions:** `create`, `update`, `delete`, `list`, `get_details`, `link_cycles`, `unlink_cycles`, `get_cycles`, `get_testcases`
|
|
143
|
-
- **Params:** `projectId`, `action`, `planId?`, + action-specific params
|
|
144
|
-
|
|
145
|
-
### 11. `get_report`
|
|
146
|
-
Unified reporting with 40+ report types covering execution, coverage, trends, team, defects, and AI insights.
|
|
147
|
-
- **Params:** `projectId`, `report_type`, `test_cycle_ids?`, `test_plan_ids?`, `startDate?`, `endDate?`, `granularity?`
|
|
148
|
-
- **Report types:** execution_summary, execution_by_cycle, execution_by_tester, execution_by_priority, execution_by_environment, execution_by_folder, requirement_coverage, traceability_matrix, failed_requirements, uncovered_requirements, testcase_coverage, unlinked_testcases, defects_by_folder, tester_workload, testcase_distribution, execution_trend, execution_burnup, execution_burndown, test_creation, cycle_comparison, scorecard_by_folder, scorecard_by_tester, created_vs_executed, execution_by_automation, defects_by_cycle, defects_by_tester, requirement_coverage_trend, flaky_tests, release_readiness, risk_heatmap_folder, risk_heatmap_feature, testcase_quality, predictive_failure, smart_prioritization, tester_effectiveness, stale_tests, defect_hotspots, cycle_health, suite_optimization, requirement_risk_matrix, execution_velocity, project_health
|
|
149
|
-
|
|
150
|
-
## Configuration
|
|
89
|
+
<details>
|
|
90
|
+
<summary><strong>Cursor</strong></summary>
|
|
151
91
|
|
|
152
|
-
|
|
92
|
+
Add to `.cursor/mcp.json` in your project root:
|
|
153
93
|
|
|
154
|
-
- **`TESTKASE_API_BASE_URL`**: API base URL (default: `https://apiqa.testkase.com`)
|
|
155
|
-
- **`TESTKASE_PAT_TOKEN`**: Your Personal Access Token (required)
|
|
156
|
-
|
|
157
|
-
### Using with Different Environments
|
|
158
|
-
|
|
159
|
-
**Production:**
|
|
160
|
-
```json
|
|
161
|
-
"env": {
|
|
162
|
-
"TESTKASE_API_BASE_URL": "https://api.testkase.com",
|
|
163
|
-
"TESTKASE_PAT_TOKEN": "xyz_your_token"
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**Local Development:**
|
|
168
94
|
```json
|
|
169
|
-
|
|
170
|
-
"
|
|
171
|
-
|
|
95
|
+
{
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"testkase": {
|
|
98
|
+
"command": "npx",
|
|
99
|
+
"args": ["-y", "@testkase/mcp-server"],
|
|
100
|
+
"env": {
|
|
101
|
+
"TESTKASE_API_BASE_URL": "https://api.testkase.com",
|
|
102
|
+
"TESTKASE_PAT_TOKEN": "xyz_your_token_here"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
172
106
|
}
|
|
173
107
|
```
|
|
108
|
+
</details>
|
|
174
109
|
|
|
175
|
-
|
|
110
|
+
### 3. Restart your agent and start talking
|
|
176
111
|
|
|
177
|
-
|
|
112
|
+
```
|
|
113
|
+
"List my projects"
|
|
114
|
+
"Create a login test case in PRJ-1001 with steps"
|
|
115
|
+
"Run TEST-1 as pass in cycle TCYCLE-5"
|
|
116
|
+
"Show me the execution summary for PRJ-1001"
|
|
117
|
+
```
|
|
178
118
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
|
184
|
-
|
|
185
|
-
| `
|
|
186
|
-
| `
|
|
187
|
-
|
|
|
188
|
-
|
|
|
189
|
-
|
|
|
190
|
-
|
|
|
191
|
-
|
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Tools
|
|
122
|
+
|
|
123
|
+
| Tool | Description |
|
|
124
|
+
|------|-------------|
|
|
125
|
+
| `list_projects` | List all accessible projects |
|
|
126
|
+
| `get_project_structure` | Get folders, labels, members, and field options for a project |
|
|
127
|
+
| `search_testcases` | Search test cases by text, folder, filters, sorting, and pagination |
|
|
128
|
+
| `get_testcase` | Get full test case details including steps |
|
|
129
|
+
| `manage_testcase` | Create, bulk create, update, or delete test cases; add, edit, delete or reorder test steps |
|
|
130
|
+
| `manage_folder` | Create, rename, move, or delete folders (all sections) |
|
|
131
|
+
| `search_test_cycles` | Search test cycles with execution progress |
|
|
132
|
+
| `manage_test_cycle` | Full cycle lifecycle — CRUD, link/unlink/assign test cases |
|
|
133
|
+
| `execute_tests` | Record execution results — manual (default) or as a CI/automation run |
|
|
134
|
+
| `manage_test_plan` | Full plan lifecycle — CRUD, link/unlink cycles, view test cases |
|
|
135
|
+
| `get_report` | Pull from 40+ report types (see below) |
|
|
136
|
+
|
|
137
|
+
### Reporting
|
|
138
|
+
|
|
139
|
+
`get_report` covers execution, coverage, trends, team, defect, and insight report types (insights are computed from your data and use no AI credits):
|
|
140
|
+
|
|
141
|
+
| Category | Report Types |
|
|
142
|
+
|----------|-------------|
|
|
143
|
+
| **Execution** | `execution_summary`, `execution_by_cycle`, `execution_by_tester`, `execution_by_priority`, `execution_by_environment`, `execution_by_folder`, `execution_by_automation` |
|
|
144
|
+
| **Coverage** | `requirement_coverage`, `traceability_matrix`, `failed_requirements`, `uncovered_requirements`, `testcase_coverage`, `unlinked_testcases` |
|
|
145
|
+
| **Trends** | `execution_trend`, `execution_burnup`, `execution_burndown`, `test_creation`, `requirement_coverage_trend`, `execution_velocity` |
|
|
146
|
+
| **Comparison** | `cycle_comparison`, `created_vs_executed`, `scorecard_by_folder`, `scorecard_by_tester` |
|
|
147
|
+
| **Team** | `tester_workload`, `testcase_distribution`, `tester_effectiveness` |
|
|
148
|
+
| **Defects** | `defects_by_cycle`, `defects_by_tester`, `defects_by_folder`, `defect_hotspots` |
|
|
149
|
+
| **Insights** | `predictive_failure`, `smart_prioritization`, `testcase_quality`, `stale_tests`, `flaky_tests`, `suite_optimization` |
|
|
150
|
+
| **Risk & Release** | `release_readiness`, `risk_heatmap_folder`, `risk_heatmap_feature`, `requirement_risk_matrix`, `cycle_health`, `project_health` |
|
|
151
|
+
|
|
152
|
+
---
|
|
192
153
|
|
|
193
|
-
##
|
|
154
|
+
## Configuration
|
|
194
155
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
156
|
+
| Variable | Required | Default | Description |
|
|
157
|
+
|----------|----------|---------|-------------|
|
|
158
|
+
| `TESTKASE_PAT_TOKEN` | Yes | — | Personal Access Token (starts with `xyz_`) |
|
|
159
|
+
| `TESTKASE_API_BASE_URL` | No | `https://api.testkase.com` | API endpoint |
|
|
160
|
+
| `TESTKASE_ORGANIZATION_ID` | No | your first organization | Set this if you belong to more than one organization |
|
|
161
|
+
| `TESTKASE_APP_URL` | No | `https://test-management.testkase.com` | Base for the links returned with results |
|
|
198
162
|
|
|
199
|
-
|
|
200
|
-
1. Restart your AI agent completely
|
|
201
|
-
2. Check the config file path is correct
|
|
202
|
-
3. Verify the JSON syntax is valid
|
|
163
|
+
---
|
|
203
164
|
|
|
204
|
-
|
|
205
|
-
- Check that the API base URL is correct
|
|
206
|
-
- Verify the TestKase API is accessible
|
|
165
|
+
## Troubleshooting
|
|
207
166
|
|
|
208
|
-
|
|
167
|
+
| Problem | Solution |
|
|
168
|
+
|---------|----------|
|
|
169
|
+
| "Authentication required" | Verify your token starts with `xyz_` and hasn't expired |
|
|
170
|
+
| Tool not showing up | Restart your AI agent completely; check JSON syntax in config |
|
|
171
|
+
| API connection errors | Verify `TESTKASE_API_BASE_URL` is reachable |
|
|
209
172
|
|
|
210
|
-
|
|
211
|
-
- [Model Context Protocol](https://modelcontextprotocol.io)
|
|
173
|
+
---
|
|
212
174
|
|
|
213
|
-
##
|
|
175
|
+
## Links
|
|
214
176
|
|
|
215
|
-
-
|
|
216
|
-
-
|
|
177
|
+
- [TestKase](https://testkase.com) — Product website
|
|
178
|
+
- [Documentation](https://docs.testkase.com) — Full platform docs
|
|
179
|
+
- [MCP Protocol](https://modelcontextprotocol.io) — Model Context Protocol spec
|
|
217
180
|
|
|
218
181
|
## License
|
|
219
182
|
|
|
220
183
|
MIT
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
<p align="center">
|
|
188
|
+
Built by <a href="https://testkase.com">TestKase</a>
|
|
189
|
+
</p>
|