@ldraney/github-mcp 0.1.0 → 0.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/server.d.ts +8 -1
- package/dist/server.js +20 -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,324 @@
|
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const secretScanningCategory = {
|
|
3
|
+
name: 'secretScanning',
|
|
4
|
+
description: 'Secret scanning tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// list_alerts_for_repo - List secret scanning alerts for a repository
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_secretScanning_list_alerts_for_repo',
|
|
10
|
+
description: 'List secret scanning alerts for a repository. Requires GitHub Advanced Security.',
|
|
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
|
+
state: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
enum: ['open', 'resolved'],
|
|
25
|
+
description: 'Filter by alert state',
|
|
26
|
+
},
|
|
27
|
+
secret_type: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Filter by secret type (e.g., "github_personal_access_token")',
|
|
30
|
+
},
|
|
31
|
+
resolution: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
enum: ['false_positive', 'wont_fix', 'revoked', 'used_in_tests'],
|
|
34
|
+
description: 'Filter by resolution status',
|
|
35
|
+
},
|
|
36
|
+
sort: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
enum: ['created', 'updated'],
|
|
39
|
+
description: 'Sort order for results',
|
|
40
|
+
},
|
|
41
|
+
direction: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
enum: ['asc', 'desc'],
|
|
44
|
+
description: 'Sort direction',
|
|
45
|
+
},
|
|
46
|
+
per_page: {
|
|
47
|
+
type: 'number',
|
|
48
|
+
description: 'Results per page (max 100)',
|
|
49
|
+
},
|
|
50
|
+
page: {
|
|
51
|
+
type: 'number',
|
|
52
|
+
description: 'Page number',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
required: ['owner', 'repo'],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
handler: async (octokit, args) => {
|
|
59
|
+
const { data } = await octokit.secretScanning.listAlertsForRepo({
|
|
60
|
+
owner: args.owner,
|
|
61
|
+
repo: args.repo,
|
|
62
|
+
state: args.state,
|
|
63
|
+
secret_type: args.secret_type,
|
|
64
|
+
resolution: args.resolution,
|
|
65
|
+
sort: args.sort,
|
|
66
|
+
direction: args.direction,
|
|
67
|
+
per_page: args.per_page,
|
|
68
|
+
page: args.page,
|
|
69
|
+
});
|
|
70
|
+
return successResult(data);
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
// list_alerts_for_org - List secret scanning alerts for an organization
|
|
74
|
+
{
|
|
75
|
+
definition: {
|
|
76
|
+
name: 'github_secretScanning_list_alerts_for_org',
|
|
77
|
+
description: 'List secret scanning alerts for an organization. Requires organization admin access and GitHub Advanced Security.',
|
|
78
|
+
inputSchema: {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {
|
|
81
|
+
org: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'Organization name',
|
|
84
|
+
},
|
|
85
|
+
state: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
enum: ['open', 'resolved'],
|
|
88
|
+
description: 'Filter by alert state',
|
|
89
|
+
},
|
|
90
|
+
secret_type: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
description: 'Filter by secret type (e.g., "github_personal_access_token")',
|
|
93
|
+
},
|
|
94
|
+
resolution: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
enum: ['false_positive', 'wont_fix', 'revoked', 'used_in_tests'],
|
|
97
|
+
description: 'Filter by resolution status',
|
|
98
|
+
},
|
|
99
|
+
sort: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
enum: ['created', 'updated'],
|
|
102
|
+
description: 'Sort order for results',
|
|
103
|
+
},
|
|
104
|
+
direction: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
enum: ['asc', 'desc'],
|
|
107
|
+
description: 'Sort direction',
|
|
108
|
+
},
|
|
109
|
+
per_page: {
|
|
110
|
+
type: 'number',
|
|
111
|
+
description: 'Results per page (max 100)',
|
|
112
|
+
},
|
|
113
|
+
page: {
|
|
114
|
+
type: 'number',
|
|
115
|
+
description: 'Page number',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
required: ['org'],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
handler: async (octokit, args) => {
|
|
122
|
+
const { data } = await octokit.secretScanning.listAlertsForOrg({
|
|
123
|
+
org: args.org,
|
|
124
|
+
state: args.state,
|
|
125
|
+
secret_type: args.secret_type,
|
|
126
|
+
resolution: args.resolution,
|
|
127
|
+
sort: args.sort,
|
|
128
|
+
direction: args.direction,
|
|
129
|
+
per_page: args.per_page,
|
|
130
|
+
page: args.page,
|
|
131
|
+
});
|
|
132
|
+
return successResult(data);
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
// list_alerts_for_enterprise - List secret scanning alerts for an enterprise
|
|
136
|
+
{
|
|
137
|
+
definition: {
|
|
138
|
+
name: 'github_secretScanning_list_alerts_for_enterprise',
|
|
139
|
+
description: 'List secret scanning alerts for an enterprise. Requires enterprise admin access and GitHub Advanced Security.',
|
|
140
|
+
inputSchema: {
|
|
141
|
+
type: 'object',
|
|
142
|
+
properties: {
|
|
143
|
+
enterprise: {
|
|
144
|
+
type: 'string',
|
|
145
|
+
description: 'Enterprise slug',
|
|
146
|
+
},
|
|
147
|
+
state: {
|
|
148
|
+
type: 'string',
|
|
149
|
+
enum: ['open', 'resolved'],
|
|
150
|
+
description: 'Filter by alert state',
|
|
151
|
+
},
|
|
152
|
+
secret_type: {
|
|
153
|
+
type: 'string',
|
|
154
|
+
description: 'Filter by secret type (e.g., "github_personal_access_token")',
|
|
155
|
+
},
|
|
156
|
+
resolution: {
|
|
157
|
+
type: 'string',
|
|
158
|
+
enum: ['false_positive', 'wont_fix', 'revoked', 'used_in_tests'],
|
|
159
|
+
description: 'Filter by resolution status',
|
|
160
|
+
},
|
|
161
|
+
sort: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
enum: ['created', 'updated'],
|
|
164
|
+
description: 'Sort order for results',
|
|
165
|
+
},
|
|
166
|
+
direction: {
|
|
167
|
+
type: 'string',
|
|
168
|
+
enum: ['asc', 'desc'],
|
|
169
|
+
description: 'Sort direction',
|
|
170
|
+
},
|
|
171
|
+
per_page: {
|
|
172
|
+
type: 'number',
|
|
173
|
+
description: 'Results per page (max 100)',
|
|
174
|
+
},
|
|
175
|
+
page: {
|
|
176
|
+
type: 'number',
|
|
177
|
+
description: 'Page number',
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
required: ['enterprise'],
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
handler: async (octokit, args) => {
|
|
184
|
+
const { data } = await octokit.secretScanning.listAlertsForEnterprise({
|
|
185
|
+
enterprise: args.enterprise,
|
|
186
|
+
state: args.state,
|
|
187
|
+
secret_type: args.secret_type,
|
|
188
|
+
resolution: args.resolution,
|
|
189
|
+
sort: args.sort,
|
|
190
|
+
direction: args.direction,
|
|
191
|
+
per_page: args.per_page,
|
|
192
|
+
page: args.page,
|
|
193
|
+
});
|
|
194
|
+
return successResult(data);
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
// get_alert - Get a secret scanning alert
|
|
198
|
+
{
|
|
199
|
+
definition: {
|
|
200
|
+
name: 'github_secretScanning_get_alert',
|
|
201
|
+
description: 'Get a single secret scanning alert by alert number',
|
|
202
|
+
inputSchema: {
|
|
203
|
+
type: 'object',
|
|
204
|
+
properties: {
|
|
205
|
+
owner: {
|
|
206
|
+
type: 'string',
|
|
207
|
+
description: 'Repository owner',
|
|
208
|
+
},
|
|
209
|
+
repo: {
|
|
210
|
+
type: 'string',
|
|
211
|
+
description: 'Repository name',
|
|
212
|
+
},
|
|
213
|
+
alert_number: {
|
|
214
|
+
type: 'number',
|
|
215
|
+
description: 'The number that identifies the alert',
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
required: ['owner', 'repo', 'alert_number'],
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
handler: async (octokit, args) => {
|
|
222
|
+
const { data } = await octokit.secretScanning.getAlert({
|
|
223
|
+
owner: args.owner,
|
|
224
|
+
repo: args.repo,
|
|
225
|
+
alert_number: args.alert_number,
|
|
226
|
+
});
|
|
227
|
+
return successResult(data);
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
// update_alert - Update a secret scanning alert
|
|
231
|
+
{
|
|
232
|
+
definition: {
|
|
233
|
+
name: 'github_secretScanning_update_alert',
|
|
234
|
+
description: 'Update the state of a secret scanning alert (resolve or reopen)',
|
|
235
|
+
inputSchema: {
|
|
236
|
+
type: 'object',
|
|
237
|
+
properties: {
|
|
238
|
+
owner: {
|
|
239
|
+
type: 'string',
|
|
240
|
+
description: 'Repository owner',
|
|
241
|
+
},
|
|
242
|
+
repo: {
|
|
243
|
+
type: 'string',
|
|
244
|
+
description: 'Repository name',
|
|
245
|
+
},
|
|
246
|
+
alert_number: {
|
|
247
|
+
type: 'number',
|
|
248
|
+
description: 'The number that identifies the alert',
|
|
249
|
+
},
|
|
250
|
+
state: {
|
|
251
|
+
type: 'string',
|
|
252
|
+
enum: ['open', 'resolved'],
|
|
253
|
+
description: 'The state to set for the alert',
|
|
254
|
+
},
|
|
255
|
+
resolution: {
|
|
256
|
+
type: 'string',
|
|
257
|
+
enum: ['false_positive', 'wont_fix', 'revoked', 'used_in_tests'],
|
|
258
|
+
description: 'Required when state is "resolved". The reason for resolving the alert.',
|
|
259
|
+
},
|
|
260
|
+
resolution_comment: {
|
|
261
|
+
type: 'string',
|
|
262
|
+
description: 'Optional comment explaining the resolution',
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
required: ['owner', 'repo', 'alert_number', 'state'],
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
handler: async (octokit, args) => {
|
|
269
|
+
const { data } = await octokit.secretScanning.updateAlert({
|
|
270
|
+
owner: args.owner,
|
|
271
|
+
repo: args.repo,
|
|
272
|
+
alert_number: args.alert_number,
|
|
273
|
+
state: args.state,
|
|
274
|
+
resolution: args.resolution,
|
|
275
|
+
resolution_comment: args.resolution_comment,
|
|
276
|
+
});
|
|
277
|
+
return successResult(data);
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
// list_locations_for_alert - List locations for a secret scanning alert
|
|
281
|
+
{
|
|
282
|
+
definition: {
|
|
283
|
+
name: 'github_secretScanning_list_locations_for_alert',
|
|
284
|
+
description: 'List all locations where a secret was detected in a repository',
|
|
285
|
+
inputSchema: {
|
|
286
|
+
type: 'object',
|
|
287
|
+
properties: {
|
|
288
|
+
owner: {
|
|
289
|
+
type: 'string',
|
|
290
|
+
description: 'Repository owner',
|
|
291
|
+
},
|
|
292
|
+
repo: {
|
|
293
|
+
type: 'string',
|
|
294
|
+
description: 'Repository name',
|
|
295
|
+
},
|
|
296
|
+
alert_number: {
|
|
297
|
+
type: 'number',
|
|
298
|
+
description: 'The number that identifies the alert',
|
|
299
|
+
},
|
|
300
|
+
per_page: {
|
|
301
|
+
type: 'number',
|
|
302
|
+
description: 'Results per page (max 100)',
|
|
303
|
+
},
|
|
304
|
+
page: {
|
|
305
|
+
type: 'number',
|
|
306
|
+
description: 'Page number',
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
required: ['owner', 'repo', 'alert_number'],
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
handler: async (octokit, args) => {
|
|
313
|
+
const { data } = await octokit.secretScanning.listLocationsForAlert({
|
|
314
|
+
owner: args.owner,
|
|
315
|
+
repo: args.repo,
|
|
316
|
+
alert_number: args.alert_number,
|
|
317
|
+
per_page: args.per_page,
|
|
318
|
+
page: args.page,
|
|
319
|
+
});
|
|
320
|
+
return successResult(data);
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
],
|
|
324
|
+
};
|