@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.
Files changed (78) hide show
  1. package/dist/index.js +8 -2
  2. package/dist/prompts/activity-summary.d.ts +10 -0
  3. package/dist/prompts/activity-summary.js +154 -0
  4. package/dist/server.d.ts +8 -1
  5. package/dist/server.js +20 -210
  6. package/dist/tools/categories/actions.d.ts +2 -5
  7. package/dist/tools/categories/actions.js +640 -369
  8. package/dist/tools/categories/activity.d.ts +2 -0
  9. package/dist/tools/categories/activity.js +534 -0
  10. package/dist/tools/categories/apps.d.ts +2 -0
  11. package/dist/tools/categories/apps.js +224 -0
  12. package/dist/tools/categories/billing.d.ts +2 -0
  13. package/dist/tools/categories/billing.js +145 -0
  14. package/dist/tools/categories/checks.d.ts +2 -0
  15. package/dist/tools/categories/checks.js +554 -0
  16. package/dist/tools/categories/codeScanning.d.ts +2 -0
  17. package/dist/tools/categories/codeScanning.js +375 -0
  18. package/dist/tools/categories/codeSecurity.d.ts +2 -0
  19. package/dist/tools/categories/codeSecurity.js +463 -0
  20. package/dist/tools/categories/codesOfConduct.d.ts +2 -0
  21. package/dist/tools/categories/codesOfConduct.js +45 -0
  22. package/dist/tools/categories/codespaces.d.ts +2 -0
  23. package/dist/tools/categories/codespaces.js +259 -0
  24. package/dist/tools/categories/copilot.d.ts +2 -0
  25. package/dist/tools/categories/copilot.js +187 -0
  26. package/dist/tools/categories/dependabot.d.ts +2 -0
  27. package/dist/tools/categories/dependabot.js +454 -0
  28. package/dist/tools/categories/emojis.d.ts +2 -0
  29. package/dist/tools/categories/emojis.js +22 -0
  30. package/dist/tools/categories/gists.d.ts +2 -5
  31. package/dist/tools/categories/gists.js +474 -285
  32. package/dist/tools/categories/git.d.ts +2 -0
  33. package/dist/tools/categories/git.js +520 -0
  34. package/dist/tools/categories/gitignore.d.ts +2 -0
  35. package/dist/tools/categories/gitignore.js +45 -0
  36. package/dist/tools/categories/index.d.ts +33 -0
  37. package/dist/tools/categories/index.js +33 -0
  38. package/dist/tools/categories/interactions.d.ts +2 -0
  39. package/dist/tools/categories/interactions.js +184 -0
  40. package/dist/tools/categories/issues.d.ts +2 -5
  41. package/dist/tools/categories/issues.js +692 -390
  42. package/dist/tools/categories/licenses.d.ts +2 -0
  43. package/dist/tools/categories/licenses.js +95 -0
  44. package/dist/tools/categories/markdown.d.ts +2 -0
  45. package/dist/tools/categories/markdown.js +64 -0
  46. package/dist/tools/categories/meta.d.ts +2 -0
  47. package/dist/tools/categories/meta.js +74 -0
  48. package/dist/tools/categories/migrations.d.ts +2 -0
  49. package/dist/tools/categories/migrations.js +290 -0
  50. package/dist/tools/categories/orgs.d.ts +2 -5
  51. package/dist/tools/categories/orgs.js +585 -417
  52. package/dist/tools/categories/packages.d.ts +2 -0
  53. package/dist/tools/categories/packages.js +918 -0
  54. package/dist/tools/categories/projects.d.ts +2 -0
  55. package/dist/tools/categories/projects.js +692 -0
  56. package/dist/tools/categories/pulls.d.ts +2 -5
  57. package/dist/tools/categories/pulls.js +715 -332
  58. package/dist/tools/categories/rateLimit.d.ts +2 -0
  59. package/dist/tools/categories/rateLimit.js +22 -0
  60. package/dist/tools/categories/reactions.d.ts +2 -0
  61. package/dist/tools/categories/reactions.js +385 -0
  62. package/dist/tools/categories/repos.d.ts +2 -5
  63. package/dist/tools/categories/repos.js +844 -366
  64. package/dist/tools/categories/search.d.ts +2 -5
  65. package/dist/tools/categories/search.js +294 -196
  66. package/dist/tools/categories/secretScanning.d.ts +2 -0
  67. package/dist/tools/categories/secretScanning.js +324 -0
  68. package/dist/tools/categories/securityAdvisories.d.ts +2 -0
  69. package/dist/tools/categories/securityAdvisories.js +407 -0
  70. package/dist/tools/categories/teams.d.ts +2 -0
  71. package/dist/tools/categories/teams.js +614 -0
  72. package/dist/tools/categories/users.d.ts +2 -5
  73. package/dist/tools/categories/users.js +474 -247
  74. package/dist/tools/generator.d.ts +35 -15
  75. package/dist/tools/generator.js +113 -57
  76. package/dist/tools/types.d.ts +63 -0
  77. package/dist/tools/types.js +17 -0
  78. 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,2 @@
1
+ import type { ToolCategory } from '../types.js';
2
+ export declare const billingCategory: ToolCategory;
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ import type { ToolCategory } from '../types.js';
2
+ export declare const checksCategory: ToolCategory;