@opentabs-dev/opentabs-plugin-github 0.0.81 → 0.0.82

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,3328 @@
1
+ {
2
+ "sdkVersion": "0.0.81",
3
+ "iconSvg": "<svg viewBox=\"0 -1 98 98\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M41.4395 69.3848C28.8066 67.8535 19.9062 58.7617 19.9062 46.9902C19.9062 42.2051 21.6289 37.0371 24.5 33.5918C23.2559 30.4336 23.4473 23.7344 24.8828 20.959C28.7109 20.4805 33.8789 22.4902 36.9414 25.2656C40.5781 24.1172 44.4062 23.543 49.0957 23.543C53.7852 23.543 57.6133 24.1172 61.0586 25.1699C64.0254 22.4902 69.2891 20.4805 73.1172 20.959C74.457 23.543 74.6484 30.2422 73.4043 33.4961C76.4668 37.1328 78.0937 42.0137 78.0937 46.9902C78.0937 58.7617 69.1934 67.6621 56.3691 69.2891C59.623 71.3945 61.8242 75.9883 61.8242 81.252L61.8242 91.2051C61.8242 94.0762 64.2168 95.7031 67.0879 94.5547C84.4102 87.9512 98 70.6289 98 49.1914C98 22.1074 75.9883 0 48.9043 0C21.8203 0 0 22.1074 0 49.1914C0 70.4375 13.4941 88.0469 31.6777 94.6504C34.2617 95.6074 36.75 93.8848 36.75 91.3008L36.75 83.6445C35.4102 84.2188 33.6875 84.6016 32.1562 84.6016C25.8398 84.6016 22.1074 81.1563 19.4277 74.7441C18.375 72.1602 17.2266 70.6289 15.0254 70.3418C13.877 70.2461 13.4941 69.7676 13.4941 69.1934C13.4941 68.0449 15.4082 67.1836 17.3223 67.1836C20.0977 67.1836 22.4902 68.9063 24.9785 72.4473C26.8926 75.2227 28.9023 76.4668 31.2949 76.4668C33.6875 76.4668 35.2187 75.6055 37.4199 73.4043C39.0469 71.7773 40.291 70.3418 41.4395 69.3848Z\" fill=\"black\"/> </svg>",
4
+ "iconInactiveSvg": "<svg viewBox=\"0 -1 98 98\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M41.4395 69.3848C28.8066 67.8535 19.9062 58.7617 19.9062 46.9902C19.9062 42.2051 21.6289 37.0371 24.5 33.5918C23.2559 30.4336 23.4473 23.7344 24.8828 20.959C28.7109 20.4805 33.8789 22.4902 36.9414 25.2656C40.5781 24.1172 44.4062 23.543 49.0957 23.543C53.7852 23.543 57.6133 24.1172 61.0586 25.1699C64.0254 22.4902 69.2891 20.4805 73.1172 20.959C74.457 23.543 74.6484 30.2422 73.4043 33.4961C76.4668 37.1328 78.0937 42.0137 78.0937 46.9902C78.0937 58.7617 69.1934 67.6621 56.3691 69.2891C59.623 71.3945 61.8242 75.9883 61.8242 81.252L61.8242 91.2051C61.8242 94.0762 64.2168 95.7031 67.0879 94.5547C84.4102 87.9512 98 70.6289 98 49.1914C98 22.1074 75.9883 0 48.9043 0C21.8203 0 0 22.1074 0 49.1914C0 70.4375 13.4941 88.0469 31.6777 94.6504C34.2617 95.6074 36.75 93.8848 36.75 91.3008L36.75 83.6445C35.4102 84.2188 33.6875 84.6016 32.1562 84.6016C25.8398 84.6016 22.1074 81.1563 19.4277 74.7441C18.375 72.1602 17.2266 70.6289 15.0254 70.3418C13.877 70.2461 13.4941 69.7676 13.4941 69.1934C13.4941 68.0449 15.4082 67.1836 17.3223 67.1836C20.0977 67.1836 22.4902 68.9063 24.9785 72.4473C26.8926 75.2227 28.9023 76.4668 31.2949 76.4668C33.6875 76.4668 35.2187 75.6055 37.4199 73.4043C39.0469 71.7773 40.291 70.3418 41.4395 69.3848Z\" fill=\"#999999\"/> </svg>",
5
+ "iconDarkSvg": "<svg viewBox=\"0 -1 98 98\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M41.4395 69.3848C28.8066 67.8535 19.9062 58.7617 19.9062 46.9902C19.9062 42.2051 21.6289 37.0371 24.5 33.5918C23.2559 30.4336 23.4473 23.7344 24.8828 20.959C28.7109 20.4805 33.8789 22.4902 36.9414 25.2656C40.5781 24.1172 44.4062 23.543 49.0957 23.543C53.7852 23.543 57.6133 24.1172 61.0586 25.1699C64.0254 22.4902 69.2891 20.4805 73.1172 20.959C74.457 23.543 74.6484 30.2422 73.4043 33.4961C76.4668 37.1328 78.0937 42.0137 78.0937 46.9902C78.0937 58.7617 69.1934 67.6621 56.3691 69.2891C59.623 71.3945 61.8242 75.9883 61.8242 81.252L61.8242 91.2051C61.8242 94.0762 64.2168 95.7031 67.0879 94.5547C84.4102 87.9512 98 70.6289 98 49.1914C98 22.1074 75.9883 0 48.9043 0C21.8203 0 0 22.1074 0 49.1914C0 70.4375 13.4941 88.0469 31.6777 94.6504C34.2617 95.6074 36.75 93.8848 36.75 91.3008L36.75 83.6445C35.4102 84.2188 33.6875 84.6016 32.1562 84.6016C25.8398 84.6016 22.1074 81.1563 19.4277 74.7441C18.375 72.1602 17.2266 70.6289 15.0254 70.3418C13.877 70.2461 13.4941 69.7676 13.4941 69.1934C13.4941 68.0449 15.4082 67.1836 17.3223 67.1836C20.0977 67.1836 22.4902 68.9063 24.9785 72.4473C26.8926 75.2227 28.9023 76.4668 31.2949 76.4668C33.6875 76.4668 35.2187 75.6055 37.4199 73.4043C39.0469 71.7773 40.291 70.3418 41.4395 69.3848Z\" fill=\"#ffffff\"/> </svg>",
6
+ "iconDarkInactiveSvg": "<svg viewBox=\"0 -1 98 98\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M41.4395 69.3848C28.8066 67.8535 19.9062 58.7617 19.9062 46.9902C19.9062 42.2051 21.6289 37.0371 24.5 33.5918C23.2559 30.4336 23.4473 23.7344 24.8828 20.959C28.7109 20.4805 33.8789 22.4902 36.9414 25.2656C40.5781 24.1172 44.4062 23.543 49.0957 23.543C53.7852 23.543 57.6133 24.1172 61.0586 25.1699C64.0254 22.4902 69.2891 20.4805 73.1172 20.959C74.457 23.543 74.6484 30.2422 73.4043 33.4961C76.4668 37.1328 78.0937 42.0137 78.0937 46.9902C78.0937 58.7617 69.1934 67.6621 56.3691 69.2891C59.623 71.3945 61.8242 75.9883 61.8242 81.252L61.8242 91.2051C61.8242 94.0762 64.2168 95.7031 67.0879 94.5547C84.4102 87.9512 98 70.6289 98 49.1914C98 22.1074 75.9883 0 48.9043 0C21.8203 0 0 22.1074 0 49.1914C0 70.4375 13.4941 88.0469 31.6777 94.6504C34.2617 95.6074 36.75 93.8848 36.75 91.3008L36.75 83.6445C35.4102 84.2188 33.6875 84.6016 32.1562 84.6016C25.8398 84.6016 22.1074 81.1563 19.4277 74.7441C18.375 72.1602 17.2266 70.6289 15.0254 70.3418C13.877 70.2461 13.4941 69.7676 13.4941 69.1934C13.4941 68.0449 15.4082 67.1836 17.3223 67.1836C20.0977 67.1836 22.4902 68.9063 24.9785 72.4473C26.8926 75.2227 28.9023 76.4668 31.2949 76.4668C33.6875 76.4668 35.2187 75.6055 37.4199 73.4043C39.0469 71.7773 40.291 70.3418 41.4395 69.3848Z\" fill=\"#ffffff\"/> </svg>",
7
+ "tools": [
8
+ {
9
+ "name": "list_repos",
10
+ "displayName": "List Repositories",
11
+ "description": "List repositories for the authenticated user or a specified user/organization. Returns repos sorted by last updated.",
12
+ "summary": "List repositories for a user or organization",
13
+ "icon": "book-marked",
14
+ "group": "Repositories",
15
+ "input_schema": {
16
+ "type": "object",
17
+ "properties": {
18
+ "owner": {
19
+ "description": "Username or org name — defaults to the authenticated user",
20
+ "type": "string"
21
+ },
22
+ "sort": {
23
+ "description": "Sort field (default: updated)",
24
+ "type": "string",
25
+ "enum": [
26
+ "created",
27
+ "updated",
28
+ "pushed",
29
+ "full_name"
30
+ ]
31
+ },
32
+ "per_page": {
33
+ "description": "Results per page (default 30, max 100)",
34
+ "type": "integer",
35
+ "minimum": 1,
36
+ "maximum": 100
37
+ },
38
+ "page": {
39
+ "description": "Page number (default 1)",
40
+ "type": "integer",
41
+ "minimum": 1,
42
+ "maximum": 9007199254740991
43
+ }
44
+ },
45
+ "additionalProperties": false
46
+ },
47
+ "output_schema": {
48
+ "type": "object",
49
+ "properties": {
50
+ "repositories": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "object",
54
+ "properties": {
55
+ "id": {
56
+ "type": "number",
57
+ "description": "Repository ID"
58
+ },
59
+ "name": {
60
+ "type": "string",
61
+ "description": "Repository name"
62
+ },
63
+ "full_name": {
64
+ "type": "string",
65
+ "description": "Full name in owner/repo format"
66
+ },
67
+ "description": {
68
+ "type": "string",
69
+ "description": "Repository description"
70
+ },
71
+ "private": {
72
+ "type": "boolean",
73
+ "description": "Whether the repository is private"
74
+ },
75
+ "html_url": {
76
+ "type": "string",
77
+ "description": "URL to the repository on GitHub"
78
+ },
79
+ "default_branch": {
80
+ "type": "string",
81
+ "description": "Default branch name"
82
+ },
83
+ "language": {
84
+ "type": "string",
85
+ "description": "Primary programming language"
86
+ },
87
+ "stargazers_count": {
88
+ "type": "number",
89
+ "description": "Number of stars"
90
+ },
91
+ "forks_count": {
92
+ "type": "number",
93
+ "description": "Number of forks"
94
+ },
95
+ "open_issues_count": {
96
+ "type": "number",
97
+ "description": "Number of open issues"
98
+ },
99
+ "archived": {
100
+ "type": "boolean",
101
+ "description": "Whether the repository is archived"
102
+ },
103
+ "updated_at": {
104
+ "type": "string",
105
+ "description": "Last updated ISO 8601 timestamp"
106
+ }
107
+ },
108
+ "required": [
109
+ "id",
110
+ "name",
111
+ "full_name",
112
+ "description",
113
+ "private",
114
+ "html_url",
115
+ "default_branch",
116
+ "language",
117
+ "stargazers_count",
118
+ "forks_count",
119
+ "open_issues_count",
120
+ "archived",
121
+ "updated_at"
122
+ ],
123
+ "additionalProperties": false
124
+ },
125
+ "description": "List of repositories"
126
+ }
127
+ },
128
+ "required": [
129
+ "repositories"
130
+ ],
131
+ "additionalProperties": false
132
+ }
133
+ },
134
+ {
135
+ "name": "get_repo",
136
+ "displayName": "Get Repository",
137
+ "description": "Get detailed information about a specific repository.",
138
+ "summary": "Get details of a specific repository",
139
+ "icon": "book-open",
140
+ "group": "Repositories",
141
+ "input_schema": {
142
+ "type": "object",
143
+ "properties": {
144
+ "owner": {
145
+ "type": "string",
146
+ "minLength": 1,
147
+ "description": "Repository owner (user or org)"
148
+ },
149
+ "repo": {
150
+ "type": "string",
151
+ "minLength": 1,
152
+ "description": "Repository name"
153
+ }
154
+ },
155
+ "required": [
156
+ "owner",
157
+ "repo"
158
+ ],
159
+ "additionalProperties": false
160
+ },
161
+ "output_schema": {
162
+ "type": "object",
163
+ "properties": {
164
+ "repository": {
165
+ "type": "object",
166
+ "properties": {
167
+ "id": {
168
+ "type": "number",
169
+ "description": "Repository ID"
170
+ },
171
+ "name": {
172
+ "type": "string",
173
+ "description": "Repository name"
174
+ },
175
+ "full_name": {
176
+ "type": "string",
177
+ "description": "Full name in owner/repo format"
178
+ },
179
+ "description": {
180
+ "type": "string",
181
+ "description": "Repository description"
182
+ },
183
+ "private": {
184
+ "type": "boolean",
185
+ "description": "Whether the repository is private"
186
+ },
187
+ "html_url": {
188
+ "type": "string",
189
+ "description": "URL to the repository on GitHub"
190
+ },
191
+ "default_branch": {
192
+ "type": "string",
193
+ "description": "Default branch name"
194
+ },
195
+ "language": {
196
+ "type": "string",
197
+ "description": "Primary programming language"
198
+ },
199
+ "stargazers_count": {
200
+ "type": "number",
201
+ "description": "Number of stars"
202
+ },
203
+ "forks_count": {
204
+ "type": "number",
205
+ "description": "Number of forks"
206
+ },
207
+ "open_issues_count": {
208
+ "type": "number",
209
+ "description": "Number of open issues"
210
+ },
211
+ "archived": {
212
+ "type": "boolean",
213
+ "description": "Whether the repository is archived"
214
+ },
215
+ "updated_at": {
216
+ "type": "string",
217
+ "description": "Last updated ISO 8601 timestamp"
218
+ }
219
+ },
220
+ "required": [
221
+ "id",
222
+ "name",
223
+ "full_name",
224
+ "description",
225
+ "private",
226
+ "html_url",
227
+ "default_branch",
228
+ "language",
229
+ "stargazers_count",
230
+ "forks_count",
231
+ "open_issues_count",
232
+ "archived",
233
+ "updated_at"
234
+ ],
235
+ "additionalProperties": false,
236
+ "description": "Repository details"
237
+ }
238
+ },
239
+ "required": [
240
+ "repository"
241
+ ],
242
+ "additionalProperties": false
243
+ }
244
+ },
245
+ {
246
+ "name": "create_repo",
247
+ "displayName": "Create Repository",
248
+ "description": "Create a new repository for the authenticated user.",
249
+ "summary": "Create a new repository",
250
+ "icon": "plus-circle",
251
+ "group": "Repositories",
252
+ "input_schema": {
253
+ "type": "object",
254
+ "properties": {
255
+ "name": {
256
+ "type": "string",
257
+ "minLength": 1,
258
+ "description": "Repository name"
259
+ },
260
+ "description": {
261
+ "description": "Short description of the repository",
262
+ "type": "string"
263
+ },
264
+ "private": {
265
+ "description": "Whether the repository is private (default: false)",
266
+ "type": "boolean"
267
+ },
268
+ "auto_init": {
269
+ "description": "Initialize with a README (default: false)",
270
+ "type": "boolean"
271
+ },
272
+ "gitignore_template": {
273
+ "description": "Gitignore template name (e.g., \"Node\", \"Python\")",
274
+ "type": "string"
275
+ },
276
+ "license_template": {
277
+ "description": "License template (e.g., \"mit\", \"apache-2.0\")",
278
+ "type": "string"
279
+ }
280
+ },
281
+ "required": [
282
+ "name"
283
+ ],
284
+ "additionalProperties": false
285
+ },
286
+ "output_schema": {
287
+ "type": "object",
288
+ "properties": {
289
+ "repository": {
290
+ "type": "object",
291
+ "properties": {
292
+ "id": {
293
+ "type": "number",
294
+ "description": "Repository ID"
295
+ },
296
+ "name": {
297
+ "type": "string",
298
+ "description": "Repository name"
299
+ },
300
+ "full_name": {
301
+ "type": "string",
302
+ "description": "Full name in owner/repo format"
303
+ },
304
+ "description": {
305
+ "type": "string",
306
+ "description": "Repository description"
307
+ },
308
+ "private": {
309
+ "type": "boolean",
310
+ "description": "Whether the repository is private"
311
+ },
312
+ "html_url": {
313
+ "type": "string",
314
+ "description": "URL to the repository on GitHub"
315
+ },
316
+ "default_branch": {
317
+ "type": "string",
318
+ "description": "Default branch name"
319
+ },
320
+ "language": {
321
+ "type": "string",
322
+ "description": "Primary programming language"
323
+ },
324
+ "stargazers_count": {
325
+ "type": "number",
326
+ "description": "Number of stars"
327
+ },
328
+ "forks_count": {
329
+ "type": "number",
330
+ "description": "Number of forks"
331
+ },
332
+ "open_issues_count": {
333
+ "type": "number",
334
+ "description": "Number of open issues"
335
+ },
336
+ "archived": {
337
+ "type": "boolean",
338
+ "description": "Whether the repository is archived"
339
+ },
340
+ "updated_at": {
341
+ "type": "string",
342
+ "description": "Last updated ISO 8601 timestamp"
343
+ }
344
+ },
345
+ "required": [
346
+ "id",
347
+ "name",
348
+ "full_name",
349
+ "description",
350
+ "private",
351
+ "html_url",
352
+ "default_branch",
353
+ "language",
354
+ "stargazers_count",
355
+ "forks_count",
356
+ "open_issues_count",
357
+ "archived",
358
+ "updated_at"
359
+ ],
360
+ "additionalProperties": false,
361
+ "description": "The created repository"
362
+ }
363
+ },
364
+ "required": [
365
+ "repository"
366
+ ],
367
+ "additionalProperties": false
368
+ }
369
+ },
370
+ {
371
+ "name": "list_commits",
372
+ "displayName": "List Commits",
373
+ "description": "List commits for a repository. Optionally filter by branch or tag. Returns commits sorted by date descending.",
374
+ "summary": "List commits for a repository",
375
+ "icon": "git-commit",
376
+ "group": "Repositories",
377
+ "input_schema": {
378
+ "type": "object",
379
+ "properties": {
380
+ "owner": {
381
+ "type": "string",
382
+ "minLength": 1,
383
+ "description": "Repository owner (user or org)"
384
+ },
385
+ "repo": {
386
+ "type": "string",
387
+ "minLength": 1,
388
+ "description": "Repository name"
389
+ },
390
+ "sha": {
391
+ "description": "Branch name or tag to list commits from (defaults to the default branch)",
392
+ "type": "string"
393
+ }
394
+ },
395
+ "required": [
396
+ "owner",
397
+ "repo"
398
+ ],
399
+ "additionalProperties": false
400
+ },
401
+ "output_schema": {
402
+ "type": "object",
403
+ "properties": {
404
+ "commits": {
405
+ "type": "array",
406
+ "items": {
407
+ "type": "object",
408
+ "properties": {
409
+ "sha": {
410
+ "type": "string",
411
+ "description": "Full commit SHA"
412
+ },
413
+ "message": {
414
+ "type": "string",
415
+ "description": "Commit message"
416
+ },
417
+ "author_name": {
418
+ "type": "string",
419
+ "description": "Author name"
420
+ },
421
+ "author_email": {
422
+ "type": "string",
423
+ "description": "Author email"
424
+ },
425
+ "date": {
426
+ "type": "string",
427
+ "description": "Authored date ISO 8601 timestamp"
428
+ },
429
+ "url": {
430
+ "type": "string",
431
+ "description": "URL to the commit on GitHub"
432
+ }
433
+ },
434
+ "required": [
435
+ "sha",
436
+ "message",
437
+ "author_name",
438
+ "author_email",
439
+ "date",
440
+ "url"
441
+ ],
442
+ "additionalProperties": false
443
+ },
444
+ "description": "List of commits"
445
+ }
446
+ },
447
+ "required": [
448
+ "commits"
449
+ ],
450
+ "additionalProperties": false
451
+ }
452
+ },
453
+ {
454
+ "name": "compare_commits",
455
+ "displayName": "Compare Commits",
456
+ "description": "Compare two commits, branches, or tags. Returns the diff status, commit count, and changed files between the base and head.",
457
+ "summary": "Compare two commits or branches",
458
+ "icon": "git-compare",
459
+ "group": "Repositories",
460
+ "input_schema": {
461
+ "type": "object",
462
+ "properties": {
463
+ "owner": {
464
+ "type": "string",
465
+ "minLength": 1,
466
+ "description": "Repository owner (user or org)"
467
+ },
468
+ "repo": {
469
+ "type": "string",
470
+ "minLength": 1,
471
+ "description": "Repository name"
472
+ },
473
+ "basehead": {
474
+ "type": "string",
475
+ "minLength": 1,
476
+ "description": "Base and head to compare in \"base...head\" format (e.g., \"main...feature-branch\")"
477
+ }
478
+ },
479
+ "required": [
480
+ "owner",
481
+ "repo",
482
+ "basehead"
483
+ ],
484
+ "additionalProperties": false
485
+ },
486
+ "output_schema": {
487
+ "type": "object",
488
+ "properties": {
489
+ "files": {
490
+ "type": "array",
491
+ "items": {
492
+ "type": "object",
493
+ "properties": {
494
+ "filename": {
495
+ "type": "string",
496
+ "description": "File path"
497
+ },
498
+ "status": {
499
+ "type": "string",
500
+ "description": "Change type: added, removed, modified, renamed, etc."
501
+ },
502
+ "additions": {
503
+ "type": "number",
504
+ "description": "Lines added"
505
+ },
506
+ "deletions": {
507
+ "type": "number",
508
+ "description": "Lines deleted"
509
+ },
510
+ "changes": {
511
+ "type": "number",
512
+ "description": "Total lines changed"
513
+ }
514
+ },
515
+ "required": [
516
+ "filename",
517
+ "status",
518
+ "additions",
519
+ "deletions",
520
+ "changes"
521
+ ],
522
+ "additionalProperties": false
523
+ },
524
+ "description": "List of changed files"
525
+ },
526
+ "total_files": {
527
+ "type": "number",
528
+ "description": "Total number of files changed"
529
+ }
530
+ },
531
+ "required": [
532
+ "files",
533
+ "total_files"
534
+ ],
535
+ "additionalProperties": false
536
+ }
537
+ },
538
+ {
539
+ "name": "list_releases",
540
+ "displayName": "List Releases",
541
+ "description": "List releases for a repository. Returns published and draft releases sorted by creation date.",
542
+ "summary": "List releases for a repository",
543
+ "icon": "package",
544
+ "group": "Repositories",
545
+ "input_schema": {
546
+ "type": "object",
547
+ "properties": {
548
+ "owner": {
549
+ "type": "string",
550
+ "minLength": 1,
551
+ "description": "Repository owner (user or org)"
552
+ },
553
+ "repo": {
554
+ "type": "string",
555
+ "minLength": 1,
556
+ "description": "Repository name"
557
+ }
558
+ },
559
+ "required": [
560
+ "owner",
561
+ "repo"
562
+ ],
563
+ "additionalProperties": false
564
+ },
565
+ "output_schema": {
566
+ "type": "object",
567
+ "properties": {
568
+ "releases": {
569
+ "type": "array",
570
+ "items": {
571
+ "type": "object",
572
+ "properties": {
573
+ "id": {
574
+ "type": "number",
575
+ "description": "Release ID"
576
+ },
577
+ "tag_name": {
578
+ "type": "string",
579
+ "description": "Git tag name"
580
+ },
581
+ "name": {
582
+ "type": "string",
583
+ "description": "Release title"
584
+ },
585
+ "body": {
586
+ "type": "string",
587
+ "description": "Release notes in Markdown"
588
+ },
589
+ "draft": {
590
+ "type": "boolean",
591
+ "description": "Whether this is a draft release"
592
+ },
593
+ "prerelease": {
594
+ "type": "boolean",
595
+ "description": "Whether this is a prerelease"
596
+ },
597
+ "created_at": {
598
+ "type": "string",
599
+ "description": "Created ISO 8601 timestamp"
600
+ },
601
+ "published_at": {
602
+ "type": "string",
603
+ "description": "Published ISO 8601 timestamp"
604
+ },
605
+ "html_url": {
606
+ "type": "string",
607
+ "description": "URL to the release on GitHub"
608
+ },
609
+ "author_login": {
610
+ "type": "string",
611
+ "description": "Login of the release author"
612
+ }
613
+ },
614
+ "required": [
615
+ "id",
616
+ "tag_name",
617
+ "name",
618
+ "body",
619
+ "draft",
620
+ "prerelease",
621
+ "created_at",
622
+ "published_at",
623
+ "html_url",
624
+ "author_login"
625
+ ],
626
+ "additionalProperties": false
627
+ },
628
+ "description": "List of releases"
629
+ }
630
+ },
631
+ "required": [
632
+ "releases"
633
+ ],
634
+ "additionalProperties": false
635
+ }
636
+ },
637
+ {
638
+ "name": "create_release",
639
+ "displayName": "Create Release",
640
+ "description": "Create a new release for a repository. Optionally create as a draft or prerelease.",
641
+ "summary": "Create a release in a repository",
642
+ "icon": "package",
643
+ "group": "Repositories",
644
+ "input_schema": {
645
+ "type": "object",
646
+ "properties": {
647
+ "owner": {
648
+ "type": "string",
649
+ "minLength": 1,
650
+ "description": "Repository owner (user or org)"
651
+ },
652
+ "repo": {
653
+ "type": "string",
654
+ "minLength": 1,
655
+ "description": "Repository name"
656
+ },
657
+ "tag_name": {
658
+ "type": "string",
659
+ "minLength": 1,
660
+ "description": "Git tag name for the release"
661
+ },
662
+ "name": {
663
+ "description": "Release title",
664
+ "type": "string"
665
+ },
666
+ "body": {
667
+ "description": "Release notes in Markdown",
668
+ "type": "string"
669
+ },
670
+ "draft": {
671
+ "description": "Create as a draft release (default: false)",
672
+ "type": "boolean"
673
+ },
674
+ "prerelease": {
675
+ "description": "Mark as a prerelease (default: false)",
676
+ "type": "boolean"
677
+ },
678
+ "target_commitish": {
679
+ "description": "Branch or commit SHA to tag — defaults to the default branch",
680
+ "type": "string"
681
+ }
682
+ },
683
+ "required": [
684
+ "owner",
685
+ "repo",
686
+ "tag_name"
687
+ ],
688
+ "additionalProperties": false
689
+ },
690
+ "output_schema": {
691
+ "type": "object",
692
+ "properties": {
693
+ "release": {
694
+ "type": "object",
695
+ "properties": {
696
+ "id": {
697
+ "type": "number",
698
+ "description": "Release ID"
699
+ },
700
+ "tag_name": {
701
+ "type": "string",
702
+ "description": "Git tag name"
703
+ },
704
+ "name": {
705
+ "type": "string",
706
+ "description": "Release title"
707
+ },
708
+ "body": {
709
+ "type": "string",
710
+ "description": "Release notes in Markdown"
711
+ },
712
+ "draft": {
713
+ "type": "boolean",
714
+ "description": "Whether this is a draft release"
715
+ },
716
+ "prerelease": {
717
+ "type": "boolean",
718
+ "description": "Whether this is a prerelease"
719
+ },
720
+ "created_at": {
721
+ "type": "string",
722
+ "description": "Created ISO 8601 timestamp"
723
+ },
724
+ "published_at": {
725
+ "type": "string",
726
+ "description": "Published ISO 8601 timestamp"
727
+ },
728
+ "html_url": {
729
+ "type": "string",
730
+ "description": "URL to the release on GitHub"
731
+ },
732
+ "author_login": {
733
+ "type": "string",
734
+ "description": "Login of the release author"
735
+ }
736
+ },
737
+ "required": [
738
+ "id",
739
+ "tag_name",
740
+ "name",
741
+ "body",
742
+ "draft",
743
+ "prerelease",
744
+ "created_at",
745
+ "published_at",
746
+ "html_url",
747
+ "author_login"
748
+ ],
749
+ "additionalProperties": false,
750
+ "description": "The created release"
751
+ }
752
+ },
753
+ "required": [
754
+ "release"
755
+ ],
756
+ "additionalProperties": false
757
+ }
758
+ },
759
+ {
760
+ "name": "list_issues",
761
+ "displayName": "List Issues",
762
+ "description": "List issues for a repository. By default returns open issues sorted by creation date. Can filter by state, labels, assignee, and more.",
763
+ "summary": "List issues for a repository",
764
+ "icon": "circle-dot",
765
+ "group": "Issues",
766
+ "input_schema": {
767
+ "type": "object",
768
+ "properties": {
769
+ "owner": {
770
+ "type": "string",
771
+ "minLength": 1,
772
+ "description": "Repository owner (user or org)"
773
+ },
774
+ "repo": {
775
+ "type": "string",
776
+ "minLength": 1,
777
+ "description": "Repository name"
778
+ },
779
+ "state": {
780
+ "description": "Issue state filter (default: open)",
781
+ "type": "string",
782
+ "enum": [
783
+ "open",
784
+ "closed",
785
+ "all"
786
+ ]
787
+ },
788
+ "labels": {
789
+ "description": "Comma-separated list of label names to filter by",
790
+ "type": "string"
791
+ },
792
+ "assignee": {
793
+ "description": "Filter by assignee login, or \"none\" for unassigned, \"*\" for any",
794
+ "type": "string"
795
+ },
796
+ "sort": {
797
+ "description": "Sort field (default: created)",
798
+ "type": "string",
799
+ "enum": [
800
+ "created",
801
+ "updated",
802
+ "comments"
803
+ ]
804
+ },
805
+ "direction": {
806
+ "description": "Sort direction (default: desc)",
807
+ "type": "string",
808
+ "enum": [
809
+ "asc",
810
+ "desc"
811
+ ]
812
+ },
813
+ "per_page": {
814
+ "description": "Results per page (default 25)",
815
+ "type": "integer",
816
+ "minimum": 1,
817
+ "maximum": 100
818
+ },
819
+ "page": {
820
+ "description": "Page number (default 1)",
821
+ "type": "integer",
822
+ "minimum": 1,
823
+ "maximum": 9007199254740991
824
+ }
825
+ },
826
+ "required": [
827
+ "owner",
828
+ "repo"
829
+ ],
830
+ "additionalProperties": false
831
+ },
832
+ "output_schema": {
833
+ "type": "object",
834
+ "properties": {
835
+ "issues": {
836
+ "type": "array",
837
+ "items": {
838
+ "type": "object",
839
+ "properties": {
840
+ "number": {
841
+ "type": "number",
842
+ "description": "Issue number"
843
+ },
844
+ "title": {
845
+ "type": "string",
846
+ "description": "Issue title"
847
+ },
848
+ "state": {
849
+ "type": "string",
850
+ "description": "Issue state: open or closed"
851
+ },
852
+ "body": {
853
+ "type": "string",
854
+ "description": "Issue body in Markdown"
855
+ },
856
+ "html_url": {
857
+ "type": "string",
858
+ "description": "URL to the issue on GitHub"
859
+ },
860
+ "user_login": {
861
+ "type": "string",
862
+ "description": "Login of the user who created the issue"
863
+ },
864
+ "labels": {
865
+ "type": "array",
866
+ "items": {
867
+ "type": "string"
868
+ },
869
+ "description": "Label names"
870
+ },
871
+ "assignees": {
872
+ "type": "array",
873
+ "items": {
874
+ "type": "string"
875
+ },
876
+ "description": "Assignee logins"
877
+ },
878
+ "comments": {
879
+ "type": "number",
880
+ "description": "Number of comments"
881
+ },
882
+ "created_at": {
883
+ "type": "string",
884
+ "description": "Created ISO 8601 timestamp"
885
+ },
886
+ "updated_at": {
887
+ "type": "string",
888
+ "description": "Updated ISO 8601 timestamp"
889
+ },
890
+ "closed_at": {
891
+ "type": "string",
892
+ "description": "Closed ISO 8601 timestamp or empty string"
893
+ },
894
+ "is_pull_request": {
895
+ "type": "boolean",
896
+ "description": "Whether this is a pull request"
897
+ }
898
+ },
899
+ "required": [
900
+ "number",
901
+ "title",
902
+ "state",
903
+ "body",
904
+ "html_url",
905
+ "user_login",
906
+ "labels",
907
+ "assignees",
908
+ "comments",
909
+ "created_at",
910
+ "updated_at",
911
+ "closed_at",
912
+ "is_pull_request"
913
+ ],
914
+ "additionalProperties": false
915
+ },
916
+ "description": "List of issues"
917
+ }
918
+ },
919
+ "required": [
920
+ "issues"
921
+ ],
922
+ "additionalProperties": false
923
+ }
924
+ },
925
+ {
926
+ "name": "get_issue",
927
+ "displayName": "Get Issue",
928
+ "description": "Get detailed information about a specific issue, including its full body.",
929
+ "summary": "Get details of a specific issue",
930
+ "icon": "circle-dot",
931
+ "group": "Issues",
932
+ "input_schema": {
933
+ "type": "object",
934
+ "properties": {
935
+ "owner": {
936
+ "type": "string",
937
+ "minLength": 1,
938
+ "description": "Repository owner (user or org)"
939
+ },
940
+ "repo": {
941
+ "type": "string",
942
+ "minLength": 1,
943
+ "description": "Repository name"
944
+ },
945
+ "issue_number": {
946
+ "type": "integer",
947
+ "minimum": 1,
948
+ "maximum": 9007199254740991,
949
+ "description": "Issue number"
950
+ }
951
+ },
952
+ "required": [
953
+ "owner",
954
+ "repo",
955
+ "issue_number"
956
+ ],
957
+ "additionalProperties": false
958
+ },
959
+ "output_schema": {
960
+ "type": "object",
961
+ "properties": {
962
+ "issue": {
963
+ "type": "object",
964
+ "properties": {
965
+ "number": {
966
+ "type": "number",
967
+ "description": "Issue number"
968
+ },
969
+ "title": {
970
+ "type": "string",
971
+ "description": "Issue title"
972
+ },
973
+ "state": {
974
+ "type": "string",
975
+ "description": "Issue state: open or closed"
976
+ },
977
+ "body": {
978
+ "type": "string",
979
+ "description": "Issue body in Markdown"
980
+ },
981
+ "html_url": {
982
+ "type": "string",
983
+ "description": "URL to the issue on GitHub"
984
+ },
985
+ "user_login": {
986
+ "type": "string",
987
+ "description": "Login of the user who created the issue"
988
+ },
989
+ "labels": {
990
+ "type": "array",
991
+ "items": {
992
+ "type": "string"
993
+ },
994
+ "description": "Label names"
995
+ },
996
+ "assignees": {
997
+ "type": "array",
998
+ "items": {
999
+ "type": "string"
1000
+ },
1001
+ "description": "Assignee logins"
1002
+ },
1003
+ "comments": {
1004
+ "type": "number",
1005
+ "description": "Number of comments"
1006
+ },
1007
+ "created_at": {
1008
+ "type": "string",
1009
+ "description": "Created ISO 8601 timestamp"
1010
+ },
1011
+ "updated_at": {
1012
+ "type": "string",
1013
+ "description": "Updated ISO 8601 timestamp"
1014
+ },
1015
+ "closed_at": {
1016
+ "type": "string",
1017
+ "description": "Closed ISO 8601 timestamp or empty string"
1018
+ },
1019
+ "is_pull_request": {
1020
+ "type": "boolean",
1021
+ "description": "Whether this is a pull request"
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "number",
1026
+ "title",
1027
+ "state",
1028
+ "body",
1029
+ "html_url",
1030
+ "user_login",
1031
+ "labels",
1032
+ "assignees",
1033
+ "comments",
1034
+ "created_at",
1035
+ "updated_at",
1036
+ "closed_at",
1037
+ "is_pull_request"
1038
+ ],
1039
+ "additionalProperties": false,
1040
+ "description": "Issue details"
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "issue"
1045
+ ],
1046
+ "additionalProperties": false
1047
+ }
1048
+ },
1049
+ {
1050
+ "name": "create_issue",
1051
+ "displayName": "Create Issue",
1052
+ "description": "Create a new issue in a repository.",
1053
+ "summary": "Create a new issue in a repository",
1054
+ "icon": "plus-circle",
1055
+ "group": "Issues",
1056
+ "input_schema": {
1057
+ "type": "object",
1058
+ "properties": {
1059
+ "owner": {
1060
+ "type": "string",
1061
+ "minLength": 1,
1062
+ "description": "Repository owner (user or org)"
1063
+ },
1064
+ "repo": {
1065
+ "type": "string",
1066
+ "minLength": 1,
1067
+ "description": "Repository name"
1068
+ },
1069
+ "title": {
1070
+ "type": "string",
1071
+ "minLength": 1,
1072
+ "description": "Issue title"
1073
+ },
1074
+ "body": {
1075
+ "description": "Issue body in Markdown",
1076
+ "type": "string"
1077
+ }
1078
+ },
1079
+ "required": [
1080
+ "owner",
1081
+ "repo",
1082
+ "title"
1083
+ ],
1084
+ "additionalProperties": false
1085
+ },
1086
+ "output_schema": {
1087
+ "type": "object",
1088
+ "properties": {
1089
+ "issue": {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "number": {
1093
+ "type": "number",
1094
+ "description": "Issue number"
1095
+ },
1096
+ "title": {
1097
+ "type": "string",
1098
+ "description": "Issue title"
1099
+ },
1100
+ "state": {
1101
+ "type": "string",
1102
+ "description": "Issue state: open or closed"
1103
+ },
1104
+ "body": {
1105
+ "type": "string",
1106
+ "description": "Issue body in Markdown"
1107
+ },
1108
+ "html_url": {
1109
+ "type": "string",
1110
+ "description": "URL to the issue on GitHub"
1111
+ },
1112
+ "user_login": {
1113
+ "type": "string",
1114
+ "description": "Login of the user who created the issue"
1115
+ },
1116
+ "labels": {
1117
+ "type": "array",
1118
+ "items": {
1119
+ "type": "string"
1120
+ },
1121
+ "description": "Label names"
1122
+ },
1123
+ "assignees": {
1124
+ "type": "array",
1125
+ "items": {
1126
+ "type": "string"
1127
+ },
1128
+ "description": "Assignee logins"
1129
+ },
1130
+ "comments": {
1131
+ "type": "number",
1132
+ "description": "Number of comments"
1133
+ },
1134
+ "created_at": {
1135
+ "type": "string",
1136
+ "description": "Created ISO 8601 timestamp"
1137
+ },
1138
+ "updated_at": {
1139
+ "type": "string",
1140
+ "description": "Updated ISO 8601 timestamp"
1141
+ },
1142
+ "closed_at": {
1143
+ "type": "string",
1144
+ "description": "Closed ISO 8601 timestamp or empty string"
1145
+ },
1146
+ "is_pull_request": {
1147
+ "type": "boolean",
1148
+ "description": "Whether this is a pull request"
1149
+ }
1150
+ },
1151
+ "required": [
1152
+ "number",
1153
+ "title",
1154
+ "state",
1155
+ "body",
1156
+ "html_url",
1157
+ "user_login",
1158
+ "labels",
1159
+ "assignees",
1160
+ "comments",
1161
+ "created_at",
1162
+ "updated_at",
1163
+ "closed_at",
1164
+ "is_pull_request"
1165
+ ],
1166
+ "additionalProperties": false,
1167
+ "description": "The created issue"
1168
+ }
1169
+ },
1170
+ "required": [
1171
+ "issue"
1172
+ ],
1173
+ "additionalProperties": false
1174
+ }
1175
+ },
1176
+ {
1177
+ "name": "update_issue",
1178
+ "displayName": "Update Issue",
1179
+ "description": "Update an existing issue — change title, body, state, labels, or assignees.",
1180
+ "summary": "Update an existing issue",
1181
+ "icon": "pencil",
1182
+ "group": "Issues",
1183
+ "input_schema": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "owner": {
1187
+ "type": "string",
1188
+ "minLength": 1,
1189
+ "description": "Repository owner (user or org)"
1190
+ },
1191
+ "repo": {
1192
+ "type": "string",
1193
+ "minLength": 1,
1194
+ "description": "Repository name"
1195
+ },
1196
+ "issue_number": {
1197
+ "type": "integer",
1198
+ "minimum": 1,
1199
+ "maximum": 9007199254740991,
1200
+ "description": "Issue number"
1201
+ },
1202
+ "title": {
1203
+ "description": "New issue title",
1204
+ "type": "string"
1205
+ },
1206
+ "body": {
1207
+ "description": "New issue body in Markdown",
1208
+ "type": "string"
1209
+ },
1210
+ "state": {
1211
+ "description": "Set issue state",
1212
+ "type": "string",
1213
+ "enum": [
1214
+ "open",
1215
+ "closed"
1216
+ ]
1217
+ }
1218
+ },
1219
+ "required": [
1220
+ "owner",
1221
+ "repo",
1222
+ "issue_number"
1223
+ ],
1224
+ "additionalProperties": false
1225
+ },
1226
+ "output_schema": {
1227
+ "type": "object",
1228
+ "properties": {
1229
+ "success": {
1230
+ "type": "boolean",
1231
+ "description": "Whether the update succeeded"
1232
+ }
1233
+ },
1234
+ "required": [
1235
+ "success"
1236
+ ],
1237
+ "additionalProperties": false
1238
+ }
1239
+ },
1240
+ {
1241
+ "name": "search_issues",
1242
+ "displayName": "Search Issues",
1243
+ "description": "Search issues and pull requests across GitHub. Uses GitHub search syntax — e.g., \"repo:owner/name is:open label:bug\".",
1244
+ "summary": "Search issues and pull requests",
1245
+ "icon": "search",
1246
+ "group": "Issues",
1247
+ "input_schema": {
1248
+ "type": "object",
1249
+ "properties": {
1250
+ "query": {
1251
+ "type": "string",
1252
+ "minLength": 1,
1253
+ "description": "Search query using GitHub search syntax (e.g., \"repo:owner/name is:open label:bug\", \"org:myorg is:pr is:merged\")"
1254
+ },
1255
+ "per_page": {
1256
+ "description": "Results per page (default 30, max 100)",
1257
+ "type": "integer",
1258
+ "minimum": 1,
1259
+ "maximum": 100
1260
+ },
1261
+ "page": {
1262
+ "description": "Page number (default 1)",
1263
+ "type": "integer",
1264
+ "minimum": 1,
1265
+ "maximum": 9007199254740991
1266
+ }
1267
+ },
1268
+ "required": [
1269
+ "query"
1270
+ ],
1271
+ "additionalProperties": false
1272
+ },
1273
+ "output_schema": {
1274
+ "type": "object",
1275
+ "properties": {
1276
+ "total_count": {
1277
+ "type": "number",
1278
+ "description": "Total number of matching results"
1279
+ },
1280
+ "issues": {
1281
+ "type": "array",
1282
+ "items": {
1283
+ "type": "object",
1284
+ "properties": {
1285
+ "number": {
1286
+ "type": "number",
1287
+ "description": "Issue number"
1288
+ },
1289
+ "title": {
1290
+ "type": "string",
1291
+ "description": "Issue title"
1292
+ },
1293
+ "state": {
1294
+ "type": "string",
1295
+ "description": "Issue state: open or closed"
1296
+ },
1297
+ "body": {
1298
+ "type": "string",
1299
+ "description": "Issue body in Markdown"
1300
+ },
1301
+ "html_url": {
1302
+ "type": "string",
1303
+ "description": "URL to the issue on GitHub"
1304
+ },
1305
+ "user_login": {
1306
+ "type": "string",
1307
+ "description": "Login of the user who created the issue"
1308
+ },
1309
+ "labels": {
1310
+ "type": "array",
1311
+ "items": {
1312
+ "type": "string"
1313
+ },
1314
+ "description": "Label names"
1315
+ },
1316
+ "assignees": {
1317
+ "type": "array",
1318
+ "items": {
1319
+ "type": "string"
1320
+ },
1321
+ "description": "Assignee logins"
1322
+ },
1323
+ "comments": {
1324
+ "type": "number",
1325
+ "description": "Number of comments"
1326
+ },
1327
+ "created_at": {
1328
+ "type": "string",
1329
+ "description": "Created ISO 8601 timestamp"
1330
+ },
1331
+ "updated_at": {
1332
+ "type": "string",
1333
+ "description": "Updated ISO 8601 timestamp"
1334
+ },
1335
+ "closed_at": {
1336
+ "type": "string",
1337
+ "description": "Closed ISO 8601 timestamp or empty string"
1338
+ },
1339
+ "is_pull_request": {
1340
+ "type": "boolean",
1341
+ "description": "Whether this is a pull request"
1342
+ }
1343
+ },
1344
+ "required": [
1345
+ "number",
1346
+ "title",
1347
+ "state",
1348
+ "body",
1349
+ "html_url",
1350
+ "user_login",
1351
+ "labels",
1352
+ "assignees",
1353
+ "comments",
1354
+ "created_at",
1355
+ "updated_at",
1356
+ "closed_at",
1357
+ "is_pull_request"
1358
+ ],
1359
+ "additionalProperties": false
1360
+ },
1361
+ "description": "List of matching issues/PRs"
1362
+ }
1363
+ },
1364
+ "required": [
1365
+ "total_count",
1366
+ "issues"
1367
+ ],
1368
+ "additionalProperties": false
1369
+ }
1370
+ },
1371
+ {
1372
+ "name": "list_labels",
1373
+ "displayName": "List Labels",
1374
+ "description": "List all labels for a repository. Returns label names, colors, and descriptions.",
1375
+ "summary": "List labels for a repository",
1376
+ "icon": "tag",
1377
+ "group": "Issues",
1378
+ "input_schema": {
1379
+ "type": "object",
1380
+ "properties": {
1381
+ "owner": {
1382
+ "type": "string",
1383
+ "minLength": 1,
1384
+ "description": "Repository owner (user or org)"
1385
+ },
1386
+ "repo": {
1387
+ "type": "string",
1388
+ "minLength": 1,
1389
+ "description": "Repository name"
1390
+ }
1391
+ },
1392
+ "required": [
1393
+ "owner",
1394
+ "repo"
1395
+ ],
1396
+ "additionalProperties": false
1397
+ },
1398
+ "output_schema": {
1399
+ "type": "object",
1400
+ "properties": {
1401
+ "labels": {
1402
+ "type": "array",
1403
+ "items": {
1404
+ "type": "object",
1405
+ "properties": {
1406
+ "id": {
1407
+ "type": "number",
1408
+ "description": "Label ID"
1409
+ },
1410
+ "name": {
1411
+ "type": "string",
1412
+ "description": "Label name"
1413
+ },
1414
+ "color": {
1415
+ "type": "string",
1416
+ "description": "Label hex color (without #)"
1417
+ },
1418
+ "description": {
1419
+ "type": "string",
1420
+ "description": "Label description"
1421
+ }
1422
+ },
1423
+ "required": [
1424
+ "id",
1425
+ "name",
1426
+ "color",
1427
+ "description"
1428
+ ],
1429
+ "additionalProperties": false
1430
+ },
1431
+ "description": "List of labels"
1432
+ }
1433
+ },
1434
+ "required": [
1435
+ "labels"
1436
+ ],
1437
+ "additionalProperties": false
1438
+ }
1439
+ },
1440
+ {
1441
+ "name": "create_label",
1442
+ "displayName": "Create Label",
1443
+ "description": "Create a new label in a repository.",
1444
+ "summary": "Create a label in a repository",
1445
+ "icon": "tag",
1446
+ "group": "Issues",
1447
+ "input_schema": {
1448
+ "type": "object",
1449
+ "properties": {
1450
+ "owner": {
1451
+ "type": "string",
1452
+ "minLength": 1,
1453
+ "description": "Repository owner (user or org)"
1454
+ },
1455
+ "repo": {
1456
+ "type": "string",
1457
+ "minLength": 1,
1458
+ "description": "Repository name"
1459
+ },
1460
+ "name": {
1461
+ "type": "string",
1462
+ "minLength": 1,
1463
+ "description": "Label name"
1464
+ },
1465
+ "color": {
1466
+ "description": "Label hex color without the # prefix (e.g., \"ff0000\")",
1467
+ "type": "string"
1468
+ },
1469
+ "description": {
1470
+ "description": "Label description",
1471
+ "type": "string"
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "owner",
1476
+ "repo",
1477
+ "name"
1478
+ ],
1479
+ "additionalProperties": false
1480
+ },
1481
+ "output_schema": {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "label": {
1485
+ "type": "object",
1486
+ "properties": {
1487
+ "id": {
1488
+ "type": "number",
1489
+ "description": "Label ID"
1490
+ },
1491
+ "name": {
1492
+ "type": "string",
1493
+ "description": "Label name"
1494
+ },
1495
+ "color": {
1496
+ "type": "string",
1497
+ "description": "Label hex color (without #)"
1498
+ },
1499
+ "description": {
1500
+ "type": "string",
1501
+ "description": "Label description"
1502
+ }
1503
+ },
1504
+ "required": [
1505
+ "id",
1506
+ "name",
1507
+ "color",
1508
+ "description"
1509
+ ],
1510
+ "additionalProperties": false,
1511
+ "description": "The created label"
1512
+ }
1513
+ },
1514
+ "required": [
1515
+ "label"
1516
+ ],
1517
+ "additionalProperties": false
1518
+ }
1519
+ },
1520
+ {
1521
+ "name": "list_pull_requests",
1522
+ "displayName": "List Pull Requests",
1523
+ "description": "List pull requests for a repository with optional state and sort filters.",
1524
+ "summary": "List pull requests for a repository",
1525
+ "icon": "git-pull-request",
1526
+ "group": "Pull Requests",
1527
+ "input_schema": {
1528
+ "type": "object",
1529
+ "properties": {
1530
+ "owner": {
1531
+ "type": "string",
1532
+ "minLength": 1,
1533
+ "description": "Repository owner (user or org)"
1534
+ },
1535
+ "repo": {
1536
+ "type": "string",
1537
+ "minLength": 1,
1538
+ "description": "Repository name"
1539
+ },
1540
+ "state": {
1541
+ "description": "PR state filter (default: open)",
1542
+ "type": "string",
1543
+ "enum": [
1544
+ "open",
1545
+ "closed",
1546
+ "all"
1547
+ ]
1548
+ },
1549
+ "sort": {
1550
+ "description": "Sort field (default: created)",
1551
+ "type": "string",
1552
+ "enum": [
1553
+ "created",
1554
+ "updated",
1555
+ "popularity",
1556
+ "long-running"
1557
+ ]
1558
+ },
1559
+ "direction": {
1560
+ "description": "Sort direction (default: desc)",
1561
+ "type": "string",
1562
+ "enum": [
1563
+ "asc",
1564
+ "desc"
1565
+ ]
1566
+ },
1567
+ "per_page": {
1568
+ "description": "Results per page (default 25)",
1569
+ "type": "integer",
1570
+ "minimum": 1,
1571
+ "maximum": 100
1572
+ },
1573
+ "page": {
1574
+ "description": "Page number (default 1)",
1575
+ "type": "integer",
1576
+ "minimum": 1,
1577
+ "maximum": 9007199254740991
1578
+ }
1579
+ },
1580
+ "required": [
1581
+ "owner",
1582
+ "repo"
1583
+ ],
1584
+ "additionalProperties": false
1585
+ },
1586
+ "output_schema": {
1587
+ "type": "object",
1588
+ "properties": {
1589
+ "pull_requests": {
1590
+ "type": "array",
1591
+ "items": {
1592
+ "type": "object",
1593
+ "properties": {
1594
+ "number": {
1595
+ "type": "number",
1596
+ "description": "Pull request number"
1597
+ },
1598
+ "title": {
1599
+ "type": "string",
1600
+ "description": "Pull request title"
1601
+ },
1602
+ "state": {
1603
+ "type": "string",
1604
+ "description": "PR state: open, closed, or merged"
1605
+ },
1606
+ "body": {
1607
+ "type": "string",
1608
+ "description": "Pull request body in Markdown"
1609
+ },
1610
+ "html_url": {
1611
+ "type": "string",
1612
+ "description": "URL to the PR on GitHub"
1613
+ },
1614
+ "user_login": {
1615
+ "type": "string",
1616
+ "description": "Login of the user who created the PR"
1617
+ },
1618
+ "head_ref": {
1619
+ "type": "string",
1620
+ "description": "Source branch name"
1621
+ },
1622
+ "base_ref": {
1623
+ "type": "string",
1624
+ "description": "Target branch name"
1625
+ },
1626
+ "labels": {
1627
+ "type": "array",
1628
+ "items": {
1629
+ "type": "string"
1630
+ },
1631
+ "description": "Label names"
1632
+ },
1633
+ "draft": {
1634
+ "type": "boolean",
1635
+ "description": "Whether this is a draft PR"
1636
+ },
1637
+ "merged": {
1638
+ "type": "boolean",
1639
+ "description": "Whether this PR has been merged"
1640
+ },
1641
+ "mergeable": {
1642
+ "type": "boolean",
1643
+ "description": "Whether this PR can be merged"
1644
+ },
1645
+ "comments": {
1646
+ "type": "number",
1647
+ "description": "Number of comments"
1648
+ },
1649
+ "commits": {
1650
+ "type": "number",
1651
+ "description": "Number of commits"
1652
+ },
1653
+ "additions": {
1654
+ "type": "number",
1655
+ "description": "Number of lines added"
1656
+ },
1657
+ "deletions": {
1658
+ "type": "number",
1659
+ "description": "Number of lines deleted"
1660
+ },
1661
+ "changed_files": {
1662
+ "type": "number",
1663
+ "description": "Number of files changed"
1664
+ },
1665
+ "created_at": {
1666
+ "type": "string",
1667
+ "description": "Created ISO 8601 timestamp"
1668
+ },
1669
+ "updated_at": {
1670
+ "type": "string",
1671
+ "description": "Updated ISO 8601 timestamp"
1672
+ }
1673
+ },
1674
+ "required": [
1675
+ "number",
1676
+ "title",
1677
+ "state",
1678
+ "body",
1679
+ "html_url",
1680
+ "user_login",
1681
+ "head_ref",
1682
+ "base_ref",
1683
+ "labels",
1684
+ "draft",
1685
+ "merged",
1686
+ "mergeable",
1687
+ "comments",
1688
+ "commits",
1689
+ "additions",
1690
+ "deletions",
1691
+ "changed_files",
1692
+ "created_at",
1693
+ "updated_at"
1694
+ ],
1695
+ "additionalProperties": false
1696
+ },
1697
+ "description": "List of pull requests"
1698
+ }
1699
+ },
1700
+ "required": [
1701
+ "pull_requests"
1702
+ ],
1703
+ "additionalProperties": false
1704
+ }
1705
+ },
1706
+ {
1707
+ "name": "get_pull_request",
1708
+ "displayName": "Get Pull Request",
1709
+ "description": "Get detailed information about a specific pull request, including merge status and diff stats.",
1710
+ "summary": "Get details of a specific pull request",
1711
+ "icon": "git-pull-request",
1712
+ "group": "Pull Requests",
1713
+ "input_schema": {
1714
+ "type": "object",
1715
+ "properties": {
1716
+ "owner": {
1717
+ "type": "string",
1718
+ "minLength": 1,
1719
+ "description": "Repository owner (user or org)"
1720
+ },
1721
+ "repo": {
1722
+ "type": "string",
1723
+ "minLength": 1,
1724
+ "description": "Repository name"
1725
+ },
1726
+ "pull_number": {
1727
+ "type": "integer",
1728
+ "minimum": 1,
1729
+ "maximum": 9007199254740991,
1730
+ "description": "Pull request number"
1731
+ }
1732
+ },
1733
+ "required": [
1734
+ "owner",
1735
+ "repo",
1736
+ "pull_number"
1737
+ ],
1738
+ "additionalProperties": false
1739
+ },
1740
+ "output_schema": {
1741
+ "type": "object",
1742
+ "properties": {
1743
+ "pull_request": {
1744
+ "type": "object",
1745
+ "properties": {
1746
+ "number": {
1747
+ "type": "number",
1748
+ "description": "Pull request number"
1749
+ },
1750
+ "title": {
1751
+ "type": "string",
1752
+ "description": "Pull request title"
1753
+ },
1754
+ "state": {
1755
+ "type": "string",
1756
+ "description": "PR state: open, closed, or merged"
1757
+ },
1758
+ "body": {
1759
+ "type": "string",
1760
+ "description": "Pull request body in Markdown"
1761
+ },
1762
+ "html_url": {
1763
+ "type": "string",
1764
+ "description": "URL to the PR on GitHub"
1765
+ },
1766
+ "user_login": {
1767
+ "type": "string",
1768
+ "description": "Login of the user who created the PR"
1769
+ },
1770
+ "head_ref": {
1771
+ "type": "string",
1772
+ "description": "Source branch name"
1773
+ },
1774
+ "base_ref": {
1775
+ "type": "string",
1776
+ "description": "Target branch name"
1777
+ },
1778
+ "labels": {
1779
+ "type": "array",
1780
+ "items": {
1781
+ "type": "string"
1782
+ },
1783
+ "description": "Label names"
1784
+ },
1785
+ "draft": {
1786
+ "type": "boolean",
1787
+ "description": "Whether this is a draft PR"
1788
+ },
1789
+ "merged": {
1790
+ "type": "boolean",
1791
+ "description": "Whether this PR has been merged"
1792
+ },
1793
+ "mergeable": {
1794
+ "type": "boolean",
1795
+ "description": "Whether this PR can be merged"
1796
+ },
1797
+ "comments": {
1798
+ "type": "number",
1799
+ "description": "Number of comments"
1800
+ },
1801
+ "commits": {
1802
+ "type": "number",
1803
+ "description": "Number of commits"
1804
+ },
1805
+ "additions": {
1806
+ "type": "number",
1807
+ "description": "Number of lines added"
1808
+ },
1809
+ "deletions": {
1810
+ "type": "number",
1811
+ "description": "Number of lines deleted"
1812
+ },
1813
+ "changed_files": {
1814
+ "type": "number",
1815
+ "description": "Number of files changed"
1816
+ },
1817
+ "created_at": {
1818
+ "type": "string",
1819
+ "description": "Created ISO 8601 timestamp"
1820
+ },
1821
+ "updated_at": {
1822
+ "type": "string",
1823
+ "description": "Updated ISO 8601 timestamp"
1824
+ }
1825
+ },
1826
+ "required": [
1827
+ "number",
1828
+ "title",
1829
+ "state",
1830
+ "body",
1831
+ "html_url",
1832
+ "user_login",
1833
+ "head_ref",
1834
+ "base_ref",
1835
+ "labels",
1836
+ "draft",
1837
+ "merged",
1838
+ "mergeable",
1839
+ "comments",
1840
+ "commits",
1841
+ "additions",
1842
+ "deletions",
1843
+ "changed_files",
1844
+ "created_at",
1845
+ "updated_at"
1846
+ ],
1847
+ "additionalProperties": false,
1848
+ "description": "Pull request details"
1849
+ }
1850
+ },
1851
+ "required": [
1852
+ "pull_request"
1853
+ ],
1854
+ "additionalProperties": false
1855
+ }
1856
+ },
1857
+ {
1858
+ "name": "create_pull_request",
1859
+ "displayName": "Create Pull Request",
1860
+ "description": "Create a new pull request.",
1861
+ "summary": "Create a new pull request",
1862
+ "icon": "git-pull-request-arrow",
1863
+ "group": "Pull Requests",
1864
+ "input_schema": {
1865
+ "type": "object",
1866
+ "properties": {
1867
+ "owner": {
1868
+ "type": "string",
1869
+ "minLength": 1,
1870
+ "description": "Repository owner (user or org)"
1871
+ },
1872
+ "repo": {
1873
+ "type": "string",
1874
+ "minLength": 1,
1875
+ "description": "Repository name"
1876
+ },
1877
+ "title": {
1878
+ "type": "string",
1879
+ "minLength": 1,
1880
+ "description": "Pull request title"
1881
+ },
1882
+ "head": {
1883
+ "type": "string",
1884
+ "minLength": 1,
1885
+ "description": "Source branch name"
1886
+ },
1887
+ "base": {
1888
+ "type": "string",
1889
+ "minLength": 1,
1890
+ "description": "Target branch name to merge into"
1891
+ },
1892
+ "body": {
1893
+ "description": "Pull request description in Markdown",
1894
+ "type": "string"
1895
+ },
1896
+ "draft": {
1897
+ "description": "Create as a draft PR (default: false)",
1898
+ "type": "boolean"
1899
+ }
1900
+ },
1901
+ "required": [
1902
+ "owner",
1903
+ "repo",
1904
+ "title",
1905
+ "head",
1906
+ "base"
1907
+ ],
1908
+ "additionalProperties": false
1909
+ },
1910
+ "output_schema": {
1911
+ "type": "object",
1912
+ "properties": {
1913
+ "pull_request": {
1914
+ "type": "object",
1915
+ "properties": {
1916
+ "number": {
1917
+ "type": "number",
1918
+ "description": "Pull request number"
1919
+ },
1920
+ "title": {
1921
+ "type": "string",
1922
+ "description": "Pull request title"
1923
+ },
1924
+ "state": {
1925
+ "type": "string",
1926
+ "description": "PR state: open, closed, or merged"
1927
+ },
1928
+ "body": {
1929
+ "type": "string",
1930
+ "description": "Pull request body in Markdown"
1931
+ },
1932
+ "html_url": {
1933
+ "type": "string",
1934
+ "description": "URL to the PR on GitHub"
1935
+ },
1936
+ "user_login": {
1937
+ "type": "string",
1938
+ "description": "Login of the user who created the PR"
1939
+ },
1940
+ "head_ref": {
1941
+ "type": "string",
1942
+ "description": "Source branch name"
1943
+ },
1944
+ "base_ref": {
1945
+ "type": "string",
1946
+ "description": "Target branch name"
1947
+ },
1948
+ "labels": {
1949
+ "type": "array",
1950
+ "items": {
1951
+ "type": "string"
1952
+ },
1953
+ "description": "Label names"
1954
+ },
1955
+ "draft": {
1956
+ "type": "boolean",
1957
+ "description": "Whether this is a draft PR"
1958
+ },
1959
+ "merged": {
1960
+ "type": "boolean",
1961
+ "description": "Whether this PR has been merged"
1962
+ },
1963
+ "mergeable": {
1964
+ "type": "boolean",
1965
+ "description": "Whether this PR can be merged"
1966
+ },
1967
+ "comments": {
1968
+ "type": "number",
1969
+ "description": "Number of comments"
1970
+ },
1971
+ "commits": {
1972
+ "type": "number",
1973
+ "description": "Number of commits"
1974
+ },
1975
+ "additions": {
1976
+ "type": "number",
1977
+ "description": "Number of lines added"
1978
+ },
1979
+ "deletions": {
1980
+ "type": "number",
1981
+ "description": "Number of lines deleted"
1982
+ },
1983
+ "changed_files": {
1984
+ "type": "number",
1985
+ "description": "Number of files changed"
1986
+ },
1987
+ "created_at": {
1988
+ "type": "string",
1989
+ "description": "Created ISO 8601 timestamp"
1990
+ },
1991
+ "updated_at": {
1992
+ "type": "string",
1993
+ "description": "Updated ISO 8601 timestamp"
1994
+ }
1995
+ },
1996
+ "required": [
1997
+ "number",
1998
+ "title",
1999
+ "state",
2000
+ "body",
2001
+ "html_url",
2002
+ "user_login",
2003
+ "head_ref",
2004
+ "base_ref",
2005
+ "labels",
2006
+ "draft",
2007
+ "merged",
2008
+ "mergeable",
2009
+ "comments",
2010
+ "commits",
2011
+ "additions",
2012
+ "deletions",
2013
+ "changed_files",
2014
+ "created_at",
2015
+ "updated_at"
2016
+ ],
2017
+ "additionalProperties": false,
2018
+ "description": "The created pull request"
2019
+ }
2020
+ },
2021
+ "required": [
2022
+ "pull_request"
2023
+ ],
2024
+ "additionalProperties": false
2025
+ }
2026
+ },
2027
+ {
2028
+ "name": "update_pull_request",
2029
+ "displayName": "Update Pull Request",
2030
+ "description": "Update an existing pull request title or body, or close/reopen it.",
2031
+ "summary": "Update a pull request",
2032
+ "icon": "git-pull-request",
2033
+ "group": "Pull Requests",
2034
+ "input_schema": {
2035
+ "type": "object",
2036
+ "properties": {
2037
+ "owner": {
2038
+ "type": "string",
2039
+ "minLength": 1,
2040
+ "description": "Repository owner (user or org)"
2041
+ },
2042
+ "repo": {
2043
+ "type": "string",
2044
+ "minLength": 1,
2045
+ "description": "Repository name"
2046
+ },
2047
+ "pull_number": {
2048
+ "type": "integer",
2049
+ "minimum": 1,
2050
+ "maximum": 9007199254740991,
2051
+ "description": "Pull request number"
2052
+ },
2053
+ "title": {
2054
+ "description": "New pull request title",
2055
+ "type": "string"
2056
+ },
2057
+ "body": {
2058
+ "description": "New pull request body in Markdown",
2059
+ "type": "string"
2060
+ },
2061
+ "state": {
2062
+ "description": "Set PR state (close or reopen)",
2063
+ "type": "string",
2064
+ "enum": [
2065
+ "open",
2066
+ "closed"
2067
+ ]
2068
+ }
2069
+ },
2070
+ "required": [
2071
+ "owner",
2072
+ "repo",
2073
+ "pull_number"
2074
+ ],
2075
+ "additionalProperties": false
2076
+ },
2077
+ "output_schema": {
2078
+ "type": "object",
2079
+ "properties": {
2080
+ "success": {
2081
+ "type": "boolean",
2082
+ "description": "Whether the update succeeded"
2083
+ }
2084
+ },
2085
+ "required": [
2086
+ "success"
2087
+ ],
2088
+ "additionalProperties": false
2089
+ }
2090
+ },
2091
+ {
2092
+ "name": "merge_pull_request",
2093
+ "displayName": "Merge Pull Request",
2094
+ "description": "Merge a pull request. Supports merge commit, squash, and rebase strategies.",
2095
+ "summary": "Merge a pull request",
2096
+ "icon": "git-merge",
2097
+ "group": "Pull Requests",
2098
+ "input_schema": {
2099
+ "type": "object",
2100
+ "properties": {
2101
+ "owner": {
2102
+ "type": "string",
2103
+ "minLength": 1,
2104
+ "description": "Repository owner (user or org)"
2105
+ },
2106
+ "repo": {
2107
+ "type": "string",
2108
+ "minLength": 1,
2109
+ "description": "Repository name"
2110
+ },
2111
+ "pull_number": {
2112
+ "type": "integer",
2113
+ "minimum": 1,
2114
+ "maximum": 9007199254740991,
2115
+ "description": "Pull request number"
2116
+ },
2117
+ "commit_title": {
2118
+ "description": "Title for the merge commit",
2119
+ "type": "string"
2120
+ },
2121
+ "commit_message": {
2122
+ "description": "Extra detail for the merge commit",
2123
+ "type": "string"
2124
+ },
2125
+ "merge_method": {
2126
+ "description": "Merge strategy (default: squash)",
2127
+ "type": "string",
2128
+ "enum": [
2129
+ "merge",
2130
+ "squash",
2131
+ "rebase"
2132
+ ]
2133
+ }
2134
+ },
2135
+ "required": [
2136
+ "owner",
2137
+ "repo",
2138
+ "pull_number"
2139
+ ],
2140
+ "additionalProperties": false
2141
+ },
2142
+ "output_schema": {
2143
+ "type": "object",
2144
+ "properties": {
2145
+ "success": {
2146
+ "type": "boolean",
2147
+ "description": "Whether the merge was initiated"
2148
+ }
2149
+ },
2150
+ "required": [
2151
+ "success"
2152
+ ],
2153
+ "additionalProperties": false
2154
+ }
2155
+ },
2156
+ {
2157
+ "name": "get_pull_request_diff",
2158
+ "displayName": "Get Pull Request Diff",
2159
+ "description": "Get the raw diff of a pull request. Returns the unified diff text for all changed files.",
2160
+ "summary": "Get the raw diff of a pull request",
2161
+ "icon": "file-diff",
2162
+ "group": "Pull Requests",
2163
+ "input_schema": {
2164
+ "type": "object",
2165
+ "properties": {
2166
+ "owner": {
2167
+ "type": "string",
2168
+ "minLength": 1,
2169
+ "description": "Repository owner (user or org)"
2170
+ },
2171
+ "repo": {
2172
+ "type": "string",
2173
+ "minLength": 1,
2174
+ "description": "Repository name"
2175
+ },
2176
+ "pull_number": {
2177
+ "type": "integer",
2178
+ "minimum": 1,
2179
+ "maximum": 9007199254740991,
2180
+ "description": "Pull request number"
2181
+ }
2182
+ },
2183
+ "required": [
2184
+ "owner",
2185
+ "repo",
2186
+ "pull_number"
2187
+ ],
2188
+ "additionalProperties": false
2189
+ },
2190
+ "output_schema": {
2191
+ "type": "object",
2192
+ "properties": {
2193
+ "diff": {
2194
+ "type": "string",
2195
+ "description": "Raw unified diff text"
2196
+ }
2197
+ },
2198
+ "required": [
2199
+ "diff"
2200
+ ],
2201
+ "additionalProperties": false
2202
+ }
2203
+ },
2204
+ {
2205
+ "name": "list_pull_request_files",
2206
+ "displayName": "List Pull Request Files",
2207
+ "description": "List files changed in a pull request. Returns filenames, change status, and line-level diff statistics.",
2208
+ "summary": "List files changed in a pull request",
2209
+ "icon": "files",
2210
+ "group": "Pull Requests",
2211
+ "input_schema": {
2212
+ "type": "object",
2213
+ "properties": {
2214
+ "owner": {
2215
+ "type": "string",
2216
+ "minLength": 1,
2217
+ "description": "Repository owner (user or org)"
2218
+ },
2219
+ "repo": {
2220
+ "type": "string",
2221
+ "minLength": 1,
2222
+ "description": "Repository name"
2223
+ },
2224
+ "pull_number": {
2225
+ "type": "integer",
2226
+ "minimum": 1,
2227
+ "maximum": 9007199254740991,
2228
+ "description": "Pull request number"
2229
+ }
2230
+ },
2231
+ "required": [
2232
+ "owner",
2233
+ "repo",
2234
+ "pull_number"
2235
+ ],
2236
+ "additionalProperties": false
2237
+ },
2238
+ "output_schema": {
2239
+ "type": "object",
2240
+ "properties": {
2241
+ "files": {
2242
+ "type": "array",
2243
+ "items": {
2244
+ "type": "object",
2245
+ "properties": {
2246
+ "filename": {
2247
+ "type": "string",
2248
+ "description": "File path"
2249
+ },
2250
+ "status": {
2251
+ "type": "string",
2252
+ "description": "Change type: added, removed, modified, renamed, etc."
2253
+ },
2254
+ "additions": {
2255
+ "type": "number",
2256
+ "description": "Lines added"
2257
+ },
2258
+ "deletions": {
2259
+ "type": "number",
2260
+ "description": "Lines deleted"
2261
+ },
2262
+ "changes": {
2263
+ "type": "number",
2264
+ "description": "Total lines changed"
2265
+ }
2266
+ },
2267
+ "required": [
2268
+ "filename",
2269
+ "status",
2270
+ "additions",
2271
+ "deletions",
2272
+ "changes"
2273
+ ],
2274
+ "additionalProperties": false
2275
+ },
2276
+ "description": "List of changed files"
2277
+ }
2278
+ },
2279
+ "required": [
2280
+ "files"
2281
+ ],
2282
+ "additionalProperties": false
2283
+ }
2284
+ },
2285
+ {
2286
+ "name": "request_pull_request_review",
2287
+ "displayName": "Request Pull Request Review",
2288
+ "description": "Request reviewers for a pull request. Specify individual users and/or team slugs to request reviews from.",
2289
+ "summary": "Request reviewers for a pull request",
2290
+ "icon": "user-plus",
2291
+ "group": "Pull Requests",
2292
+ "input_schema": {
2293
+ "type": "object",
2294
+ "properties": {
2295
+ "owner": {
2296
+ "type": "string",
2297
+ "minLength": 1,
2298
+ "description": "Repository owner (user or org)"
2299
+ },
2300
+ "repo": {
2301
+ "type": "string",
2302
+ "minLength": 1,
2303
+ "description": "Repository name"
2304
+ },
2305
+ "pull_number": {
2306
+ "type": "integer",
2307
+ "minimum": 1,
2308
+ "maximum": 9007199254740991,
2309
+ "description": "Pull request number"
2310
+ },
2311
+ "reviewers": {
2312
+ "description": "Array of user logins to request review from",
2313
+ "type": "array",
2314
+ "items": {
2315
+ "type": "string"
2316
+ }
2317
+ },
2318
+ "team_reviewers": {
2319
+ "description": "Array of team slugs to request review from",
2320
+ "type": "array",
2321
+ "items": {
2322
+ "type": "string"
2323
+ }
2324
+ }
2325
+ },
2326
+ "required": [
2327
+ "owner",
2328
+ "repo",
2329
+ "pull_number"
2330
+ ],
2331
+ "additionalProperties": false
2332
+ },
2333
+ "output_schema": {
2334
+ "type": "object",
2335
+ "properties": {
2336
+ "success": {
2337
+ "type": "boolean",
2338
+ "description": "Whether the review request was submitted"
2339
+ }
2340
+ },
2341
+ "required": [
2342
+ "success"
2343
+ ],
2344
+ "additionalProperties": false
2345
+ }
2346
+ },
2347
+ {
2348
+ "name": "list_comments",
2349
+ "displayName": "List Comments",
2350
+ "description": "List comments on an issue or pull request.",
2351
+ "summary": "List comments on an issue or pull request",
2352
+ "icon": "message-square",
2353
+ "group": "Comments",
2354
+ "input_schema": {
2355
+ "type": "object",
2356
+ "properties": {
2357
+ "owner": {
2358
+ "type": "string",
2359
+ "minLength": 1,
2360
+ "description": "Repository owner (user or org)"
2361
+ },
2362
+ "repo": {
2363
+ "type": "string",
2364
+ "minLength": 1,
2365
+ "description": "Repository name"
2366
+ },
2367
+ "issue_number": {
2368
+ "type": "integer",
2369
+ "minimum": 1,
2370
+ "maximum": 9007199254740991,
2371
+ "description": "Issue or pull request number"
2372
+ }
2373
+ },
2374
+ "required": [
2375
+ "owner",
2376
+ "repo",
2377
+ "issue_number"
2378
+ ],
2379
+ "additionalProperties": false
2380
+ },
2381
+ "output_schema": {
2382
+ "type": "object",
2383
+ "properties": {
2384
+ "comments": {
2385
+ "type": "array",
2386
+ "items": {
2387
+ "type": "object",
2388
+ "properties": {
2389
+ "id": {
2390
+ "type": "number",
2391
+ "description": "Comment ID"
2392
+ },
2393
+ "body": {
2394
+ "type": "string",
2395
+ "description": "Comment body in Markdown"
2396
+ },
2397
+ "user_login": {
2398
+ "type": "string",
2399
+ "description": "Login of the commenter"
2400
+ },
2401
+ "html_url": {
2402
+ "type": "string",
2403
+ "description": "URL to the comment on GitHub"
2404
+ },
2405
+ "created_at": {
2406
+ "type": "string",
2407
+ "description": "Created ISO 8601 timestamp"
2408
+ },
2409
+ "updated_at": {
2410
+ "type": "string",
2411
+ "description": "Updated ISO 8601 timestamp"
2412
+ }
2413
+ },
2414
+ "required": [
2415
+ "id",
2416
+ "body",
2417
+ "user_login",
2418
+ "html_url",
2419
+ "created_at",
2420
+ "updated_at"
2421
+ ],
2422
+ "additionalProperties": false
2423
+ },
2424
+ "description": "List of comments"
2425
+ }
2426
+ },
2427
+ "required": [
2428
+ "comments"
2429
+ ],
2430
+ "additionalProperties": false
2431
+ }
2432
+ },
2433
+ {
2434
+ "name": "create_comment",
2435
+ "displayName": "Create Comment",
2436
+ "description": "Add a comment to an issue or pull request.",
2437
+ "summary": "Add a comment to an issue or pull request",
2438
+ "icon": "message-square-plus",
2439
+ "group": "Comments",
2440
+ "input_schema": {
2441
+ "type": "object",
2442
+ "properties": {
2443
+ "owner": {
2444
+ "type": "string",
2445
+ "minLength": 1,
2446
+ "description": "Repository owner (user or org)"
2447
+ },
2448
+ "repo": {
2449
+ "type": "string",
2450
+ "minLength": 1,
2451
+ "description": "Repository name"
2452
+ },
2453
+ "issue_number": {
2454
+ "type": "integer",
2455
+ "minimum": 1,
2456
+ "maximum": 9007199254740991,
2457
+ "description": "Issue or pull request number"
2458
+ },
2459
+ "body": {
2460
+ "type": "string",
2461
+ "minLength": 1,
2462
+ "description": "Comment body in Markdown"
2463
+ }
2464
+ },
2465
+ "required": [
2466
+ "owner",
2467
+ "repo",
2468
+ "issue_number",
2469
+ "body"
2470
+ ],
2471
+ "additionalProperties": false
2472
+ },
2473
+ "output_schema": {
2474
+ "type": "object",
2475
+ "properties": {
2476
+ "success": {
2477
+ "type": "boolean",
2478
+ "description": "Whether the comment was created successfully"
2479
+ }
2480
+ },
2481
+ "required": [
2482
+ "success"
2483
+ ],
2484
+ "additionalProperties": false
2485
+ }
2486
+ },
2487
+ {
2488
+ "name": "get_user_profile",
2489
+ "displayName": "Get User Profile",
2490
+ "description": "Get a GitHub user's profile. Defaults to the authenticated user if no username is provided.",
2491
+ "summary": "Get a user's profile information",
2492
+ "icon": "user",
2493
+ "group": "Users",
2494
+ "input_schema": {
2495
+ "type": "object",
2496
+ "properties": {
2497
+ "username": {
2498
+ "description": "GitHub username — defaults to the authenticated user",
2499
+ "type": "string"
2500
+ }
2501
+ },
2502
+ "additionalProperties": false
2503
+ },
2504
+ "output_schema": {
2505
+ "type": "object",
2506
+ "properties": {
2507
+ "user": {
2508
+ "type": "object",
2509
+ "properties": {
2510
+ "login": {
2511
+ "type": "string",
2512
+ "description": "Username"
2513
+ },
2514
+ "id": {
2515
+ "type": "number",
2516
+ "description": "User ID"
2517
+ },
2518
+ "name": {
2519
+ "type": "string",
2520
+ "description": "Display name"
2521
+ },
2522
+ "bio": {
2523
+ "type": "string",
2524
+ "description": "User bio"
2525
+ },
2526
+ "company": {
2527
+ "type": "string",
2528
+ "description": "Company name"
2529
+ },
2530
+ "location": {
2531
+ "type": "string",
2532
+ "description": "Location"
2533
+ },
2534
+ "email": {
2535
+ "type": "string",
2536
+ "description": "Public email address"
2537
+ },
2538
+ "html_url": {
2539
+ "type": "string",
2540
+ "description": "URL to the profile on GitHub"
2541
+ },
2542
+ "avatar_url": {
2543
+ "type": "string",
2544
+ "description": "Avatar image URL"
2545
+ },
2546
+ "public_repos": {
2547
+ "type": "number",
2548
+ "description": "Number of public repositories"
2549
+ },
2550
+ "followers": {
2551
+ "type": "number",
2552
+ "description": "Number of followers"
2553
+ },
2554
+ "following": {
2555
+ "type": "number",
2556
+ "description": "Number of users being followed"
2557
+ },
2558
+ "created_at": {
2559
+ "type": "string",
2560
+ "description": "Account created ISO 8601 timestamp"
2561
+ }
2562
+ },
2563
+ "required": [
2564
+ "login",
2565
+ "id",
2566
+ "name",
2567
+ "bio",
2568
+ "company",
2569
+ "location",
2570
+ "email",
2571
+ "html_url",
2572
+ "avatar_url",
2573
+ "public_repos",
2574
+ "followers",
2575
+ "following",
2576
+ "created_at"
2577
+ ],
2578
+ "additionalProperties": false,
2579
+ "description": "User profile"
2580
+ }
2581
+ },
2582
+ "required": [
2583
+ "user"
2584
+ ],
2585
+ "additionalProperties": false
2586
+ }
2587
+ },
2588
+ {
2589
+ "name": "list_org_members",
2590
+ "displayName": "List Organization Members",
2591
+ "description": "List members of a GitHub organization.",
2592
+ "summary": "List members of an organization",
2593
+ "icon": "users",
2594
+ "group": "Users",
2595
+ "input_schema": {
2596
+ "type": "object",
2597
+ "properties": {
2598
+ "org": {
2599
+ "type": "string",
2600
+ "minLength": 1,
2601
+ "description": "Organization name"
2602
+ }
2603
+ },
2604
+ "required": [
2605
+ "org"
2606
+ ],
2607
+ "additionalProperties": false
2608
+ },
2609
+ "output_schema": {
2610
+ "type": "object",
2611
+ "properties": {
2612
+ "members": {
2613
+ "type": "array",
2614
+ "items": {
2615
+ "type": "object",
2616
+ "properties": {
2617
+ "login": {
2618
+ "type": "string",
2619
+ "description": "Username"
2620
+ },
2621
+ "avatar_url": {
2622
+ "type": "string",
2623
+ "description": "Avatar URL"
2624
+ },
2625
+ "html_url": {
2626
+ "type": "string",
2627
+ "description": "Profile URL"
2628
+ }
2629
+ },
2630
+ "required": [
2631
+ "login",
2632
+ "avatar_url",
2633
+ "html_url"
2634
+ ],
2635
+ "additionalProperties": false
2636
+ },
2637
+ "description": "List of organization members"
2638
+ }
2639
+ },
2640
+ "required": [
2641
+ "members"
2642
+ ],
2643
+ "additionalProperties": false
2644
+ }
2645
+ },
2646
+ {
2647
+ "name": "list_branches",
2648
+ "displayName": "List Branches",
2649
+ "description": "List branches for a repository.",
2650
+ "summary": "List branches for a repository",
2651
+ "icon": "git-branch",
2652
+ "group": "Repositories",
2653
+ "input_schema": {
2654
+ "type": "object",
2655
+ "properties": {
2656
+ "owner": {
2657
+ "type": "string",
2658
+ "minLength": 1,
2659
+ "description": "Repository owner (user or org)"
2660
+ },
2661
+ "repo": {
2662
+ "type": "string",
2663
+ "minLength": 1,
2664
+ "description": "Repository name"
2665
+ }
2666
+ },
2667
+ "required": [
2668
+ "owner",
2669
+ "repo"
2670
+ ],
2671
+ "additionalProperties": false
2672
+ },
2673
+ "output_schema": {
2674
+ "type": "object",
2675
+ "properties": {
2676
+ "branches": {
2677
+ "type": "array",
2678
+ "items": {
2679
+ "type": "object",
2680
+ "properties": {
2681
+ "name": {
2682
+ "type": "string",
2683
+ "description": "Branch name"
2684
+ },
2685
+ "protected": {
2686
+ "type": "boolean",
2687
+ "description": "Whether the branch is protected"
2688
+ },
2689
+ "sha": {
2690
+ "type": "string",
2691
+ "description": "SHA of the branch HEAD commit"
2692
+ }
2693
+ },
2694
+ "required": [
2695
+ "name",
2696
+ "protected",
2697
+ "sha"
2698
+ ],
2699
+ "additionalProperties": false
2700
+ },
2701
+ "description": "List of branches"
2702
+ }
2703
+ },
2704
+ "required": [
2705
+ "branches"
2706
+ ],
2707
+ "additionalProperties": false
2708
+ }
2709
+ },
2710
+ {
2711
+ "name": "get_file_content",
2712
+ "displayName": "Get File Content",
2713
+ "description": "Read a file from a repository. Returns the raw content as text. Use the ref parameter to read from a specific branch or commit.",
2714
+ "summary": "Read a file from a repository",
2715
+ "icon": "file-text",
2716
+ "group": "Repositories",
2717
+ "input_schema": {
2718
+ "type": "object",
2719
+ "properties": {
2720
+ "owner": {
2721
+ "type": "string",
2722
+ "minLength": 1,
2723
+ "description": "Repository owner (user or org)"
2724
+ },
2725
+ "repo": {
2726
+ "type": "string",
2727
+ "minLength": 1,
2728
+ "description": "Repository name"
2729
+ },
2730
+ "path": {
2731
+ "type": "string",
2732
+ "minLength": 1,
2733
+ "description": "File path relative to repository root (e.g., \"src/index.ts\")"
2734
+ },
2735
+ "ref": {
2736
+ "description": "Branch name, tag, or commit SHA (defaults to the default branch)",
2737
+ "type": "string"
2738
+ }
2739
+ },
2740
+ "required": [
2741
+ "owner",
2742
+ "repo",
2743
+ "path"
2744
+ ],
2745
+ "additionalProperties": false
2746
+ },
2747
+ "output_schema": {
2748
+ "type": "object",
2749
+ "properties": {
2750
+ "content": {
2751
+ "type": "string",
2752
+ "description": "Raw file content as text"
2753
+ },
2754
+ "path": {
2755
+ "type": "string",
2756
+ "description": "File path"
2757
+ }
2758
+ },
2759
+ "required": [
2760
+ "content",
2761
+ "path"
2762
+ ],
2763
+ "additionalProperties": false
2764
+ }
2765
+ },
2766
+ {
2767
+ "name": "create_or_update_file",
2768
+ "displayName": "Create or Update File",
2769
+ "description": "Create or update a file in a repository. Commits directly to the specified branch.",
2770
+ "summary": "Create or update a file in a repository",
2771
+ "icon": "file-edit",
2772
+ "group": "Repositories",
2773
+ "input_schema": {
2774
+ "type": "object",
2775
+ "properties": {
2776
+ "owner": {
2777
+ "type": "string",
2778
+ "minLength": 1,
2779
+ "description": "Repository owner (user or org)"
2780
+ },
2781
+ "repo": {
2782
+ "type": "string",
2783
+ "minLength": 1,
2784
+ "description": "Repository name"
2785
+ },
2786
+ "path": {
2787
+ "type": "string",
2788
+ "minLength": 1,
2789
+ "description": "File path relative to repository root"
2790
+ },
2791
+ "content": {
2792
+ "type": "string",
2793
+ "minLength": 1,
2794
+ "description": "File content as a UTF-8 string"
2795
+ },
2796
+ "message": {
2797
+ "type": "string",
2798
+ "minLength": 1,
2799
+ "description": "Commit message"
2800
+ },
2801
+ "branch": {
2802
+ "description": "Branch to commit to (defaults to the default branch)",
2803
+ "type": "string"
2804
+ }
2805
+ },
2806
+ "required": [
2807
+ "owner",
2808
+ "repo",
2809
+ "path",
2810
+ "content",
2811
+ "message"
2812
+ ],
2813
+ "additionalProperties": false
2814
+ },
2815
+ "output_schema": {
2816
+ "type": "object",
2817
+ "properties": {
2818
+ "success": {
2819
+ "type": "boolean",
2820
+ "description": "Whether the file was created/updated"
2821
+ }
2822
+ },
2823
+ "required": [
2824
+ "success"
2825
+ ],
2826
+ "additionalProperties": false
2827
+ }
2828
+ },
2829
+ {
2830
+ "name": "delete_file",
2831
+ "displayName": "Delete File",
2832
+ "description": "Delete a file from a repository. Commits directly to the specified branch.",
2833
+ "summary": "Delete a file from a repository",
2834
+ "icon": "file-x",
2835
+ "group": "Repositories",
2836
+ "input_schema": {
2837
+ "type": "object",
2838
+ "properties": {
2839
+ "owner": {
2840
+ "type": "string",
2841
+ "minLength": 1,
2842
+ "description": "Repository owner (user or org)"
2843
+ },
2844
+ "repo": {
2845
+ "type": "string",
2846
+ "minLength": 1,
2847
+ "description": "Repository name"
2848
+ },
2849
+ "path": {
2850
+ "type": "string",
2851
+ "minLength": 1,
2852
+ "description": "File path relative to repository root"
2853
+ },
2854
+ "message": {
2855
+ "type": "string",
2856
+ "minLength": 1,
2857
+ "description": "Commit message for the deletion"
2858
+ },
2859
+ "branch": {
2860
+ "description": "Branch to commit to (defaults to the default branch)",
2861
+ "type": "string"
2862
+ }
2863
+ },
2864
+ "required": [
2865
+ "owner",
2866
+ "repo",
2867
+ "path",
2868
+ "message"
2869
+ ],
2870
+ "additionalProperties": false
2871
+ },
2872
+ "output_schema": {
2873
+ "type": "object",
2874
+ "properties": {
2875
+ "success": {
2876
+ "type": "boolean",
2877
+ "description": "Whether the file was deleted"
2878
+ }
2879
+ },
2880
+ "required": [
2881
+ "success"
2882
+ ],
2883
+ "additionalProperties": false
2884
+ }
2885
+ },
2886
+ {
2887
+ "name": "list_workflow_runs",
2888
+ "displayName": "List Workflow Runs",
2889
+ "description": "List workflow runs for a repository. Returns recent workflow runs from the Actions page.",
2890
+ "summary": "List GitHub Actions workflow runs",
2891
+ "icon": "play",
2892
+ "group": "Actions",
2893
+ "input_schema": {
2894
+ "type": "object",
2895
+ "properties": {
2896
+ "owner": {
2897
+ "type": "string",
2898
+ "minLength": 1,
2899
+ "description": "Repository owner (user or org)"
2900
+ },
2901
+ "repo": {
2902
+ "type": "string",
2903
+ "minLength": 1,
2904
+ "description": "Repository name"
2905
+ }
2906
+ },
2907
+ "required": [
2908
+ "owner",
2909
+ "repo"
2910
+ ],
2911
+ "additionalProperties": false
2912
+ },
2913
+ "output_schema": {
2914
+ "type": "object",
2915
+ "properties": {
2916
+ "workflow_runs": {
2917
+ "type": "array",
2918
+ "items": {
2919
+ "type": "object",
2920
+ "properties": {
2921
+ "id": {
2922
+ "type": "number",
2923
+ "description": "Workflow run ID"
2924
+ },
2925
+ "name": {
2926
+ "type": "string",
2927
+ "description": "Workflow name"
2928
+ },
2929
+ "status": {
2930
+ "type": "string",
2931
+ "description": "Run status: queued, in_progress, completed, etc."
2932
+ },
2933
+ "conclusion": {
2934
+ "type": "string",
2935
+ "description": "Run conclusion: success, failure, cancelled, skipped, etc."
2936
+ },
2937
+ "head_branch": {
2938
+ "type": "string",
2939
+ "description": "Branch the workflow ran on"
2940
+ },
2941
+ "head_sha": {
2942
+ "type": "string",
2943
+ "description": "HEAD commit SHA"
2944
+ },
2945
+ "html_url": {
2946
+ "type": "string",
2947
+ "description": "URL to the workflow run on GitHub"
2948
+ },
2949
+ "created_at": {
2950
+ "type": "string",
2951
+ "description": "Created ISO 8601 timestamp"
2952
+ },
2953
+ "updated_at": {
2954
+ "type": "string",
2955
+ "description": "Updated ISO 8601 timestamp"
2956
+ }
2957
+ },
2958
+ "required": [
2959
+ "id",
2960
+ "name",
2961
+ "status",
2962
+ "conclusion",
2963
+ "head_branch",
2964
+ "head_sha",
2965
+ "html_url",
2966
+ "created_at",
2967
+ "updated_at"
2968
+ ],
2969
+ "additionalProperties": false
2970
+ },
2971
+ "description": "List of workflow runs"
2972
+ }
2973
+ },
2974
+ "required": [
2975
+ "workflow_runs"
2976
+ ],
2977
+ "additionalProperties": false
2978
+ }
2979
+ },
2980
+ {
2981
+ "name": "get_workflow_run",
2982
+ "displayName": "Get Workflow Run",
2983
+ "description": "Get information about a specific GitHub Actions workflow run by its run ID.",
2984
+ "summary": "Get a workflow run by ID",
2985
+ "icon": "play",
2986
+ "group": "Actions",
2987
+ "input_schema": {
2988
+ "type": "object",
2989
+ "properties": {
2990
+ "owner": {
2991
+ "type": "string",
2992
+ "minLength": 1,
2993
+ "description": "Repository owner (user or org)"
2994
+ },
2995
+ "repo": {
2996
+ "type": "string",
2997
+ "minLength": 1,
2998
+ "description": "Repository name"
2999
+ },
3000
+ "run_id": {
3001
+ "type": "integer",
3002
+ "minimum": 1,
3003
+ "maximum": 9007199254740991,
3004
+ "description": "Workflow run ID"
3005
+ }
3006
+ },
3007
+ "required": [
3008
+ "owner",
3009
+ "repo",
3010
+ "run_id"
3011
+ ],
3012
+ "additionalProperties": false
3013
+ },
3014
+ "output_schema": {
3015
+ "type": "object",
3016
+ "properties": {
3017
+ "workflow_run": {
3018
+ "type": "object",
3019
+ "properties": {
3020
+ "id": {
3021
+ "type": "number",
3022
+ "description": "Workflow run ID"
3023
+ },
3024
+ "name": {
3025
+ "type": "string",
3026
+ "description": "Workflow name"
3027
+ },
3028
+ "status": {
3029
+ "type": "string",
3030
+ "description": "Run status: queued, in_progress, completed, etc."
3031
+ },
3032
+ "conclusion": {
3033
+ "type": "string",
3034
+ "description": "Run conclusion: success, failure, cancelled, skipped, etc."
3035
+ },
3036
+ "head_branch": {
3037
+ "type": "string",
3038
+ "description": "Branch the workflow ran on"
3039
+ },
3040
+ "head_sha": {
3041
+ "type": "string",
3042
+ "description": "HEAD commit SHA"
3043
+ },
3044
+ "html_url": {
3045
+ "type": "string",
3046
+ "description": "URL to the workflow run on GitHub"
3047
+ },
3048
+ "created_at": {
3049
+ "type": "string",
3050
+ "description": "Created ISO 8601 timestamp"
3051
+ },
3052
+ "updated_at": {
3053
+ "type": "string",
3054
+ "description": "Updated ISO 8601 timestamp"
3055
+ }
3056
+ },
3057
+ "required": [
3058
+ "id",
3059
+ "name",
3060
+ "status",
3061
+ "conclusion",
3062
+ "head_branch",
3063
+ "head_sha",
3064
+ "html_url",
3065
+ "created_at",
3066
+ "updated_at"
3067
+ ],
3068
+ "additionalProperties": false,
3069
+ "description": "The workflow run"
3070
+ }
3071
+ },
3072
+ "required": [
3073
+ "workflow_run"
3074
+ ],
3075
+ "additionalProperties": false
3076
+ }
3077
+ },
3078
+ {
3079
+ "name": "search_repos",
3080
+ "displayName": "Search Repositories",
3081
+ "description": "Search for repositories across GitHub. Supports GitHub search syntax (e.g., \"repo:owner/name\", \"language:typescript\", \"stars:>1000\").",
3082
+ "summary": "Search repositories on GitHub",
3083
+ "icon": "search",
3084
+ "group": "Search",
3085
+ "input_schema": {
3086
+ "type": "object",
3087
+ "properties": {
3088
+ "query": {
3089
+ "type": "string",
3090
+ "minLength": 1,
3091
+ "description": "Search query using GitHub search syntax (e.g., \"language:typescript stars:>1000\")"
3092
+ },
3093
+ "per_page": {
3094
+ "description": "Results per page (default 30, max 100)",
3095
+ "type": "integer",
3096
+ "minimum": 1,
3097
+ "maximum": 100
3098
+ },
3099
+ "page": {
3100
+ "description": "Page number (default 1)",
3101
+ "type": "integer",
3102
+ "minimum": 1,
3103
+ "maximum": 9007199254740991
3104
+ }
3105
+ },
3106
+ "required": [
3107
+ "query"
3108
+ ],
3109
+ "additionalProperties": false
3110
+ },
3111
+ "output_schema": {
3112
+ "type": "object",
3113
+ "properties": {
3114
+ "total_count": {
3115
+ "type": "number",
3116
+ "description": "Total number of matching repositories"
3117
+ },
3118
+ "repositories": {
3119
+ "type": "array",
3120
+ "items": {
3121
+ "type": "object",
3122
+ "properties": {
3123
+ "id": {
3124
+ "type": "number",
3125
+ "description": "Repository ID"
3126
+ },
3127
+ "name": {
3128
+ "type": "string",
3129
+ "description": "Repository name"
3130
+ },
3131
+ "full_name": {
3132
+ "type": "string",
3133
+ "description": "Full name in owner/repo format"
3134
+ },
3135
+ "description": {
3136
+ "type": "string",
3137
+ "description": "Repository description"
3138
+ },
3139
+ "private": {
3140
+ "type": "boolean",
3141
+ "description": "Whether the repository is private"
3142
+ },
3143
+ "html_url": {
3144
+ "type": "string",
3145
+ "description": "URL to the repository on GitHub"
3146
+ },
3147
+ "default_branch": {
3148
+ "type": "string",
3149
+ "description": "Default branch name"
3150
+ },
3151
+ "language": {
3152
+ "type": "string",
3153
+ "description": "Primary programming language"
3154
+ },
3155
+ "stargazers_count": {
3156
+ "type": "number",
3157
+ "description": "Number of stars"
3158
+ },
3159
+ "forks_count": {
3160
+ "type": "number",
3161
+ "description": "Number of forks"
3162
+ },
3163
+ "open_issues_count": {
3164
+ "type": "number",
3165
+ "description": "Number of open issues"
3166
+ },
3167
+ "archived": {
3168
+ "type": "boolean",
3169
+ "description": "Whether the repository is archived"
3170
+ },
3171
+ "updated_at": {
3172
+ "type": "string",
3173
+ "description": "Last updated ISO 8601 timestamp"
3174
+ }
3175
+ },
3176
+ "required": [
3177
+ "id",
3178
+ "name",
3179
+ "full_name",
3180
+ "description",
3181
+ "private",
3182
+ "html_url",
3183
+ "default_branch",
3184
+ "language",
3185
+ "stargazers_count",
3186
+ "forks_count",
3187
+ "open_issues_count",
3188
+ "archived",
3189
+ "updated_at"
3190
+ ],
3191
+ "additionalProperties": false
3192
+ },
3193
+ "description": "List of matching repositories"
3194
+ }
3195
+ },
3196
+ "required": [
3197
+ "total_count",
3198
+ "repositories"
3199
+ ],
3200
+ "additionalProperties": false
3201
+ }
3202
+ },
3203
+ {
3204
+ "name": "add_reaction",
3205
+ "displayName": "Add Reaction",
3206
+ "description": "Add a reaction to an issue, pull request, or comment. Requires the node ID of the subject (e.g., from get_issue or get_pull_request).",
3207
+ "summary": "Add a reaction to an issue or comment",
3208
+ "icon": "smile-plus",
3209
+ "group": "Reactions",
3210
+ "input_schema": {
3211
+ "type": "object",
3212
+ "properties": {
3213
+ "subject_id": {
3214
+ "type": "string",
3215
+ "minLength": 1,
3216
+ "description": "Node ID of the issue, PR, or comment to react to (e.g., \"I_kwDOBPD3oc7y2-NQ\", \"IC_kwDOBPD3oc7xkPTu\")"
3217
+ },
3218
+ "content": {
3219
+ "type": "string",
3220
+ "enum": [
3221
+ "+1",
3222
+ "-1",
3223
+ "laugh",
3224
+ "confused",
3225
+ "heart",
3226
+ "hooray",
3227
+ "rocket",
3228
+ "eyes"
3229
+ ],
3230
+ "description": "Reaction emoji name"
3231
+ }
3232
+ },
3233
+ "required": [
3234
+ "subject_id",
3235
+ "content"
3236
+ ],
3237
+ "additionalProperties": false
3238
+ },
3239
+ "output_schema": {
3240
+ "type": "object",
3241
+ "properties": {
3242
+ "success": {
3243
+ "type": "boolean",
3244
+ "description": "Whether the reaction was added"
3245
+ }
3246
+ },
3247
+ "required": [
3248
+ "success"
3249
+ ],
3250
+ "additionalProperties": false
3251
+ }
3252
+ },
3253
+ {
3254
+ "name": "list_notifications",
3255
+ "displayName": "List Notifications",
3256
+ "description": "List notifications for the authenticated user. Includes issue, PR, and release notifications.",
3257
+ "summary": "List notifications for the authenticated user",
3258
+ "icon": "bell",
3259
+ "group": "Users",
3260
+ "input_schema": {
3261
+ "type": "object",
3262
+ "properties": {},
3263
+ "additionalProperties": false
3264
+ },
3265
+ "output_schema": {
3266
+ "type": "object",
3267
+ "properties": {
3268
+ "notifications": {
3269
+ "type": "array",
3270
+ "items": {
3271
+ "type": "object",
3272
+ "properties": {
3273
+ "id": {
3274
+ "type": "string",
3275
+ "description": "Notification ID"
3276
+ },
3277
+ "reason": {
3278
+ "type": "string",
3279
+ "description": "Reason for the notification (e.g., subscribed, mention, review_requested)"
3280
+ },
3281
+ "unread": {
3282
+ "type": "boolean",
3283
+ "description": "Whether the notification is unread"
3284
+ },
3285
+ "subject_title": {
3286
+ "type": "string",
3287
+ "description": "Subject title"
3288
+ },
3289
+ "subject_type": {
3290
+ "type": "string",
3291
+ "description": "Subject type (e.g., Issue, PullRequest, Release)"
3292
+ },
3293
+ "subject_url": {
3294
+ "type": "string",
3295
+ "description": "API URL for the subject"
3296
+ },
3297
+ "repository_full_name": {
3298
+ "type": "string",
3299
+ "description": "Full name of the repository"
3300
+ },
3301
+ "updated_at": {
3302
+ "type": "string",
3303
+ "description": "Updated ISO 8601 timestamp"
3304
+ }
3305
+ },
3306
+ "required": [
3307
+ "id",
3308
+ "reason",
3309
+ "unread",
3310
+ "subject_title",
3311
+ "subject_type",
3312
+ "subject_url",
3313
+ "repository_full_name",
3314
+ "updated_at"
3315
+ ],
3316
+ "additionalProperties": false
3317
+ },
3318
+ "description": "List of notifications"
3319
+ }
3320
+ },
3321
+ "required": [
3322
+ "notifications"
3323
+ ],
3324
+ "additionalProperties": false
3325
+ }
3326
+ }
3327
+ ]
3328
+ }