@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,224 @@
|
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const appsCategory = {
|
|
3
|
+
name: 'apps',
|
|
4
|
+
description: 'GitHub Apps tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// get_authenticated - Get the authenticated app
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_apps_get_authenticated',
|
|
10
|
+
description: 'Get the authenticated GitHub App',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
handler: async (octokit) => {
|
|
17
|
+
const { data } = await octokit.apps.getAuthenticated();
|
|
18
|
+
return successResult(data);
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
// list_installations - List installations for the authenticated app
|
|
22
|
+
{
|
|
23
|
+
definition: {
|
|
24
|
+
name: 'github_apps_list_installations',
|
|
25
|
+
description: 'List installations for the authenticated GitHub App',
|
|
26
|
+
inputSchema: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
per_page: {
|
|
30
|
+
type: 'number',
|
|
31
|
+
description: 'Results per page (max 100)',
|
|
32
|
+
},
|
|
33
|
+
page: {
|
|
34
|
+
type: 'number',
|
|
35
|
+
description: 'Page number',
|
|
36
|
+
},
|
|
37
|
+
since: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
description: 'Only show installations updated after this time (ISO 8601 format)',
|
|
40
|
+
},
|
|
41
|
+
outdated: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'Filter by whether the installation is outdated',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
handler: async (octokit, args) => {
|
|
49
|
+
const { data } = await octokit.apps.listInstallations({
|
|
50
|
+
per_page: args.per_page,
|
|
51
|
+
page: args.page,
|
|
52
|
+
since: args.since,
|
|
53
|
+
outdated: args.outdated,
|
|
54
|
+
});
|
|
55
|
+
return successResult(data);
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
// get_installation - Get an installation by ID
|
|
59
|
+
{
|
|
60
|
+
definition: {
|
|
61
|
+
name: 'github_apps_get_installation',
|
|
62
|
+
description: 'Get a specific installation of the authenticated GitHub App',
|
|
63
|
+
inputSchema: {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: {
|
|
66
|
+
installation_id: {
|
|
67
|
+
type: 'number',
|
|
68
|
+
description: 'The unique identifier of the installation',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
required: ['installation_id'],
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
handler: async (octokit, args) => {
|
|
75
|
+
const { data } = await octokit.apps.getInstallation({
|
|
76
|
+
installation_id: args.installation_id,
|
|
77
|
+
});
|
|
78
|
+
return successResult(data);
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
// list_installation_repos_for_authenticated_user - List repositories accessible to the user for an installation
|
|
82
|
+
{
|
|
83
|
+
definition: {
|
|
84
|
+
name: 'github_apps_list_installation_repos_for_authenticated_user',
|
|
85
|
+
description: 'List repositories that the authenticated user has access to in an installation',
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: 'object',
|
|
88
|
+
properties: {
|
|
89
|
+
installation_id: {
|
|
90
|
+
type: 'number',
|
|
91
|
+
description: 'The unique identifier of the installation',
|
|
92
|
+
},
|
|
93
|
+
per_page: {
|
|
94
|
+
type: 'number',
|
|
95
|
+
description: 'Results per page (max 100)',
|
|
96
|
+
},
|
|
97
|
+
page: {
|
|
98
|
+
type: 'number',
|
|
99
|
+
description: 'Page number',
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
required: ['installation_id'],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
handler: async (octokit, args) => {
|
|
106
|
+
const { data } = await octokit.apps.listInstallationReposForAuthenticatedUser({
|
|
107
|
+
installation_id: args.installation_id,
|
|
108
|
+
per_page: args.per_page,
|
|
109
|
+
page: args.page,
|
|
110
|
+
});
|
|
111
|
+
return successResult(data);
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
// create_installation_access_token - Create an installation access token
|
|
115
|
+
{
|
|
116
|
+
definition: {
|
|
117
|
+
name: 'github_apps_create_installation_access_token',
|
|
118
|
+
description: 'Create an installation access token for a GitHub App installation',
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: 'object',
|
|
121
|
+
properties: {
|
|
122
|
+
installation_id: {
|
|
123
|
+
type: 'number',
|
|
124
|
+
description: 'The unique identifier of the installation',
|
|
125
|
+
},
|
|
126
|
+
repositories: {
|
|
127
|
+
type: 'array',
|
|
128
|
+
items: { type: 'string' },
|
|
129
|
+
description: 'List of repository names to scope the token to',
|
|
130
|
+
},
|
|
131
|
+
repository_ids: {
|
|
132
|
+
type: 'array',
|
|
133
|
+
items: { type: 'number' },
|
|
134
|
+
description: 'List of repository IDs to scope the token to',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
required: ['installation_id'],
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
handler: async (octokit, args) => {
|
|
141
|
+
const { data } = await octokit.apps.createInstallationAccessToken({
|
|
142
|
+
installation_id: args.installation_id,
|
|
143
|
+
repositories: args.repositories,
|
|
144
|
+
repository_ids: args.repository_ids,
|
|
145
|
+
});
|
|
146
|
+
return successResult(data);
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
// get_user_installation - Get a user installation for the authenticated app
|
|
150
|
+
{
|
|
151
|
+
definition: {
|
|
152
|
+
name: 'github_apps_get_user_installation',
|
|
153
|
+
description: 'Get the installation for a specific user',
|
|
154
|
+
inputSchema: {
|
|
155
|
+
type: 'object',
|
|
156
|
+
properties: {
|
|
157
|
+
username: {
|
|
158
|
+
type: 'string',
|
|
159
|
+
description: 'GitHub username',
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
required: ['username'],
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
handler: async (octokit, args) => {
|
|
166
|
+
const { data } = await octokit.apps.getUserInstallation({
|
|
167
|
+
username: args.username,
|
|
168
|
+
});
|
|
169
|
+
return successResult(data);
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
// get_repo_installation - Get a repository installation for the authenticated app
|
|
173
|
+
{
|
|
174
|
+
definition: {
|
|
175
|
+
name: 'github_apps_get_repo_installation',
|
|
176
|
+
description: 'Get the installation for a specific repository',
|
|
177
|
+
inputSchema: {
|
|
178
|
+
type: 'object',
|
|
179
|
+
properties: {
|
|
180
|
+
owner: {
|
|
181
|
+
type: 'string',
|
|
182
|
+
description: 'Repository owner',
|
|
183
|
+
},
|
|
184
|
+
repo: {
|
|
185
|
+
type: 'string',
|
|
186
|
+
description: 'Repository name',
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
required: ['owner', 'repo'],
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
handler: async (octokit, args) => {
|
|
193
|
+
const { data } = await octokit.apps.getRepoInstallation({
|
|
194
|
+
owner: args.owner,
|
|
195
|
+
repo: args.repo,
|
|
196
|
+
});
|
|
197
|
+
return successResult(data);
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
// get_org_installation - Get an organization installation for the authenticated app
|
|
201
|
+
{
|
|
202
|
+
definition: {
|
|
203
|
+
name: 'github_apps_get_org_installation',
|
|
204
|
+
description: 'Get the installation for a specific organization',
|
|
205
|
+
inputSchema: {
|
|
206
|
+
type: 'object',
|
|
207
|
+
properties: {
|
|
208
|
+
org: {
|
|
209
|
+
type: 'string',
|
|
210
|
+
description: 'Organization name',
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
required: ['org'],
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
handler: async (octokit, args) => {
|
|
217
|
+
const { data } = await octokit.apps.getOrgInstallation({
|
|
218
|
+
org: args.org,
|
|
219
|
+
});
|
|
220
|
+
return successResult(data);
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { successResult } from '../types.js';
|
|
2
|
+
export const billingCategory = {
|
|
3
|
+
name: 'billing',
|
|
4
|
+
description: 'GitHub billing tools',
|
|
5
|
+
tools: [
|
|
6
|
+
// get_github_actions_billing_org - Get GitHub Actions billing for an organization
|
|
7
|
+
{
|
|
8
|
+
definition: {
|
|
9
|
+
name: 'github_billing_get_github_actions_billing_org',
|
|
10
|
+
description: 'Get the summary of the free and paid GitHub Actions minutes used for an organization',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
org: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'The organization name',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
required: ['org'],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
handler: async (octokit, args) => {
|
|
23
|
+
const { data } = await octokit.billing.getGithubActionsBillingOrg({
|
|
24
|
+
org: args.org,
|
|
25
|
+
});
|
|
26
|
+
return successResult(data);
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
// get_github_actions_billing_user - Get GitHub Actions billing for a user
|
|
30
|
+
{
|
|
31
|
+
definition: {
|
|
32
|
+
name: 'github_billing_get_github_actions_billing_user',
|
|
33
|
+
description: 'Get the summary of the free and paid GitHub Actions minutes used for a user',
|
|
34
|
+
inputSchema: {
|
|
35
|
+
type: 'object',
|
|
36
|
+
properties: {
|
|
37
|
+
username: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
description: 'The handle for the GitHub user account',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
required: ['username'],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
handler: async (octokit, args) => {
|
|
46
|
+
const { data } = await octokit.billing.getGithubActionsBillingUser({
|
|
47
|
+
username: args.username,
|
|
48
|
+
});
|
|
49
|
+
return successResult(data);
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
// get_github_packages_billing_org - Get GitHub Packages billing for an organization
|
|
53
|
+
{
|
|
54
|
+
definition: {
|
|
55
|
+
name: 'github_billing_get_github_packages_billing_org',
|
|
56
|
+
description: 'Get the free and paid storage used for GitHub Packages in gigabytes for an organization',
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
org: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'The organization name',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: ['org'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
handler: async (octokit, args) => {
|
|
69
|
+
const { data } = await octokit.billing.getGithubPackagesBillingOrg({
|
|
70
|
+
org: args.org,
|
|
71
|
+
});
|
|
72
|
+
return successResult(data);
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
// get_github_packages_billing_user - Get GitHub Packages billing for a user
|
|
76
|
+
{
|
|
77
|
+
definition: {
|
|
78
|
+
name: 'github_billing_get_github_packages_billing_user',
|
|
79
|
+
description: 'Get the free and paid storage used for GitHub Packages in gigabytes for a user',
|
|
80
|
+
inputSchema: {
|
|
81
|
+
type: 'object',
|
|
82
|
+
properties: {
|
|
83
|
+
username: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'The handle for the GitHub user account',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
required: ['username'],
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
handler: async (octokit, args) => {
|
|
92
|
+
const { data } = await octokit.billing.getGithubPackagesBillingUser({
|
|
93
|
+
username: args.username,
|
|
94
|
+
});
|
|
95
|
+
return successResult(data);
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
// get_shared_storage_billing_org - Get shared storage billing for an organization
|
|
99
|
+
{
|
|
100
|
+
definition: {
|
|
101
|
+
name: 'github_billing_get_shared_storage_billing_org',
|
|
102
|
+
description: 'Get the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages for an organization',
|
|
103
|
+
inputSchema: {
|
|
104
|
+
type: 'object',
|
|
105
|
+
properties: {
|
|
106
|
+
org: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
description: 'The organization name',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
required: ['org'],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
handler: async (octokit, args) => {
|
|
115
|
+
const { data } = await octokit.billing.getSharedStorageBillingOrg({
|
|
116
|
+
org: args.org,
|
|
117
|
+
});
|
|
118
|
+
return successResult(data);
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
// get_shared_storage_billing_user - Get shared storage billing for a user
|
|
122
|
+
{
|
|
123
|
+
definition: {
|
|
124
|
+
name: 'github_billing_get_shared_storage_billing_user',
|
|
125
|
+
description: 'Get the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages for a user',
|
|
126
|
+
inputSchema: {
|
|
127
|
+
type: 'object',
|
|
128
|
+
properties: {
|
|
129
|
+
username: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
description: 'The handle for the GitHub user account',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
required: ['username'],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
handler: async (octokit, args) => {
|
|
138
|
+
const { data } = await octokit.billing.getSharedStorageBillingUser({
|
|
139
|
+
username: args.username,
|
|
140
|
+
});
|
|
141
|
+
return successResult(data);
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
};
|