ai-test-process-mcp 0.1.0 → 0.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.
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
- import { iso29119TestPlanStructure } from "../resources/iso29119.js";
3
- const TBD = "_TBD — not provided by caller_";
2
+ import { testPlanTemplate, testTypeCatalog, judgmentStatusDefinitions, incidentRankDefinitions, questionPriorityDefinitions, executionRecordNotes, standardMetrics, } from "../resources/testPlanTemplate.js";
3
+ const TBD = "_未記入_";
4
+ const TBD_REQUIRED = "_未記入(必須)_";
4
5
  export const generateTestPlanInputShape = {
5
6
  projectName: z.string().describe("Name of the project or system under test"),
6
7
  scope: z.string().describe("What is in scope for testing (features, systems, boundaries)"),
@@ -33,30 +34,99 @@ export const generateTestPlanInputShape = {
33
34
  passFailCriteria: z.string().optional(),
34
35
  suspensionCriteria: z.string().optional(),
35
36
  approvers: z.array(z.string()).optional(),
37
+ systemOverview: z
38
+ .object({
39
+ name: z.string().optional(),
40
+ users: z.string().optional(),
41
+ purpose: z.string().optional(),
42
+ detail: z.string().optional(),
43
+ devType: z.string().optional(),
44
+ })
45
+ .optional(),
46
+ references: z
47
+ .array(z.object({
48
+ name: z.string(),
49
+ author: z.string().optional(),
50
+ version: z.string().optional(),
51
+ receivedDate: z.string().optional(),
52
+ note: z.string().optional(),
53
+ }))
54
+ .optional(),
55
+ background: z
56
+ .object({
57
+ current: z.string().optional(),
58
+ concerns: z.string().optional(),
59
+ })
60
+ .optional(),
61
+ testLevels: z.array(z.string()).optional(),
62
+ revisionContent: z.array(z.string()).optional(),
63
+ testItems: z
64
+ .array(z.object({ name: z.string(), summary: z.string().optional() }))
65
+ .optional(),
66
+ selectedTestTypes: z.array(z.string()).optional(),
67
+ testTechniques: z
68
+ .array(z.object({
69
+ testType: z.string(),
70
+ approach: z.string().optional(),
71
+ technique: z.string().optional(),
72
+ }))
73
+ .optional(),
74
+ testPeriod: z.string().optional(),
75
+ startCriteria: z.string().optional(),
76
+ endCriteria: z.string().optional(),
77
+ completionCriteria: z.array(z.string()).optional(),
78
+ metricsNote: z.string().optional(),
79
+ testDataRequirements: z
80
+ .array(z.object({
81
+ description: z.string(),
82
+ owner: z.string().optional(),
83
+ period: z.string().optional(),
84
+ }))
85
+ .optional(),
86
+ stakeholders: z
87
+ .array(z.object({
88
+ role: z.string(),
89
+ name: z.string().optional(),
90
+ contact: z.string().optional(),
91
+ }))
92
+ .optional(),
93
+ assumptions: z.array(z.string()).optional(),
94
+ constraints: z.array(z.string()).optional(),
95
+ glossary: z.array(z.object({ term: z.string(), definition: z.string() })).optional(),
96
+ referenceDocs: z
97
+ .array(z.object({ name: z.string(), description: z.string().optional() }))
98
+ .optional(),
99
+ notes: z.string().optional(),
36
100
  };
37
101
  const generateTestPlanInputSchema = z.object(generateTestPlanInputShape);
38
- function listOrTbd(items) {
102
+ function requiredTbd(required) {
103
+ return required ? TBD_REQUIRED : TBD;
104
+ }
105
+ function listOrTbd(items, required = false) {
39
106
  if (!items || items.length === 0)
40
- return TBD;
107
+ return requiredTbd(required);
41
108
  return items.map((item) => `- ${item}`).join("\n");
42
109
  }
43
- function risksOrTbd(risks) {
110
+ function textOrTbd(value, required = false) {
111
+ return value && value.trim() ? value : requiredTbd(required);
112
+ }
113
+ function risksOrTbd(risks, required = false) {
44
114
  if (!risks || risks.length === 0)
45
- return TBD;
115
+ return requiredTbd(required);
46
116
  return risks
47
117
  .map((risk) => {
48
118
  const parts = [`- ${risk.description}`];
49
119
  if (risk.impact)
50
- parts.push(`(impact: ${risk.impact})`);
120
+ parts.push(`(影響: ${risk.impact})`);
51
121
  if (risk.mitigation)
52
- parts.push(`— mitigation: ${risk.mitigation}`);
122
+ parts.push(`— 対策: ${risk.mitigation}`);
53
123
  return parts.join(" ");
54
124
  })
55
125
  .join("\n");
56
126
  }
57
- function teamOrTbd(team) {
127
+ function teamOrTbd(team, required = false) {
58
128
  if (!team || team.length === 0)
59
- return TBD;
129
+ return requiredTbd(required);
60
130
  return team
61
131
  .map((member) => {
62
132
  const namePart = member.name ? ` (${member.name})` : "";
@@ -65,75 +135,336 @@ function teamOrTbd(team) {
65
135
  })
66
136
  .join("\n");
67
137
  }
68
- function scheduleOrTbd(schedule) {
138
+ function scheduleOrTbd(schedule, required = false) {
69
139
  if (!schedule || (!schedule.startDate && !schedule.endDate && !schedule.milestones?.length)) {
70
- return TBD;
140
+ return requiredTbd(required);
71
141
  }
72
142
  const lines = [];
73
- lines.push(`- Start date: ${schedule.startDate ?? TBD}`);
74
- lines.push(`- End date: ${schedule.endDate ?? TBD}`);
143
+ lines.push(`- 開始: ${schedule.startDate ?? TBD}`);
144
+ lines.push(`- 終了: ${schedule.endDate ?? TBD}`);
75
145
  if (schedule.milestones && schedule.milestones.length > 0) {
76
- lines.push("- Milestones:");
146
+ lines.push("- マイルストーン:");
77
147
  for (const milestone of schedule.milestones) {
78
148
  lines.push(` - ${milestone.name}: ${milestone.date}`);
79
149
  }
80
150
  }
81
151
  return lines.join("\n");
82
152
  }
83
- function sectionContent(sectionId, input) {
84
- switch (sectionId) {
85
- case "introduction":
86
- return `**Purpose:** ${input.scope}\n\n**Objectives:**\n${listOrTbd(input.objectives)}`;
153
+ function backgroundContent(input, required) {
154
+ const bg = input.background;
155
+ if (!bg || (!bg.current && !bg.concerns))
156
+ return requiredTbd(required);
157
+ const lines = [];
158
+ if (bg.current)
159
+ lines.push(`**現状:** ${bg.current}`);
160
+ if (bg.concerns)
161
+ lines.push(`**懸念:** ${bg.concerns}`);
162
+ return lines.join("\n\n");
163
+ }
164
+ function referencesContent(input, required) {
165
+ const refs = input.references;
166
+ if (!refs || refs.length === 0)
167
+ return requiredTbd(required);
168
+ const lines = [];
169
+ lines.push("| 名称 | 作成者 | バージョン | 受領日 | 備考 |");
170
+ lines.push("| --- | --- | --- | --- | --- |");
171
+ for (const ref of refs) {
172
+ lines.push(`| ${ref.name} | ${ref.author ?? "-"} | ${ref.version ?? "-"} | ${ref.receivedDate ?? "-"} | ${ref.note ?? "-"} |`);
173
+ }
174
+ return lines.join("\n");
175
+ }
176
+ function referencesTestbaseContent(input, required) {
177
+ const hasRefs = !!(input.references && input.references.length > 0);
178
+ const hasDocs = !!(input.referenceDocs && input.referenceDocs.length > 0);
179
+ if (!hasRefs && !hasDocs)
180
+ return requiredTbd(required);
181
+ const lines = [];
182
+ if (hasRefs)
183
+ lines.push(referencesContent(input, false));
184
+ if (hasDocs) {
185
+ if (hasRefs)
186
+ lines.push("");
187
+ lines.push("**参考文献:**");
188
+ lines.push(referenceDocsContent(input, false));
189
+ }
190
+ return lines.join("\n");
191
+ }
192
+ function scopeObjectivesContent(input, required) {
193
+ const lines = [];
194
+ lines.push(`**スコープ:** ${textOrTbd(input.scope, required)}`);
195
+ if (input.objectives && input.objectives.length > 0) {
196
+ lines.push("");
197
+ lines.push("**目的・目標:**");
198
+ lines.push(listOrTbd(input.objectives));
199
+ }
200
+ return lines.join("\n");
201
+ }
202
+ function testItemsContent(input, required) {
203
+ const items = input.testItems;
204
+ const overview = input.systemOverview;
205
+ const overviewLines = [];
206
+ if (overview) {
207
+ if (overview.name)
208
+ overviewLines.push(`- 名称: ${overview.name}`);
209
+ if (overview.purpose)
210
+ overviewLines.push(`- 目的: ${overview.purpose}`);
211
+ if (overview.users)
212
+ overviewLines.push(`- 利用者: ${overview.users}`);
213
+ if (overview.devType)
214
+ overviewLines.push(`- 開発形態: ${overview.devType}`);
215
+ if (overview.detail)
216
+ overviewLines.push(`- 詳細: ${overview.detail}`);
217
+ }
218
+ const itemsBody = items && items.length > 0
219
+ ? items.map((item) => `- ${item.name}${item.summary ? `: ${item.summary}` : ""}`).join("\n")
220
+ : null;
221
+ if (!itemsBody && overviewLines.length === 0)
222
+ return requiredTbd(required);
223
+ const lines = [];
224
+ if (overviewLines.length > 0) {
225
+ lines.push("**システム概要:**");
226
+ lines.push(...overviewLines);
227
+ if (itemsBody)
228
+ lines.push("");
229
+ }
230
+ lines.push(itemsBody ?? requiredTbd(required));
231
+ return lines.join("\n");
232
+ }
233
+ function testTypesContent(input) {
234
+ const selected = new Set(input.selectedTestTypes ?? []);
235
+ const lines = [];
236
+ lines.push("| 対象 | テストタイプ | 説明 |");
237
+ lines.push("| --- | --- | --- |");
238
+ for (const t of testTypeCatalog) {
239
+ const mark = selected.has(t.name) ? "〇" : "";
240
+ lines.push(`| ${mark} | ${t.name} | ${t.description} |`);
241
+ }
242
+ return lines.join("\n");
243
+ }
244
+ function testTechniquesContent(input, required) {
245
+ const techs = input.testTechniques;
246
+ if (!techs || techs.length === 0)
247
+ return requiredTbd(required);
248
+ const lines = [];
249
+ lines.push("| テストタイプ | アプローチ | 技法 |");
250
+ lines.push("| --- | --- | --- |");
251
+ for (const t of techs) {
252
+ lines.push(`| ${t.testType} | ${t.approach ?? "-"} | ${t.technique ?? "-"} |`);
253
+ }
254
+ return lines.join("\n");
255
+ }
256
+ function startEndCriteriaContent(input, required) {
257
+ if (!input.startCriteria && !input.endCriteria)
258
+ return requiredTbd(required);
259
+ const lines = [];
260
+ lines.push(`**開始基準:** ${input.startCriteria ?? TBD}`);
261
+ lines.push(`**終了基準:** ${input.endCriteria ?? TBD}`);
262
+ return lines.join("\n\n");
263
+ }
264
+ function resultJudgmentContent(input) {
265
+ const lines = [];
266
+ lines.push(input.passFailCriteria ?? TBD_REQUIRED);
267
+ lines.push("");
268
+ lines.push("**判定ステータス定義:**");
269
+ lines.push("");
270
+ lines.push("| ステータス | 説明 |");
271
+ lines.push("| --- | --- |");
272
+ for (const s of judgmentStatusDefinitions) {
273
+ lines.push(`| ${s.status} | ${s.description} |`);
274
+ }
275
+ return lines.join("\n");
276
+ }
277
+ function incidentCriteriaContent() {
278
+ const lines = [];
279
+ lines.push("| ランク | 説明 |");
280
+ lines.push("| --- | --- |");
281
+ for (const r of incidentRankDefinitions) {
282
+ lines.push(`| ${r.rank} | ${r.description} |`);
283
+ }
284
+ return lines.join("\n");
285
+ }
286
+ function questionPriorityContent() {
287
+ const lines = [];
288
+ lines.push("| 重要度 | 説明 |");
289
+ lines.push("| --- | --- |");
290
+ for (const q of questionPriorityDefinitions) {
291
+ lines.push(`| ${q.level} | ${q.description} |`);
292
+ }
293
+ return lines.join("\n");
294
+ }
295
+ function executionRecordContent() {
296
+ return executionRecordNotes.map((note, i) => `${i + 1}. ${note}`).join("\n");
297
+ }
298
+ function metricsContent(input) {
299
+ const lines = [];
300
+ lines.push("| メトリクス | 収集項目 |");
301
+ lines.push("| --- | --- |");
302
+ for (const m of standardMetrics) {
303
+ lines.push(`| ${m.name} | ${m.items} |`);
304
+ }
305
+ if (input.metricsNote && input.metricsNote.trim()) {
306
+ lines.push("");
307
+ lines.push(input.metricsNote);
308
+ }
309
+ return lines.join("\n");
310
+ }
311
+ function testDataRequirementsContent(input, required) {
312
+ const reqs = input.testDataRequirements;
313
+ if (!reqs || reqs.length === 0)
314
+ return requiredTbd(required);
315
+ const lines = [];
316
+ lines.push("| 内容 | 準備担当 | 期間 |");
317
+ lines.push("| --- | --- | --- |");
318
+ for (const r of reqs) {
319
+ lines.push(`| ${r.description} | ${r.owner ?? "-"} | ${r.period ?? "-"} |`);
320
+ }
321
+ return lines.join("\n");
322
+ }
323
+ function stakeholdersContent(input, required) {
324
+ const sh = input.stakeholders;
325
+ if (!sh || sh.length === 0)
326
+ return requiredTbd(required);
327
+ return sh
328
+ .map((s) => {
329
+ const namePart = s.name ? ` (${s.name})` : "";
330
+ const contactPart = s.contact ? ` — ${s.contact}` : "";
331
+ return `- ${s.role}${namePart}${contactPart}`;
332
+ })
333
+ .join("\n");
334
+ }
335
+ function assumptionsConstraintsContent(input, required) {
336
+ const hasAny = (input.assumptions && input.assumptions.length > 0) ||
337
+ (input.constraints && input.constraints.length > 0);
338
+ if (!hasAny)
339
+ return requiredTbd(required);
340
+ const lines = [];
341
+ lines.push("**前提条件:**");
342
+ lines.push(listOrTbd(input.assumptions));
343
+ lines.push("");
344
+ lines.push("**制限事項:**");
345
+ lines.push(listOrTbd(input.constraints));
346
+ return lines.join("\n");
347
+ }
348
+ function glossaryContent(input, required) {
349
+ const g = input.glossary;
350
+ if (!g || g.length === 0)
351
+ return requiredTbd(required);
352
+ return g.map((entry) => `- **${entry.term}**: ${entry.definition}`).join("\n");
353
+ }
354
+ function referenceDocsContent(input, required) {
355
+ const docs = input.referenceDocs;
356
+ if (!docs || docs.length === 0)
357
+ return requiredTbd(required);
358
+ return docs
359
+ .map((doc) => `- ${doc.name}${doc.description ? `: ${doc.description}` : ""}`)
360
+ .join("\n");
361
+ }
362
+ function sectionContent(section, input) {
363
+ const req = section.required;
364
+ switch (section.id) {
365
+ case "scope-objectives":
366
+ return scopeObjectivesContent(input, req);
367
+ case "background":
368
+ return backgroundContent(input, req);
369
+ case "references-testbase":
370
+ return referencesTestbaseContent(input, req);
371
+ case "assumptions-constraints":
372
+ return assumptionsConstraintsContent(input, req);
373
+ case "glossary":
374
+ return glossaryContent(input, req);
87
375
  case "test-items":
88
- return `**Project:** ${input.projectName}\n\n**Scope:** ${input.scope}`;
376
+ return testItemsContent(input, req);
89
377
  case "features-to-be-tested":
90
- return listOrTbd(input.featuresToTest);
378
+ return listOrTbd(input.featuresToTest, req);
91
379
  case "features-not-to-be-tested":
92
- return listOrTbd(input.featuresNotToTest);
93
- case "approach":
94
- return TBD;
95
- case "item-pass-fail-criteria":
96
- return input.passFailCriteria ?? TBD;
380
+ return listOrTbd(input.featuresNotToTest, req);
381
+ case "test-levels":
382
+ return listOrTbd(input.testLevels, req);
383
+ case "test-types":
384
+ return testTypesContent(input);
385
+ case "test-techniques":
386
+ return testTechniquesContent(input, req);
387
+ case "start-end-criteria":
388
+ return startEndCriteriaContent(input, req);
389
+ case "result-judgment":
390
+ return resultJudgmentContent(input);
391
+ case "completion-criteria":
392
+ return listOrTbd(input.completionCriteria, req);
393
+ case "incident-criteria":
394
+ return incidentCriteriaContent();
395
+ case "question-priority":
396
+ return questionPriorityContent();
97
397
  case "suspension-resumption-criteria":
98
- return input.suspensionCriteria ?? TBD;
398
+ return textOrTbd(input.suspensionCriteria, req);
99
399
  case "test-deliverables":
100
- return listOrTbd(input.deliverables);
101
- case "testing-tasks":
102
- return TBD;
103
- case "environmental-needs":
104
- return input.environment ?? TBD;
105
- case "responsibilities":
106
- return teamOrTbd(input.team);
107
- case "staffing-and-training-needs":
108
- return TBD;
109
- case "schedule":
110
- return scheduleOrTbd(input.scheduleConstraints);
111
- case "risks-and-contingencies":
112
- return risksOrTbd(input.risks);
113
- case "approvals":
114
- return listOrTbd(input.approvers);
400
+ return listOrTbd(input.deliverables, req);
401
+ case "execution-record":
402
+ return executionRecordContent();
403
+ case "collected-metrics":
404
+ return metricsContent(input);
405
+ case "env-requirements":
406
+ return textOrTbd(input.environment, req);
407
+ case "testdata-requirements":
408
+ return testDataRequirementsContent(input, req);
409
+ case "test-org":
410
+ return teamOrTbd(input.team, req);
411
+ case "stakeholders":
412
+ return stakeholdersContent(input, req);
413
+ case "test-period":
414
+ return textOrTbd(input.testPeriod, req);
415
+ case "schedule-plan":
416
+ return scheduleOrTbd(input.scheduleConstraints, req);
417
+ case "product-risk":
418
+ return risksOrTbd(input.risks, req);
419
+ case "approvers":
420
+ return listOrTbd(input.approvers, req);
421
+ case "notes":
422
+ return textOrTbd(input.notes, req);
115
423
  default:
116
- return TBD;
424
+ return requiredTbd(req);
117
425
  }
118
426
  }
119
- export function renderTestPlan(input, structure = iso29119TestPlanStructure) {
427
+ function revisionHistory(input) {
428
+ const approver = input.approvers && input.approvers.length > 0 ? input.approvers.join("、") : TBD;
429
+ const changeContent = input.revisionContent && input.revisionContent.length > 0
430
+ ? input.revisionContent.join(";")
431
+ : "初版作成";
432
+ return [
433
+ "## 改訂履歴",
434
+ "",
435
+ "| 改訂日 | バージョン | 作成・改訂者 | 承認者 | 改訂内容 |",
436
+ "| --- | --- | --- | --- | --- |",
437
+ `| ${TBD} | ${TBD} | ${TBD} | ${approver} | ${changeContent} |`,
438
+ ];
439
+ }
440
+ export function renderTestPlan(input, template = testPlanTemplate) {
120
441
  const lines = [];
121
- lines.push(`# Test Plan: ${input.projectName}`);
442
+ lines.push(`# テスト計画書: ${input.projectName}`);
122
443
  lines.push("");
123
- lines.push(`*Conforms to the structure of ${structure.standard}*`);
444
+ lines.push(`*${template.templateName}*`);
124
445
  lines.push("");
125
- structure.sections.forEach((section, index) => {
126
- lines.push(`## ${index + 1}. ${section.title}`);
127
- lines.push("");
128
- lines.push(sectionContent(section.id, input));
446
+ lines.push(...revisionHistory(input));
447
+ lines.push("");
448
+ const sections = template.sections;
449
+ sections.forEach((section, index) => {
450
+ const heading = section.level === 1 ? "##" : "###";
451
+ lines.push(`${heading} ${section.no} ${section.titleJa}`);
129
452
  lines.push("");
453
+ // level 1 の章に子(level 2)がある場合は見出しのみ。
454
+ // それ以外(level 2、または子を持たない level 1)は本文を出力する。
455
+ const next = sections[index + 1];
456
+ const hasChildren = section.level === 1 && next?.level === 2;
457
+ if (!hasChildren) {
458
+ lines.push(sectionContent(section, input));
459
+ lines.push("");
460
+ }
130
461
  });
131
462
  return lines.join("\n").trimEnd() + "\n";
132
463
  }
133
464
  export function registerGenerateTestPlanTool(server) {
134
- server.registerTool("generate_test_plan_draft", {
465
+ server.registerTool("gen_test_plan", {
135
466
  title: "Generate Test Plan Draft",
136
- description: "Generates an ISO/IEC/IEEE 29119-3 conformant test plan document draft in markdown from project information. Fields not provided are marked as TBD.",
467
+ description: "ISO/IEC/IEEE 29119-3 準拠・15章構成の日本語テスト計画書ドラフトを生成。未入力項目は 未記入 と明示。",
137
468
  inputSchema: generateTestPlanInputShape,
138
469
  }, async (input) => {
139
470
  const markdown = renderTestPlan(input);
@@ -1 +1 @@
1
- {"version":3,"file":"generateTestPlan.js","sourceRoot":"","sources":["../../src/tools/generateTestPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateTestPlan.js","sourceRoot":"","sources":["../../src/tools/generateTestPlan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,46 +1,50 @@
1
- {
2
- "name": "ai-test-process-mcp",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "description": "MCP server providing AI-assisted test process tools, starting with ISO/IEC/IEEE 29119-3 conformant test plan draft generation.",
6
- "license": "MIT",
7
- "author": "Hashi_Kazu <outsider.prs.0721@gmail.com>",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/Hashi-Kazu/ai-test-process-mcp.git"
11
- },
12
- "keywords": [
13
- "mcp",
14
- "model-context-protocol",
15
- "test-plan",
16
- "iso29119",
17
- "testing"
18
- ],
19
- "files": [
20
- "dist"
21
- ],
22
- "bin": {
23
- "ai-test-process-mcp": "dist/server.js"
24
- },
25
- "scripts": {
26
- "build": "tsc",
27
- "dev": "tsc --watch",
28
- "start": "node dist/server.js",
29
- "test": "vitest run",
30
- "inspect": "npm run build && npx @modelcontextprotocol/inspector node dist/server.js",
31
- "prepublishOnly": "npm run build"
32
- },
33
- "dependencies": {
34
- "@modelcontextprotocol/sdk": "^1.29.0",
35
- "zod": "^4.4.3"
36
- },
37
- "devDependencies": {
38
- "@modelcontextprotocol/inspector": "^0.22.0",
39
- "@types/node": "^22.10.0",
40
- "typescript": "^5.7.0",
41
- "vitest": "^3.0.0"
42
- },
43
- "engines": {
44
- "node": ">=18"
45
- }
46
- }
1
+ {
2
+ "name": "ai-test-process-mcp",
3
+ "version": "0.3.0",
4
+ "type": "module",
5
+ "description": "MCP server providing AI-assisted test process tools, starting with ISO/IEC/IEEE 29119-3 conformant test plan draft generation.",
6
+ "license": "MIT",
7
+ "author": "Hashi_Kazu <outsider.prs.0721@gmail.com>",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/Hashi-Kazu/ai-test-process-mcp.git"
11
+ },
12
+ "homepage": "https://github.com/Hashi-Kazu/ai-test-process-mcp#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/Hashi-Kazu/ai-test-process-mcp/issues"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "model-context-protocol",
19
+ "test-plan",
20
+ "iso29119",
21
+ "testing"
22
+ ],
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "bin": {
27
+ "ai-test-process-mcp": "dist/server.js"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "dev": "tsc --watch",
32
+ "start": "node dist/server.js",
33
+ "test": "vitest run",
34
+ "inspect": "npm run build && npx @modelcontextprotocol/inspector node dist/server.js",
35
+ "prepublishOnly": "npm run build"
36
+ },
37
+ "dependencies": {
38
+ "@modelcontextprotocol/sdk": "^1.29.0",
39
+ "zod": "^4.4.3"
40
+ },
41
+ "devDependencies": {
42
+ "@modelcontextprotocol/inspector": "^0.22.0",
43
+ "@types/node": "^22.10.0",
44
+ "typescript": "^5.7.0",
45
+ "vitest": "^3.0.0"
46
+ },
47
+ "engines": {
48
+ "node": ">=18"
49
+ }
50
+ }