@wanadev/mcp-gitlab 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.
@@ -0,0 +1,176 @@
1
+ export interface GitLabConfig {
2
+ baseUrl: string;
3
+ token: string;
4
+ readOnly: boolean;
5
+ }
6
+ export interface GitLabGroup {
7
+ id: number;
8
+ name: string;
9
+ full_path: string;
10
+ web_url: string;
11
+ description: string | null;
12
+ parent_id: number | null;
13
+ }
14
+ export interface GitLabEpic {
15
+ id: number;
16
+ iid: number;
17
+ group_id: number;
18
+ title: string;
19
+ description: string | null;
20
+ state: "opened" | "closed";
21
+ web_url: string;
22
+ labels: string[];
23
+ start_date: string | null;
24
+ due_date: string | null;
25
+ created_at: string;
26
+ updated_at: string;
27
+ closed_at: string | null;
28
+ author: GitLabUser;
29
+ upvotes: number;
30
+ downvotes: number;
31
+ }
32
+ export interface GitLabTimeStats {
33
+ time_estimate: number;
34
+ total_time_spent: number;
35
+ human_time_estimate: string | null;
36
+ human_total_time_spent: string | null;
37
+ }
38
+ export interface GitLabIssue {
39
+ id: number;
40
+ iid: number;
41
+ project_id: number;
42
+ title: string;
43
+ description: string | null;
44
+ state: "opened" | "closed";
45
+ web_url: string;
46
+ labels: string[];
47
+ milestone: GitLabMilestone | null;
48
+ assignees: GitLabUser[];
49
+ author: GitLabUser;
50
+ due_date: string | null;
51
+ created_at: string;
52
+ updated_at: string;
53
+ closed_at: string | null;
54
+ weight: number | null;
55
+ epic_iid: number | null;
56
+ time_stats: GitLabTimeStats;
57
+ }
58
+ export interface GitLabMilestone {
59
+ id: number;
60
+ iid: number;
61
+ group_id?: number;
62
+ project_id?: number;
63
+ title: string;
64
+ description: string | null;
65
+ state: "active" | "closed";
66
+ web_url: string;
67
+ due_date: string | null;
68
+ start_date: string | null;
69
+ created_at: string;
70
+ updated_at: string;
71
+ expired: boolean;
72
+ }
73
+ export interface GitLabIteration {
74
+ id: number;
75
+ iid: number;
76
+ group_id: number;
77
+ title: string;
78
+ description: string | null;
79
+ state: "upcoming" | "current" | "closed";
80
+ web_url: string;
81
+ start_date: string;
82
+ due_date: string;
83
+ created_at: string;
84
+ updated_at: string;
85
+ }
86
+ export interface GitLabUser {
87
+ id: number;
88
+ username: string;
89
+ name: string;
90
+ state: string;
91
+ avatar_url: string;
92
+ web_url: string;
93
+ }
94
+ export interface GitLabProject {
95
+ id: number;
96
+ name: string;
97
+ name_with_namespace: string;
98
+ path: string;
99
+ path_with_namespace: string;
100
+ web_url: string;
101
+ description: string | null;
102
+ default_branch: string;
103
+ archived: boolean;
104
+ }
105
+ export interface GitLabMember {
106
+ id: number;
107
+ username: string;
108
+ name: string;
109
+ state: string;
110
+ access_level: number;
111
+ web_url: string;
112
+ }
113
+ export interface GitLabMergeRequest {
114
+ id: number;
115
+ iid: number;
116
+ project_id: number;
117
+ title: string;
118
+ description: string | null;
119
+ state: "opened" | "closed" | "merged" | "locked";
120
+ web_url: string;
121
+ source_branch: string;
122
+ target_branch: string;
123
+ labels: string[];
124
+ milestone: GitLabMilestone | null;
125
+ author: GitLabUser;
126
+ assignees: GitLabUser[];
127
+ reviewers: GitLabUser[];
128
+ draft: boolean;
129
+ merge_status: string;
130
+ has_conflicts: boolean;
131
+ created_at: string;
132
+ updated_at: string;
133
+ merged_at: string | null;
134
+ closed_at: string | null;
135
+ }
136
+ export interface GitLabLabel {
137
+ id: number;
138
+ name: string;
139
+ color: string;
140
+ text_color: string;
141
+ description: string | null;
142
+ open_issues_count: number;
143
+ closed_issues_count: number;
144
+ open_merge_requests_count: number;
145
+ subscribed: boolean;
146
+ priority: number | null;
147
+ }
148
+ export interface GitLabNote {
149
+ id: number;
150
+ body: string;
151
+ author: GitLabUser;
152
+ created_at: string;
153
+ updated_at: string;
154
+ system: boolean;
155
+ noteable_type: string;
156
+ }
157
+ export interface GitLabBoard {
158
+ id: number;
159
+ name: string;
160
+ group?: {
161
+ id: number;
162
+ name: string;
163
+ web_url: string;
164
+ };
165
+ milestone: GitLabMilestone | null;
166
+ labels: GitLabLabel[];
167
+ lists: GitLabBoardList[];
168
+ }
169
+ export interface GitLabBoardList {
170
+ id: number;
171
+ label: GitLabLabel | null;
172
+ position: number;
173
+ max_issue_count: number;
174
+ max_issue_weight: number;
175
+ }
176
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@wanadev/mcp-gitlab",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for GitLab epics, issues, and milestones management",
5
+ "type": "module",
6
+ "bin": {
7
+ "mcp-gitlab": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ }
16
+ },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "prepack": "tsc",
20
+ "typecheck": "tsc --noEmit",
21
+ "dev": "tsc --watch"
22
+ },
23
+ "keywords": [
24
+ "mcp",
25
+ "gitlab",
26
+ "epics",
27
+ "issues",
28
+ "milestones",
29
+ "claude-desktop"
30
+ ],
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "@modelcontextprotocol/sdk": "^1.12.1",
34
+ "zod": "^3.25.0"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^22.15.3",
38
+ "typescript": "^5.8.3"
39
+ },
40
+ "engines": {
41
+ "node": ">=20.0.0"
42
+ },
43
+ "files": [
44
+ "dist"
45
+ ]
46
+ }