imperial-mcp-qase 1.0.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/.claude/settings.local.json +15 -0
- package/README.md +208 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +14815 -0
- package/package.json +36 -0
- package/src/client.ts +331 -0
- package/src/index.ts +57 -0
- package/src/tools/cases.ts +219 -0
- package/src/tools/defects.ts +218 -0
- package/src/tools/projects.ts +49 -0
- package/src/tools/results.ts +204 -0
- package/src/tools/runs.ts +182 -0
- package/src/types/qase.ts +343 -0
- package/tsconfig.json +24 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(npm install:*)",
|
|
5
|
+
"Bash(npm run build:*)",
|
|
6
|
+
"Bash(QASE_API_TOKEN=test node:*)",
|
|
7
|
+
"Bash(QASE_API_TOKEN=e63b4898fd2610aeff00876902676a7fbcd7209ac0a594501882ce09c0c4a172 node:*)",
|
|
8
|
+
"Bash(curl:*)",
|
|
9
|
+
"Bash(python3:*)",
|
|
10
|
+
"Bash(npm whoami:*)",
|
|
11
|
+
"Bash(npm publish:*)",
|
|
12
|
+
"Bash(npm config set:*)"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Imperial MCP Qase
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for Qase.io test management platform. Built by Imperial Healthtech for fast, seamless integration between Claude Code and Qase API.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Test Cases**: List, get, create, update, and delete test cases
|
|
8
|
+
- **Defects**: Manage defects including create, update, resolve, and delete
|
|
9
|
+
- **Test Runs**: Create and manage test runs
|
|
10
|
+
- **Test Results**: Add and track test results
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install imperial-mcp-qase
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Or clone and build locally:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
git clone https://github.com/imperial-healthtech/imperial-mcp-qase.git
|
|
22
|
+
cd imperial-mcp-qase
|
|
23
|
+
npm install
|
|
24
|
+
npm run build
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Configuration
|
|
28
|
+
|
|
29
|
+
### Get Your Qase API Token
|
|
30
|
+
|
|
31
|
+
1. Log in to [Qase.io](https://qase.io)
|
|
32
|
+
2. Go to **Settings** → **API Tokens**
|
|
33
|
+
3. Create a new token with appropriate permissions
|
|
34
|
+
|
|
35
|
+
### Configure Claude Code
|
|
36
|
+
|
|
37
|
+
Add to your Claude Code settings (`~/.claude/settings.json` or project `.claude/settings.json`):
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"mcpServers": {
|
|
42
|
+
"qase": {
|
|
43
|
+
"command": "node",
|
|
44
|
+
"args": ["/path/to/imperial-mcp-qase/dist/index.js"],
|
|
45
|
+
"env": {
|
|
46
|
+
"QASE_API_TOKEN": "your_api_token_here"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Or if installed globally via npm:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"mcpServers": {
|
|
58
|
+
"qase": {
|
|
59
|
+
"command": "npx",
|
|
60
|
+
"args": ["imperial-mcp-qase"],
|
|
61
|
+
"env": {
|
|
62
|
+
"QASE_API_TOKEN": "your_api_token_here"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Available Tools
|
|
70
|
+
|
|
71
|
+
### Test Cases (Priority 1)
|
|
72
|
+
|
|
73
|
+
| Tool | Description |
|
|
74
|
+
|------|-------------|
|
|
75
|
+
| `qase_list_cases` | List test cases in a project with optional filtering |
|
|
76
|
+
| `qase_get_case` | Get a single test case by ID |
|
|
77
|
+
| `qase_create_case` | Create a new test case |
|
|
78
|
+
| `qase_update_case` | Update an existing test case |
|
|
79
|
+
| `qase_delete_case` | Delete a test case |
|
|
80
|
+
|
|
81
|
+
### Defects (Priority 2)
|
|
82
|
+
|
|
83
|
+
| Tool | Description |
|
|
84
|
+
|------|-------------|
|
|
85
|
+
| `qase_list_defects` | List defects in a project |
|
|
86
|
+
| `qase_get_defect` | Get a single defect by ID |
|
|
87
|
+
| `qase_create_defect` | Create a new defect |
|
|
88
|
+
| `qase_update_defect` | Update an existing defect |
|
|
89
|
+
| `qase_resolve_defect` | Mark a defect as resolved |
|
|
90
|
+
| `qase_delete_defect` | Delete a defect |
|
|
91
|
+
|
|
92
|
+
### Test Runs (Priority 3)
|
|
93
|
+
|
|
94
|
+
| Tool | Description |
|
|
95
|
+
|------|-------------|
|
|
96
|
+
| `qase_list_runs` | List test runs in a project |
|
|
97
|
+
| `qase_get_run` | Get a single test run by ID |
|
|
98
|
+
| `qase_create_run` | Create a new test run |
|
|
99
|
+
| `qase_complete_run` | Complete/finish a test run |
|
|
100
|
+
| `qase_delete_run` | Delete a test run |
|
|
101
|
+
|
|
102
|
+
### Test Results (Priority 3)
|
|
103
|
+
|
|
104
|
+
| Tool | Description |
|
|
105
|
+
|------|-------------|
|
|
106
|
+
| `qase_list_results` | List test results for a test run |
|
|
107
|
+
| `qase_get_result` | Get a single test result by hash |
|
|
108
|
+
| `qase_add_result` | Add a test result to a test run |
|
|
109
|
+
| `qase_add_results_bulk` | Add multiple test results at once |
|
|
110
|
+
| `qase_delete_result` | Delete a test result |
|
|
111
|
+
|
|
112
|
+
## Usage Examples
|
|
113
|
+
|
|
114
|
+
### List Test Cases
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
List all test cases in project DEMO
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Claude will use `qase_list_cases` with `project_code: "DEMO"`.
|
|
121
|
+
|
|
122
|
+
### Create a Test Case
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
Create a new test case in DEMO project titled "Login Flow" with steps:
|
|
126
|
+
1. Navigate to login page
|
|
127
|
+
2. Enter credentials
|
|
128
|
+
3. Click login button
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Add Test Result
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Add a passed result for case 123 in run 456 for project DEMO
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Create a Defect
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
Create a defect in DEMO project: "Login button not working" with severity blocker
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Install dependencies
|
|
147
|
+
npm install
|
|
148
|
+
|
|
149
|
+
# Development (watch mode)
|
|
150
|
+
npm run dev
|
|
151
|
+
|
|
152
|
+
# Build
|
|
153
|
+
npm run build
|
|
154
|
+
|
|
155
|
+
# Type check
|
|
156
|
+
npm run typecheck
|
|
157
|
+
|
|
158
|
+
# Test locally
|
|
159
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | QASE_API_TOKEN=xxx node dist/index.js
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## API Reference
|
|
163
|
+
|
|
164
|
+
This MCP server wraps the [Qase.io API v1](https://developers.qase.io/reference/).
|
|
165
|
+
|
|
166
|
+
### Severity Levels
|
|
167
|
+
|
|
168
|
+
| Value | Level |
|
|
169
|
+
|-------|-------|
|
|
170
|
+
| 0 | Not set |
|
|
171
|
+
| 1 | Blocker |
|
|
172
|
+
| 2 | Critical |
|
|
173
|
+
| 3 | Major |
|
|
174
|
+
| 4 | Normal |
|
|
175
|
+
| 5 | Minor |
|
|
176
|
+
| 6 | Trivial |
|
|
177
|
+
|
|
178
|
+
### Priority Levels
|
|
179
|
+
|
|
180
|
+
| Value | Level |
|
|
181
|
+
|-------|-------|
|
|
182
|
+
| 0 | Not set |
|
|
183
|
+
| 1 | High |
|
|
184
|
+
| 2 | Medium |
|
|
185
|
+
| 3 | Low |
|
|
186
|
+
|
|
187
|
+
### Result Status
|
|
188
|
+
|
|
189
|
+
- `passed`
|
|
190
|
+
- `failed`
|
|
191
|
+
- `blocked`
|
|
192
|
+
- `skipped`
|
|
193
|
+
- `invalid`
|
|
194
|
+
|
|
195
|
+
### Defect Status
|
|
196
|
+
|
|
197
|
+
- `open`
|
|
198
|
+
- `resolved`
|
|
199
|
+
- `in_progress`
|
|
200
|
+
- `invalid`
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
MIT
|
|
205
|
+
|
|
206
|
+
## Author
|
|
207
|
+
|
|
208
|
+
Imperial Healthtech
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|