@ldraney/github-mcp 0.1.0 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -2
- package/dist/prompts/activity-summary.d.ts +10 -0
- package/dist/prompts/activity-summary.js +154 -0
- package/dist/prompts/code-review.d.ts +9 -0
- package/dist/prompts/code-review.js +145 -0
- package/dist/prompts/issue-triage.d.ts +9 -0
- package/dist/prompts/issue-triage.js +202 -0
- package/dist/prompts/release-notes.d.ts +9 -0
- package/dist/prompts/release-notes.js +236 -0
- package/dist/server.d.ts +8 -1
- package/dist/server.js +36 -210
- package/dist/tools/categories/actions.d.ts +2 -5
- package/dist/tools/categories/actions.js +640 -369
- package/dist/tools/categories/activity.d.ts +2 -0
- package/dist/tools/categories/activity.js +534 -0
- package/dist/tools/categories/apps.d.ts +2 -0
- package/dist/tools/categories/apps.js +224 -0
- package/dist/tools/categories/billing.d.ts +2 -0
- package/dist/tools/categories/billing.js +145 -0
- package/dist/tools/categories/checks.d.ts +2 -0
- package/dist/tools/categories/checks.js +554 -0
- package/dist/tools/categories/codeScanning.d.ts +2 -0
- package/dist/tools/categories/codeScanning.js +375 -0
- package/dist/tools/categories/codeSecurity.d.ts +2 -0
- package/dist/tools/categories/codeSecurity.js +463 -0
- package/dist/tools/categories/codesOfConduct.d.ts +2 -0
- package/dist/tools/categories/codesOfConduct.js +45 -0
- package/dist/tools/categories/codespaces.d.ts +2 -0
- package/dist/tools/categories/codespaces.js +259 -0
- package/dist/tools/categories/copilot.d.ts +2 -0
- package/dist/tools/categories/copilot.js +187 -0
- package/dist/tools/categories/dependabot.d.ts +2 -0
- package/dist/tools/categories/dependabot.js +454 -0
- package/dist/tools/categories/emojis.d.ts +2 -0
- package/dist/tools/categories/emojis.js +22 -0
- package/dist/tools/categories/gists.d.ts +2 -5
- package/dist/tools/categories/gists.js +474 -285
- package/dist/tools/categories/git.d.ts +2 -0
- package/dist/tools/categories/git.js +520 -0
- package/dist/tools/categories/gitignore.d.ts +2 -0
- package/dist/tools/categories/gitignore.js +45 -0
- package/dist/tools/categories/index.d.ts +33 -0
- package/dist/tools/categories/index.js +33 -0
- package/dist/tools/categories/interactions.d.ts +2 -0
- package/dist/tools/categories/interactions.js +184 -0
- package/dist/tools/categories/issues.d.ts +2 -5
- package/dist/tools/categories/issues.js +692 -390
- package/dist/tools/categories/licenses.d.ts +2 -0
- package/dist/tools/categories/licenses.js +95 -0
- package/dist/tools/categories/markdown.d.ts +2 -0
- package/dist/tools/categories/markdown.js +64 -0
- package/dist/tools/categories/meta.d.ts +2 -0
- package/dist/tools/categories/meta.js +74 -0
- package/dist/tools/categories/migrations.d.ts +2 -0
- package/dist/tools/categories/migrations.js +290 -0
- package/dist/tools/categories/orgs.d.ts +2 -5
- package/dist/tools/categories/orgs.js +585 -417
- package/dist/tools/categories/packages.d.ts +2 -0
- package/dist/tools/categories/packages.js +918 -0
- package/dist/tools/categories/projects.d.ts +2 -0
- package/dist/tools/categories/projects.js +692 -0
- package/dist/tools/categories/pulls.d.ts +2 -5
- package/dist/tools/categories/pulls.js +715 -332
- package/dist/tools/categories/rateLimit.d.ts +2 -0
- package/dist/tools/categories/rateLimit.js +22 -0
- package/dist/tools/categories/reactions.d.ts +2 -0
- package/dist/tools/categories/reactions.js +385 -0
- package/dist/tools/categories/repos.d.ts +2 -5
- package/dist/tools/categories/repos.js +844 -366
- package/dist/tools/categories/search.d.ts +2 -5
- package/dist/tools/categories/search.js +294 -196
- package/dist/tools/categories/secretScanning.d.ts +2 -0
- package/dist/tools/categories/secretScanning.js +324 -0
- package/dist/tools/categories/securityAdvisories.d.ts +2 -0
- package/dist/tools/categories/securityAdvisories.js +407 -0
- package/dist/tools/categories/teams.d.ts +2 -0
- package/dist/tools/categories/teams.js +614 -0
- package/dist/tools/categories/users.d.ts +2 -5
- package/dist/tools/categories/users.js +474 -247
- package/dist/tools/generator.d.ts +35 -15
- package/dist/tools/generator.js +113 -57
- package/dist/tools/types.d.ts +63 -0
- package/dist/tools/types.js +17 -0
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const rateLimitCategory = {
|
|
3
|
+
name: 'rateLimit',
|
|
4
|
+
description: 'GitHub rate limit tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// get - Get rate limit status for the authenticated user
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_rateLimit_get',
|
|
10
|
+
description: 'Get the rate limit status for the authenticated user. Returns current rate limit state including limits, remaining calls, and reset times for core, search, graphql, and other API categories.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
handler: async (octokit) => {
|
|
17
|
+
const { data } = await octokit.rateLimit.get();
|
|
18
|
+
return successResult(data);
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const reactionsCategory = {
|
|
3
|
+
name: 'reactions',
|
|
4
|
+
description: 'GitHub reactions tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// list_for_issue - List reactions for an issue
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_reactions_list_for_issue',
|
|
10
|
+
description: 'List reactions for an issue',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
owner: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Repository owner',
|
|
17
|
+
},
|
|
18
|
+
repo: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'Repository name',
|
|
21
|
+
},
|
|
22
|
+
issue_number: {
|
|
23
|
+
type: 'number',
|
|
24
|
+
description: 'Issue number',
|
|
25
|
+
},
|
|
26
|
+
content: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
29
|
+
description: 'Filter by reaction type',
|
|
30
|
+
},
|
|
31
|
+
per_page: {
|
|
32
|
+
type: 'number',
|
|
33
|
+
description: 'Results per page (max 100)',
|
|
34
|
+
},
|
|
35
|
+
page: {
|
|
36
|
+
type: 'number',
|
|
37
|
+
description: 'Page number',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: ['owner', 'repo', 'issue_number'],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
handler: async (octokit, args) => {
|
|
44
|
+
const { data } = await octokit.reactions.listForIssue({
|
|
45
|
+
owner: args.owner,
|
|
46
|
+
repo: args.repo,
|
|
47
|
+
issue_number: args.issue_number,
|
|
48
|
+
content: args.content,
|
|
49
|
+
per_page: args.per_page,
|
|
50
|
+
page: args.page,
|
|
51
|
+
});
|
|
52
|
+
return successResult(data);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
// list_for_issue_comment - List reactions for an issue comment
|
|
56
|
+
{
|
|
57
|
+
definition: {
|
|
58
|
+
name: 'github_reactions_list_for_issue_comment',
|
|
59
|
+
description: 'List reactions for an issue comment',
|
|
60
|
+
inputSchema: {
|
|
61
|
+
type: 'object',
|
|
62
|
+
properties: {
|
|
63
|
+
owner: {
|
|
64
|
+
type: 'string',
|
|
65
|
+
description: 'Repository owner',
|
|
66
|
+
},
|
|
67
|
+
repo: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: 'Repository name',
|
|
70
|
+
},
|
|
71
|
+
comment_id: {
|
|
72
|
+
type: 'number',
|
|
73
|
+
description: 'Comment ID',
|
|
74
|
+
},
|
|
75
|
+
content: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
78
|
+
description: 'Filter by reaction type',
|
|
79
|
+
},
|
|
80
|
+
per_page: {
|
|
81
|
+
type: 'number',
|
|
82
|
+
description: 'Results per page (max 100)',
|
|
83
|
+
},
|
|
84
|
+
page: {
|
|
85
|
+
type: 'number',
|
|
86
|
+
description: 'Page number',
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
required: ['owner', 'repo', 'comment_id'],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
handler: async (octokit, args) => {
|
|
93
|
+
const { data } = await octokit.reactions.listForIssueComment({
|
|
94
|
+
owner: args.owner,
|
|
95
|
+
repo: args.repo,
|
|
96
|
+
comment_id: args.comment_id,
|
|
97
|
+
content: args.content,
|
|
98
|
+
per_page: args.per_page,
|
|
99
|
+
page: args.page,
|
|
100
|
+
});
|
|
101
|
+
return successResult(data);
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
// list_for_pull_request_review_comment - List reactions for a pull request review comment
|
|
105
|
+
{
|
|
106
|
+
definition: {
|
|
107
|
+
name: 'github_reactions_list_for_pull_request_review_comment',
|
|
108
|
+
description: 'List reactions for a pull request review comment',
|
|
109
|
+
inputSchema: {
|
|
110
|
+
type: 'object',
|
|
111
|
+
properties: {
|
|
112
|
+
owner: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
description: 'Repository owner',
|
|
115
|
+
},
|
|
116
|
+
repo: {
|
|
117
|
+
type: 'string',
|
|
118
|
+
description: 'Repository name',
|
|
119
|
+
},
|
|
120
|
+
comment_id: {
|
|
121
|
+
type: 'number',
|
|
122
|
+
description: 'Comment ID',
|
|
123
|
+
},
|
|
124
|
+
content: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
127
|
+
description: 'Filter by reaction type',
|
|
128
|
+
},
|
|
129
|
+
per_page: {
|
|
130
|
+
type: 'number',
|
|
131
|
+
description: 'Results per page (max 100)',
|
|
132
|
+
},
|
|
133
|
+
page: {
|
|
134
|
+
type: 'number',
|
|
135
|
+
description: 'Page number',
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
required: ['owner', 'repo', 'comment_id'],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
handler: async (octokit, args) => {
|
|
142
|
+
const { data } = await octokit.reactions.listForPullRequestReviewComment({
|
|
143
|
+
owner: args.owner,
|
|
144
|
+
repo: args.repo,
|
|
145
|
+
comment_id: args.comment_id,
|
|
146
|
+
content: args.content,
|
|
147
|
+
per_page: args.per_page,
|
|
148
|
+
page: args.page,
|
|
149
|
+
});
|
|
150
|
+
return successResult(data);
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
// create_for_issue - Create a reaction for an issue
|
|
154
|
+
{
|
|
155
|
+
definition: {
|
|
156
|
+
name: 'github_reactions_create_for_issue',
|
|
157
|
+
description: 'Create a reaction for an issue',
|
|
158
|
+
inputSchema: {
|
|
159
|
+
type: 'object',
|
|
160
|
+
properties: {
|
|
161
|
+
owner: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
description: 'Repository owner',
|
|
164
|
+
},
|
|
165
|
+
repo: {
|
|
166
|
+
type: 'string',
|
|
167
|
+
description: 'Repository name',
|
|
168
|
+
},
|
|
169
|
+
issue_number: {
|
|
170
|
+
type: 'number',
|
|
171
|
+
description: 'Issue number',
|
|
172
|
+
},
|
|
173
|
+
content: {
|
|
174
|
+
type: 'string',
|
|
175
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
176
|
+
description: 'Reaction type',
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
required: ['owner', 'repo', 'issue_number', 'content'],
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
handler: async (octokit, args) => {
|
|
183
|
+
const { data } = await octokit.reactions.createForIssue({
|
|
184
|
+
owner: args.owner,
|
|
185
|
+
repo: args.repo,
|
|
186
|
+
issue_number: args.issue_number,
|
|
187
|
+
content: args.content,
|
|
188
|
+
});
|
|
189
|
+
return successResult(data);
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
// create_for_issue_comment - Create a reaction for an issue comment
|
|
193
|
+
{
|
|
194
|
+
definition: {
|
|
195
|
+
name: 'github_reactions_create_for_issue_comment',
|
|
196
|
+
description: 'Create a reaction for an issue comment',
|
|
197
|
+
inputSchema: {
|
|
198
|
+
type: 'object',
|
|
199
|
+
properties: {
|
|
200
|
+
owner: {
|
|
201
|
+
type: 'string',
|
|
202
|
+
description: 'Repository owner',
|
|
203
|
+
},
|
|
204
|
+
repo: {
|
|
205
|
+
type: 'string',
|
|
206
|
+
description: 'Repository name',
|
|
207
|
+
},
|
|
208
|
+
comment_id: {
|
|
209
|
+
type: 'number',
|
|
210
|
+
description: 'Comment ID',
|
|
211
|
+
},
|
|
212
|
+
content: {
|
|
213
|
+
type: 'string',
|
|
214
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
215
|
+
description: 'Reaction type',
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
required: ['owner', 'repo', 'comment_id', 'content'],
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
handler: async (octokit, args) => {
|
|
222
|
+
const { data } = await octokit.reactions.createForIssueComment({
|
|
223
|
+
owner: args.owner,
|
|
224
|
+
repo: args.repo,
|
|
225
|
+
comment_id: args.comment_id,
|
|
226
|
+
content: args.content,
|
|
227
|
+
});
|
|
228
|
+
return successResult(data);
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
// create_for_pull_request_review_comment - Create a reaction for a pull request review comment
|
|
232
|
+
{
|
|
233
|
+
definition: {
|
|
234
|
+
name: 'github_reactions_create_for_pull_request_review_comment',
|
|
235
|
+
description: 'Create a reaction for a pull request review comment',
|
|
236
|
+
inputSchema: {
|
|
237
|
+
type: 'object',
|
|
238
|
+
properties: {
|
|
239
|
+
owner: {
|
|
240
|
+
type: 'string',
|
|
241
|
+
description: 'Repository owner',
|
|
242
|
+
},
|
|
243
|
+
repo: {
|
|
244
|
+
type: 'string',
|
|
245
|
+
description: 'Repository name',
|
|
246
|
+
},
|
|
247
|
+
comment_id: {
|
|
248
|
+
type: 'number',
|
|
249
|
+
description: 'Comment ID',
|
|
250
|
+
},
|
|
251
|
+
content: {
|
|
252
|
+
type: 'string',
|
|
253
|
+
enum: ['+1', '-1', 'laugh', 'confused', 'heart', 'hooray', 'rocket', 'eyes'],
|
|
254
|
+
description: 'Reaction type',
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
required: ['owner', 'repo', 'comment_id', 'content'],
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
handler: async (octokit, args) => {
|
|
261
|
+
const { data } = await octokit.reactions.createForPullRequestReviewComment({
|
|
262
|
+
owner: args.owner,
|
|
263
|
+
repo: args.repo,
|
|
264
|
+
comment_id: args.comment_id,
|
|
265
|
+
content: args.content,
|
|
266
|
+
});
|
|
267
|
+
return successResult(data);
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
// delete_for_issue - Delete a reaction for an issue
|
|
271
|
+
{
|
|
272
|
+
definition: {
|
|
273
|
+
name: 'github_reactions_delete_for_issue',
|
|
274
|
+
description: 'Delete a reaction for an issue',
|
|
275
|
+
inputSchema: {
|
|
276
|
+
type: 'object',
|
|
277
|
+
properties: {
|
|
278
|
+
owner: {
|
|
279
|
+
type: 'string',
|
|
280
|
+
description: 'Repository owner',
|
|
281
|
+
},
|
|
282
|
+
repo: {
|
|
283
|
+
type: 'string',
|
|
284
|
+
description: 'Repository name',
|
|
285
|
+
},
|
|
286
|
+
issue_number: {
|
|
287
|
+
type: 'number',
|
|
288
|
+
description: 'Issue number',
|
|
289
|
+
},
|
|
290
|
+
reaction_id: {
|
|
291
|
+
type: 'number',
|
|
292
|
+
description: 'Reaction ID',
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
required: ['owner', 'repo', 'issue_number', 'reaction_id'],
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
handler: async (octokit, args) => {
|
|
299
|
+
await octokit.reactions.deleteForIssue({
|
|
300
|
+
owner: args.owner,
|
|
301
|
+
repo: args.repo,
|
|
302
|
+
issue_number: args.issue_number,
|
|
303
|
+
reaction_id: args.reaction_id,
|
|
304
|
+
});
|
|
305
|
+
return successResult({ success: true, message: 'Reaction deleted' });
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
// delete_for_issue_comment - Delete a reaction for an issue comment
|
|
309
|
+
{
|
|
310
|
+
definition: {
|
|
311
|
+
name: 'github_reactions_delete_for_issue_comment',
|
|
312
|
+
description: 'Delete a reaction for an issue comment',
|
|
313
|
+
inputSchema: {
|
|
314
|
+
type: 'object',
|
|
315
|
+
properties: {
|
|
316
|
+
owner: {
|
|
317
|
+
type: 'string',
|
|
318
|
+
description: 'Repository owner',
|
|
319
|
+
},
|
|
320
|
+
repo: {
|
|
321
|
+
type: 'string',
|
|
322
|
+
description: 'Repository name',
|
|
323
|
+
},
|
|
324
|
+
comment_id: {
|
|
325
|
+
type: 'number',
|
|
326
|
+
description: 'Comment ID',
|
|
327
|
+
},
|
|
328
|
+
reaction_id: {
|
|
329
|
+
type: 'number',
|
|
330
|
+
description: 'Reaction ID',
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
required: ['owner', 'repo', 'comment_id', 'reaction_id'],
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
handler: async (octokit, args) => {
|
|
337
|
+
await octokit.reactions.deleteForIssueComment({
|
|
338
|
+
owner: args.owner,
|
|
339
|
+
repo: args.repo,
|
|
340
|
+
comment_id: args.comment_id,
|
|
341
|
+
reaction_id: args.reaction_id,
|
|
342
|
+
});
|
|
343
|
+
return successResult({ success: true, message: 'Reaction deleted' });
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
// delete_for_pull_request_review_comment - Delete a reaction for a pull request review comment
|
|
347
|
+
{
|
|
348
|
+
definition: {
|
|
349
|
+
name: 'github_reactions_delete_for_pull_request_review_comment',
|
|
350
|
+
description: 'Delete a reaction for a pull request review comment',
|
|
351
|
+
inputSchema: {
|
|
352
|
+
type: 'object',
|
|
353
|
+
properties: {
|
|
354
|
+
owner: {
|
|
355
|
+
type: 'string',
|
|
356
|
+
description: 'Repository owner',
|
|
357
|
+
},
|
|
358
|
+
repo: {
|
|
359
|
+
type: 'string',
|
|
360
|
+
description: 'Repository name',
|
|
361
|
+
},
|
|
362
|
+
comment_id: {
|
|
363
|
+
type: 'number',
|
|
364
|
+
description: 'Comment ID',
|
|
365
|
+
},
|
|
366
|
+
reaction_id: {
|
|
367
|
+
type: 'number',
|
|
368
|
+
description: 'Reaction ID',
|
|
369
|
+
},
|
|
370
|
+
},
|
|
371
|
+
required: ['owner', 'repo', 'comment_id', 'reaction_id'],
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
handler: async (octokit, args) => {
|
|
375
|
+
await octokit.reactions.deleteForPullRequestComment({
|
|
376
|
+
owner: args.owner,
|
|
377
|
+
repo: args.repo,
|
|
378
|
+
comment_id: args.comment_id,
|
|
379
|
+
reaction_id: args.reaction_id,
|
|
380
|
+
});
|
|
381
|
+
return successResult({ success: true, message: 'Reaction deleted' });
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
],
|
|
385
|
+
};
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const reposTools: Tool[];
|
|
4
|
-
export declare function handleReposTool(octokit: Octokit, args: Record<string, unknown>): Promise<unknown>;
|
|
5
|
-
//# sourceMappingURL=repos.d.ts.map
|
|
1
|
+
import type { ToolCategory } from '../types.js';
|
|
2
|
+
export declare const reposCategory: ToolCategory;
|