@nbrem108/cai-mcp-server 0.1.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.
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ export declare const spikePlanSchema: {
3
+ goal: z.ZodString;
4
+ background: z.ZodOptional<z.ZodString>;
5
+ timeboxHours: z.ZodOptional<z.ZodNumber>;
6
+ timeboxDays: z.ZodOptional<z.ZodNumber>;
7
+ knownConstraints: z.ZodOptional<z.ZodString>;
8
+ successCriteria: z.ZodOptional<z.ZodString>;
9
+ };
10
+ export declare const spikePlanInputSchema: z.ZodObject<{
11
+ goal: z.ZodString;
12
+ background: z.ZodOptional<z.ZodString>;
13
+ timeboxHours: z.ZodOptional<z.ZodNumber>;
14
+ timeboxDays: z.ZodOptional<z.ZodNumber>;
15
+ knownConstraints: z.ZodOptional<z.ZodString>;
16
+ successCriteria: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ goal: string;
19
+ background?: string | undefined;
20
+ timeboxHours?: number | undefined;
21
+ timeboxDays?: number | undefined;
22
+ knownConstraints?: string | undefined;
23
+ successCriteria?: string | undefined;
24
+ }, {
25
+ goal: string;
26
+ background?: string | undefined;
27
+ timeboxHours?: number | undefined;
28
+ timeboxDays?: number | undefined;
29
+ knownConstraints?: string | undefined;
30
+ successCriteria?: string | undefined;
31
+ }>;
32
+ export declare function handleSpikePlan(args: z.infer<typeof spikePlanInputSchema>): {
33
+ content: Array<{
34
+ type: "text";
35
+ text: string;
36
+ }>;
37
+ };
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ import { applySpikePlanTemplate } from "../prompts/templates.js";
3
+ export const spikePlanSchema = {
4
+ goal: z.string().describe("Spike goal"),
5
+ background: z.string().optional().describe("Background context"),
6
+ timeboxHours: z.number().optional().describe("Timebox in hours"),
7
+ timeboxDays: z.number().optional().describe("Timebox in days"),
8
+ knownConstraints: z.string().optional().describe("Known constraints"),
9
+ successCriteria: z.string().optional().describe("Success criteria"),
10
+ };
11
+ export const spikePlanInputSchema = z.object(spikePlanSchema);
12
+ export function handleSpikePlan(args) {
13
+ const result = applySpikePlanTemplate(args);
14
+ return {
15
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
16
+ };
17
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Shared types for Command Alkon MCP tools.
3
+ */
4
+ export type IssueType = "Story" | "Bug" | "Spike" | "Task";
5
+ export interface JiraIssueDraftInput {
6
+ issueType: IssueType;
7
+ projectKey?: string;
8
+ titleHint?: string;
9
+ context: string;
10
+ constraints?: string;
11
+ appArea?: string;
12
+ persona?: string;
13
+ includeQuestions?: boolean;
14
+ }
15
+ export interface JiraIssueDraftOutput {
16
+ summary: string;
17
+ descriptionMarkdown: string;
18
+ acceptanceCriteria: string[];
19
+ labels: string[];
20
+ components: string[];
21
+ priority: string;
22
+ storyPoints?: number;
23
+ openQuestions: string[];
24
+ }
25
+ export interface SpikePlanInput {
26
+ goal: string;
27
+ background?: string;
28
+ timeboxHours?: number;
29
+ timeboxDays?: number;
30
+ knownConstraints?: string;
31
+ successCriteria?: string;
32
+ }
33
+ export interface SpikePlanOutput {
34
+ planOverview: string;
35
+ tasks: string[];
36
+ decisionLogTemplate: string;
37
+ deliverables: string[];
38
+ risks: string[];
39
+ nextSteps: string[];
40
+ }
41
+ export interface JiraBugFromReportInput {
42
+ reportText: string;
43
+ expectedBehavior?: string;
44
+ actualBehavior?: string;
45
+ environment?: string;
46
+ stepsToReproduce?: string;
47
+ severityHint?: string;
48
+ }
49
+ export interface JiraBugFromReportOutput {
50
+ summary: string;
51
+ descriptionMarkdown: string;
52
+ labels: string[];
53
+ priority: string;
54
+ openQuestions: string[];
55
+ }
56
+ export interface AcceptanceCriteriaInput {
57
+ storySummary: string;
58
+ storyDescription: string;
59
+ uiScope?: string;
60
+ permissionsScope?: string;
61
+ }
62
+ export interface AcceptanceCriteriaOutput {
63
+ acceptanceCriteria: string[];
64
+ testNotes: string[];
65
+ edgeCases: string[];
66
+ }
67
+ export type ReleaseNotesAudience = "Customer" | "Internal" | "Exec";
68
+ export type ReleaseNotesTone = "Neutral" | "MarketingLight" | "Technical";
69
+ export type ReleaseNotesGroupBy = "AppArea" | "Type" | "Epic";
70
+ export interface ReleaseNoteIssue {
71
+ key?: string;
72
+ summary: string;
73
+ description?: string;
74
+ type?: string;
75
+ impact?: string;
76
+ }
77
+ export interface ReleaseNotesInput {
78
+ issues: ReleaseNoteIssue[];
79
+ audience: ReleaseNotesAudience;
80
+ tone: ReleaseNotesTone;
81
+ groupBy: ReleaseNotesGroupBy;
82
+ }
83
+ export interface ReleaseNotesOutput {
84
+ highlights: string[];
85
+ detailsByGroup: Record<string, string[]>;
86
+ knownLimitations?: string[];
87
+ supportNotes?: string[];
88
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Shared types for Command Alkon MCP tools.
3
+ */
4
+ export {};
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@nbrem108/cai-mcp-server",
3
+ "version": "0.1.0",
4
+ "description": "Official Jira issue writing prompt context and tools for Cursor (Command Alkon). No Jira API—copy-paste only.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "cai-mcp-server": "bin/cai-mcp.mjs"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "bin",
13
+ "package.json",
14
+ "README.md",
15
+ ".env.example"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc && node scripts/copy-vocab.mjs",
19
+ "start": "node dist/index.js",
20
+ "dev": "tsc && node dist/index.js",
21
+ "test": "npm run build && node scripts/smoke-test-tools.mjs",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "engines": {
25
+ "node": ">=18"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/command-alkon/cai-mcp-server.git"
30
+ },
31
+ "homepage": "https://github.com/command-alkon/cai-mcp-server#readme",
32
+ "bugs": {
33
+ "url": "https://github.com/command-alkon/cai-mcp-server/issues"
34
+ },
35
+ "keywords": [
36
+ "mcp",
37
+ "jira",
38
+ "cursor",
39
+ "command-alkon",
40
+ "model-context-protocol"
41
+ ],
42
+ "license": "MIT",
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "dependencies": {
47
+ "@modelcontextprotocol/sdk": "^1.0.0",
48
+ "dotenv": "^16.4.5",
49
+ "zod": "^3.23.8"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "^20.14.0",
53
+ "typescript": "^5.5.0"
54
+ },
55
+ "mcpName": "io.github.nbrem108/cai-mcp-server"
56
+ }