@abhishekmcp/github 0.1.0 → 0.2.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/README.md +9 -0
- package/dist/config.d.ts +9 -1
- package/dist/config.js +16 -1
- package/dist/config.js.map +1 -1
- package/dist/gh.d.ts +28 -19
- package/dist/gh.js +54 -8
- package/dist/gh.js.map +1 -1
- package/dist/index.js +21 -8
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts +13 -0
- package/dist/log.js +31 -0
- package/dist/log.js.map +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -40,6 +40,15 @@ Tokens are cached locally with `0600` permissions and are never logged.
|
|
|
40
40
|
| `GITHUB_TOKEN` / `GITHUB_PERSONAL_ACCESS_TOKEN` | Use this PAT (skips OAuth). |
|
|
41
41
|
| `GITHUB_CLIENT_ID` | OAuth App client id for the device-flow login. |
|
|
42
42
|
| `GITHUB_READONLY` | `1`/`true` → only read + auth tools are registered. |
|
|
43
|
+
| `GITHUB_API_URL` | REST base URL (default `https://api.github.com`); set for GitHub Enterprise Server. |
|
|
44
|
+
| `GITHUB_TIMEOUT_MS` | Per-request timeout (default 30000). |
|
|
45
|
+
| `GITHUB_AUDIT_LOG` | Path to append a JSON-lines audit record of every write (issue/comment). |
|
|
46
|
+
|
|
47
|
+
### Production hardening
|
|
48
|
+
Requests use the official retry + throttling plugins (auto-retry transient `5xx`, **proactively wait on
|
|
49
|
+
primary/secondary rate limits**) and a request timeout, so the server survives real GitHub conditions
|
|
50
|
+
instead of failing or hanging. List tools paginate up to 300 items (reporting truncation). Tokens are
|
|
51
|
+
never logged (output is redacted defense-in-depth), and writes are recorded to `GITHUB_AUDIT_LOG`.
|
|
43
52
|
|
|
44
53
|
## Usage
|
|
45
54
|
|
package/dist/config.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
/** Server version (kept in lockstep with package.json + index.ts). */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.2.0";
|
|
3
3
|
/** OAuth scopes requested by the device flow (space-separated). */
|
|
4
4
|
export declare const SCOPES = "repo read:org notifications";
|
|
5
5
|
/** Default page size for list/search endpoints. */
|
|
6
6
|
export declare const DEFAULT_PER_PAGE = 30;
|
|
7
|
+
/** Per-request timeout (ms) — a stuck request aborts instead of hanging. */
|
|
8
|
+
export declare function requestTimeoutMs(): number;
|
|
9
|
+
/** Max items returned by paginated list tools (bounds response size). */
|
|
10
|
+
export declare const MAX_ITEMS = 300;
|
|
11
|
+
/** REST API base URL — override for GitHub Enterprise Server via GITHUB_API_URL. */
|
|
12
|
+
export declare function getApiBaseUrl(): string;
|
|
13
|
+
/** Optional path to append a JSON-lines audit log of mutations. */
|
|
14
|
+
export declare function getAuditLogPath(): string | undefined;
|
|
7
15
|
/** GitHub OAuth endpoints (device flow). */
|
|
8
16
|
export declare const DEVICE_CODE_URL = "https://github.com/login/device/code";
|
|
9
17
|
export declare const ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token";
|
package/dist/config.js
CHANGED
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
/** Server version (kept in lockstep with package.json + index.ts). */
|
|
4
|
-
export const VERSION = "0.
|
|
4
|
+
export const VERSION = "0.2.0";
|
|
5
5
|
/** OAuth scopes requested by the device flow (space-separated). */
|
|
6
6
|
export const SCOPES = "repo read:org notifications";
|
|
7
7
|
/** Default page size for list/search endpoints. */
|
|
8
8
|
export const DEFAULT_PER_PAGE = 30;
|
|
9
|
+
/** Per-request timeout (ms) — a stuck request aborts instead of hanging. */
|
|
10
|
+
export function requestTimeoutMs() {
|
|
11
|
+
const n = Number(process.env.GITHUB_TIMEOUT_MS);
|
|
12
|
+
return Number.isFinite(n) && n > 0 ? n : 30_000;
|
|
13
|
+
}
|
|
14
|
+
/** Max items returned by paginated list tools (bounds response size). */
|
|
15
|
+
export const MAX_ITEMS = 300;
|
|
16
|
+
/** REST API base URL — override for GitHub Enterprise Server via GITHUB_API_URL. */
|
|
17
|
+
export function getApiBaseUrl() {
|
|
18
|
+
return process.env.GITHUB_API_URL?.trim().replace(/\/+$/, "") || "https://api.github.com";
|
|
19
|
+
}
|
|
20
|
+
/** Optional path to append a JSON-lines audit log of mutations. */
|
|
21
|
+
export function getAuditLogPath() {
|
|
22
|
+
return process.env.GITHUB_AUDIT_LOG?.trim() || undefined;
|
|
23
|
+
}
|
|
9
24
|
/** GitHub OAuth endpoints (device flow). */
|
|
10
25
|
export const DEVICE_CODE_URL = "https://github.com/login/device/code";
|
|
11
26
|
export const ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token";
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,6BAA6B,CAAC;AAEpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAE9E;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAC3D,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACrG,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,6BAA6B,CAAC;AAEpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,oFAAoF;AACpF,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC;AAC5F,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAC3D,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAE9E;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAC3D,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACrG,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC;AACnC,CAAC"}
|
package/dist/gh.d.ts
CHANGED
|
@@ -37,12 +37,15 @@ export declare function getRepo(owner: string, repo: string): Promise<{
|
|
|
37
37
|
url: string;
|
|
38
38
|
}>;
|
|
39
39
|
export declare function listIssues(owner: string, repo: string, state: "open" | "closed" | "all", limit?: number): Promise<{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
items: {
|
|
41
|
+
number: any;
|
|
42
|
+
title: any;
|
|
43
|
+
state: any;
|
|
44
|
+
comments: any;
|
|
45
|
+
url: any;
|
|
46
|
+
}[];
|
|
47
|
+
truncated: boolean;
|
|
48
|
+
}>;
|
|
46
49
|
export declare function getIssue(owner: string, repo: string, issue_number: number): Promise<{
|
|
47
50
|
number: number;
|
|
48
51
|
title: string;
|
|
@@ -56,13 +59,16 @@ export declare function getIssue(owner: string, repo: string, issue_number: numb
|
|
|
56
59
|
}[];
|
|
57
60
|
}>;
|
|
58
61
|
export declare function listPullRequests(owner: string, repo: string, state: "open" | "closed" | "all", limit?: number): Promise<{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
items: {
|
|
63
|
+
number: any;
|
|
64
|
+
title: any;
|
|
65
|
+
state: any;
|
|
66
|
+
author: any;
|
|
67
|
+
draft: any;
|
|
68
|
+
url: any;
|
|
69
|
+
}[];
|
|
70
|
+
truncated: boolean;
|
|
71
|
+
}>;
|
|
66
72
|
export declare function getPullRequest(owner: string, repo: string, pull_number: number): Promise<{
|
|
67
73
|
number: number;
|
|
68
74
|
title: string;
|
|
@@ -109,12 +115,15 @@ export declare function getFileContents(owner: string, repo: string, p: string,
|
|
|
109
115
|
content?: undefined;
|
|
110
116
|
}>;
|
|
111
117
|
export declare function listNotifications(limit?: number): Promise<{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
items: {
|
|
119
|
+
repo: any;
|
|
120
|
+
subject: any;
|
|
121
|
+
type: any;
|
|
122
|
+
reason: any;
|
|
123
|
+
unread: any;
|
|
124
|
+
}[];
|
|
125
|
+
truncated: boolean;
|
|
126
|
+
}>;
|
|
118
127
|
export declare function rateLimit(): Promise<{
|
|
119
128
|
limit: number;
|
|
120
129
|
remaining: number;
|
package/dist/gh.js
CHANGED
|
@@ -4,12 +4,49 @@
|
|
|
4
4
|
* trimmed, token-efficient objects rather than raw API payloads.
|
|
5
5
|
*/
|
|
6
6
|
import { Octokit } from "@octokit/rest";
|
|
7
|
+
import { retry } from "@octokit/plugin-retry";
|
|
8
|
+
import { throttling } from "@octokit/plugin-throttling";
|
|
7
9
|
import { getToken } from "./auth.js";
|
|
8
|
-
import { DEFAULT_PER_PAGE, VERSION } from "./config.js";
|
|
10
|
+
import { DEFAULT_PER_PAGE, MAX_ITEMS, VERSION, getApiBaseUrl, requestTimeoutMs } from "./config.js";
|
|
11
|
+
import { log } from "./log.js";
|
|
12
|
+
const ResilientOctokit = Octokit.plugin(retry, throttling);
|
|
13
|
+
/** fetch wrapper that aborts a request after the configured timeout. */
|
|
14
|
+
const timeoutFetch = (url, opts = {}) => fetch(url, { ...opts, signal: opts.signal ?? AbortSignal.timeout(requestTimeoutMs()) });
|
|
15
|
+
/**
|
|
16
|
+
* Build an Octokit with the resolved token, retry (5xx) + throttling
|
|
17
|
+
* (rate-limit aware), a request timeout, and the configured base URL (GHES).
|
|
18
|
+
*/
|
|
9
19
|
async function octo() {
|
|
10
|
-
return new
|
|
20
|
+
return new ResilientOctokit({
|
|
21
|
+
auth: await getToken(),
|
|
22
|
+
userAgent: `mcp-github/${VERSION}`,
|
|
23
|
+
baseUrl: getApiBaseUrl(),
|
|
24
|
+
request: { fetch: timeoutFetch },
|
|
25
|
+
throttle: {
|
|
26
|
+
onRateLimit: (retryAfter, options, _o, retryCount) => {
|
|
27
|
+
log("warn", "rate limit hit; backing off", { method: options.method, url: options.url, retryAfter, retryCount });
|
|
28
|
+
return retryCount < 2; // retry up to twice, then give up
|
|
29
|
+
},
|
|
30
|
+
onSecondaryRateLimit: (retryAfter, options, _o, retryCount) => {
|
|
31
|
+
log("warn", "secondary rate limit; backing off", { method: options.method, url: options.url, retryAfter, retryCount });
|
|
32
|
+
return retryCount < 1;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
});
|
|
11
36
|
}
|
|
12
37
|
const cap = (n) => Math.min(Math.max(n ?? DEFAULT_PER_PAGE, 1), 100);
|
|
38
|
+
const itemCap = (n) => Math.min(Math.max(n ?? DEFAULT_PER_PAGE, 1), MAX_ITEMS);
|
|
39
|
+
/** Paginate an endpoint up to `max` items, reporting truncation. */
|
|
40
|
+
async function paginateCapped(octokit, route, params, max) {
|
|
41
|
+
const items = [];
|
|
42
|
+
const iterator = octokit.paginate.iterator(route, { ...params, per_page: 100 });
|
|
43
|
+
for await (const page of iterator) {
|
|
44
|
+
items.push(...(page.data ?? []));
|
|
45
|
+
if (items.length >= max)
|
|
46
|
+
return { items: items.slice(0, max), truncated: true };
|
|
47
|
+
}
|
|
48
|
+
return { items, truncated: false };
|
|
49
|
+
}
|
|
13
50
|
export async function whoami() {
|
|
14
51
|
const { data } = await (await octo()).rest.users.getAuthenticated();
|
|
15
52
|
return { login: data.login, name: data.name, url: data.html_url, public_repos: data.public_repos, private_repos: data.total_private_repos };
|
|
@@ -41,8 +78,11 @@ export async function getRepo(owner, repo) {
|
|
|
41
78
|
};
|
|
42
79
|
}
|
|
43
80
|
export async function listIssues(owner, repo, state, limit) {
|
|
44
|
-
const {
|
|
45
|
-
return
|
|
81
|
+
const { items, truncated } = await paginateCapped(await octo(), "GET /repos/{owner}/{repo}/issues", { owner, repo, state }, itemCap(limit));
|
|
82
|
+
return {
|
|
83
|
+
items: items.filter((i) => !i.pull_request).map((i) => ({ number: i.number, title: i.title, state: i.state, comments: i.comments, url: i.html_url })),
|
|
84
|
+
truncated,
|
|
85
|
+
};
|
|
46
86
|
}
|
|
47
87
|
export async function getIssue(owner, repo, issue_number) {
|
|
48
88
|
const o = await octo();
|
|
@@ -59,8 +99,11 @@ export async function getIssue(owner, repo, issue_number) {
|
|
|
59
99
|
};
|
|
60
100
|
}
|
|
61
101
|
export async function listPullRequests(owner, repo, state, limit) {
|
|
62
|
-
const {
|
|
63
|
-
return
|
|
102
|
+
const { items, truncated } = await paginateCapped(await octo(), "GET /repos/{owner}/{repo}/pulls", { owner, repo, state }, itemCap(limit));
|
|
103
|
+
return {
|
|
104
|
+
items: items.map((p) => ({ number: p.number, title: p.title, state: p.state, author: p.user?.login, draft: p.draft, url: p.html_url })),
|
|
105
|
+
truncated,
|
|
106
|
+
};
|
|
64
107
|
}
|
|
65
108
|
export async function getPullRequest(owner, repo, pull_number) {
|
|
66
109
|
const { data } = await (await octo()).rest.pulls.get({ owner, repo, pull_number });
|
|
@@ -90,8 +133,11 @@ export async function getFileContents(owner, repo, p, ref) {
|
|
|
90
133
|
return { type: data.type };
|
|
91
134
|
}
|
|
92
135
|
export async function listNotifications(limit) {
|
|
93
|
-
const {
|
|
94
|
-
return
|
|
136
|
+
const { items, truncated } = await paginateCapped(await octo(), "GET /notifications", {}, itemCap(limit));
|
|
137
|
+
return {
|
|
138
|
+
items: items.map((n) => ({ repo: n.repository.full_name, subject: n.subject.title, type: n.subject.type, reason: n.reason, unread: n.unread })),
|
|
139
|
+
truncated,
|
|
140
|
+
};
|
|
95
141
|
}
|
|
96
142
|
export async function rateLimit() {
|
|
97
143
|
const { data } = await (await octo()).rest.rateLimit.get();
|
package/dist/gh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAG3D,wEAAwE;AACxE,MAAM,YAAY,GAAiB,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CACpD,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1F;;;GAGG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,IAAI,gBAAgB,CAAC;QAC1B,IAAI,EAAE,MAAM,QAAQ,EAAE;QACtB,SAAS,EAAE,cAAc,OAAO,EAAE;QAClC,OAAO,EAAE,aAAa,EAAE;QACxB,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;QAChC,QAAQ,EAAE;YACR,WAAW,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE;gBACnD,GAAG,CAAC,MAAM,EAAE,6BAA6B,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjH,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,kCAAkC;YAC3D,CAAC;YACD,oBAAoB,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE;gBAC5D,GAAG,CAAC,MAAM,EAAE,mCAAmC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;gBACvH,OAAO,UAAU,GAAG,CAAC,CAAC;YACxB,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9E,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAExF,oEAAoE;AACpE,KAAK,UAAU,cAAc,CAC3B,OAAwB,EACxB,KAAa,EACb,MAA+B,EAC/B,GAAW;IAEX,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAI,OAAO,CAAC,QAAQ,CAAC,QAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,IAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACpE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC9I,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAS,EAAE,KAAc;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3J,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAS,EAAE,KAAc;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,CAAS,EAAE,KAAc;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACtM,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,IAAY;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,gBAAgB;QAC5B,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,WAAW,EAAE,IAAI,CAAC,iBAAiB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO;QAC9B,GAAG,EAAE,IAAI,CAAC,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,KAAgC,EAAE,KAAc;IAC5G,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAM,MAAM,IAAI,EAAE,EAAE,kCAAkC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjJ,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrJ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAY,EAAE,YAAoB;IAC9E,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzG,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,QAAQ;QAClB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAY,EAAE,KAAgC,EAAE,KAAc;IAClH,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAM,MAAM,IAAI,EAAE,EAAE,iCAAiC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChJ,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvI,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,WAAmB;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACnF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,IAAY,EAAE,CAAS,EAAE,GAAY;IACxF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;QACzH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3H,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAc;IACpD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAM,MAAM,IAAI,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/I,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IACjC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,IAAa;IACzF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,IAAY,EAAE,YAAoB,EAAE,IAAY;IACnG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACrG,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,10 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
10
10
|
import { z } from "zod";
|
|
11
11
|
import { VERSION, isReadOnly } from "./config.js";
|
|
12
12
|
import { NotAuthenticatedError, authSource, login, logout } from "./auth.js";
|
|
13
|
+
import { audit, redact } from "./log.js";
|
|
13
14
|
import * as gh from "./gh.js";
|
|
14
15
|
const server = new McpServer({ name: "mcp-github-server", version: VERSION });
|
|
15
|
-
const text = (value) => ({ content: [{ type: "text", text: value }] });
|
|
16
|
+
const text = (value) => ({ content: [{ type: "text", text: redact(value) }] });
|
|
16
17
|
const json = (v) => text(JSON.stringify(v, null, 2));
|
|
17
18
|
function fail(err) {
|
|
18
19
|
if (err instanceof NotAuthenticatedError)
|
|
@@ -23,8 +24,14 @@ function fail(err) {
|
|
|
23
24
|
if (e.status === 401)
|
|
24
25
|
msg += " — token invalid/expired; run github_login or check GITHUB_TOKEN.";
|
|
25
26
|
const h = e.response?.headers;
|
|
26
|
-
if (e.status === 403
|
|
27
|
-
|
|
27
|
+
if (e.status === 403) {
|
|
28
|
+
if (h?.["x-ratelimit-remaining"] === "0") {
|
|
29
|
+
msg += ` — rate limit exceeded; resets at ${new Date(Number(h["x-ratelimit-reset"]) * 1000).toISOString()}.`;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const have = h?.["x-oauth-scopes"];
|
|
33
|
+
msg += ` — forbidden; your token may lack the required scope${have ? ` (has: ${have})` : " (writes need 'repo')"}.`;
|
|
34
|
+
}
|
|
28
35
|
}
|
|
29
36
|
return text(msg);
|
|
30
37
|
}
|
|
@@ -93,7 +100,7 @@ server.registerTool("get_repo", { title: "Get repository", description: "Reposit
|
|
|
93
100
|
return fail(err);
|
|
94
101
|
}
|
|
95
102
|
});
|
|
96
|
-
server.registerTool("list_issues", { title: "List issues", description: "List a repo's issues (excludes PRs).", inputSchema: { owner, repo, state: stateEnum, limit: z.number().int().positive().max(
|
|
103
|
+
server.registerTool("list_issues", { title: "List issues", description: "List a repo's issues (excludes PRs).", inputSchema: { owner, repo, state: stateEnum, limit: z.number().int().positive().max(300).optional() } }, async ({ owner, repo, state, limit }) => {
|
|
97
104
|
try {
|
|
98
105
|
return json(await gh.listIssues(owner, repo, state ?? "open", limit));
|
|
99
106
|
}
|
|
@@ -109,7 +116,7 @@ server.registerTool("get_issue", { title: "Get issue", description: "An issue's
|
|
|
109
116
|
return fail(err);
|
|
110
117
|
}
|
|
111
118
|
});
|
|
112
|
-
server.registerTool("list_pull_requests", { title: "List pull requests", description: "List a repo's pull requests.", inputSchema: { owner, repo, state: stateEnum, limit: z.number().int().positive().max(
|
|
119
|
+
server.registerTool("list_pull_requests", { title: "List pull requests", description: "List a repo's pull requests.", inputSchema: { owner, repo, state: stateEnum, limit: z.number().int().positive().max(300).optional() } }, async ({ owner, repo, state, limit }) => {
|
|
113
120
|
try {
|
|
114
121
|
return json(await gh.listPullRequests(owner, repo, state ?? "open", limit));
|
|
115
122
|
}
|
|
@@ -133,7 +140,7 @@ server.registerTool("get_file_contents", { title: "Get file contents", descripti
|
|
|
133
140
|
return fail(err);
|
|
134
141
|
}
|
|
135
142
|
});
|
|
136
|
-
server.registerTool("list_notifications", { title: "List notifications", description: "Your unread GitHub notifications.", inputSchema: { limit: z.number().int().positive().max(
|
|
143
|
+
server.registerTool("list_notifications", { title: "List notifications", description: "Your unread GitHub notifications.", inputSchema: { limit: z.number().int().positive().max(300).optional() } }, async ({ limit }) => {
|
|
137
144
|
try {
|
|
138
145
|
return json(await gh.listNotifications(limit));
|
|
139
146
|
}
|
|
@@ -158,9 +165,12 @@ if (!isReadOnly()) {
|
|
|
158
165
|
annotations: { destructiveHint: true },
|
|
159
166
|
}, async ({ owner, repo, title, body }) => {
|
|
160
167
|
try {
|
|
161
|
-
|
|
168
|
+
const r = await gh.createIssue(owner, repo, title, body);
|
|
169
|
+
await audit({ tool: "create_issue", target: `${owner}/${repo}#${r.number}`, outcome: "ok" });
|
|
170
|
+
return json(r);
|
|
162
171
|
}
|
|
163
172
|
catch (err) {
|
|
173
|
+
await audit({ tool: "create_issue", target: `${owner}/${repo}`, outcome: "error", detail: err.message });
|
|
164
174
|
return fail(err);
|
|
165
175
|
}
|
|
166
176
|
});
|
|
@@ -171,9 +181,12 @@ if (!isReadOnly()) {
|
|
|
171
181
|
annotations: { destructiveHint: true },
|
|
172
182
|
}, async ({ owner, repo, number, body }) => {
|
|
173
183
|
try {
|
|
174
|
-
|
|
184
|
+
const r = await gh.addIssueComment(owner, repo, number, body);
|
|
185
|
+
await audit({ tool: "add_issue_comment", target: `${owner}/${repo}#${number}`, outcome: "ok" });
|
|
186
|
+
return json(r);
|
|
175
187
|
}
|
|
176
188
|
catch (err) {
|
|
189
|
+
await audit({ tool: "add_issue_comment", target: `${owner}/${repo}#${number}`, outcome: "error", detail: err.message });
|
|
177
190
|
return fail(err);
|
|
178
191
|
}
|
|
179
192
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/log.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Strip any GitHub token patterns from text (defense-in-depth before output). */
|
|
2
|
+
export declare function redact(s: string): string;
|
|
3
|
+
type Level = "debug" | "info" | "warn" | "error";
|
|
4
|
+
export declare function log(level: Level, msg: string, fields?: Record<string, unknown>): void;
|
|
5
|
+
export interface AuditEvent {
|
|
6
|
+
tool: string;
|
|
7
|
+
target: string;
|
|
8
|
+
outcome: "ok" | "error";
|
|
9
|
+
detail?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Record a mutation to stderr and (best-effort) the audit log file. */
|
|
12
|
+
export declare function audit(event: AuditEvent): Promise<void>;
|
|
13
|
+
export {};
|
package/dist/log.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging + audit trail. Logs go to stderr only (stdout is the MCP
|
|
3
|
+
* transport). Mutations are additionally appended to GITHUB_AUDIT_LOG (if set)
|
|
4
|
+
* as JSON lines. Token values are never logged (see redact in index.ts).
|
|
5
|
+
*/
|
|
6
|
+
import { promises as fs } from "node:fs";
|
|
7
|
+
import { getAuditLogPath } from "./config.js";
|
|
8
|
+
/** Strip any GitHub token patterns from text (defense-in-depth before output). */
|
|
9
|
+
export function redact(s) {
|
|
10
|
+
return s
|
|
11
|
+
.replace(/\bgh[pousr]_[A-Za-z0-9]{16,}\b/g, "gh*_***")
|
|
12
|
+
.replace(/\bgithub_pat_[A-Za-z0-9_]{16,}\b/g, "github_pat_***");
|
|
13
|
+
}
|
|
14
|
+
export function log(level, msg, fields = {}) {
|
|
15
|
+
console.error(JSON.stringify({ ts: new Date().toISOString(), level, msg, ...fields }));
|
|
16
|
+
}
|
|
17
|
+
/** Record a mutation to stderr and (best-effort) the audit log file. */
|
|
18
|
+
export async function audit(event) {
|
|
19
|
+
const rec = { ts: new Date().toISOString(), kind: "audit", ...event };
|
|
20
|
+
console.error(JSON.stringify(rec));
|
|
21
|
+
const file = getAuditLogPath();
|
|
22
|
+
if (!file)
|
|
23
|
+
return;
|
|
24
|
+
try {
|
|
25
|
+
await fs.appendFile(file, JSON.stringify(rec) + "\n");
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
log("warn", "audit append failed", { error: err.message });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=log.js.map
|
package/dist/log.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC;SACL,OAAO,CAAC,iCAAiC,EAAE,SAAS,CAAC;SACrD,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;AACpE,CAAC;AAID,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,GAAW,EAAE,SAAkC,EAAE;IACjF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AASD,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,KAAiB;IAC3C,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;IACtE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abhishekmcp/github",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "MCP server for GitHub — search repos/code/issues, read repos/issues/PRs/files, and create issues, authenticated via OAuth device flow or a token, from any MCP client.",
|
|
5
5
|
"mcpName": "io.github.Abhishekkumar2021/github",
|
|
6
6
|
"type": "module",
|
|
@@ -45,6 +45,8 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
48
|
+
"@octokit/plugin-retry": "^7.2.1",
|
|
49
|
+
"@octokit/plugin-throttling": "^9.6.1",
|
|
48
50
|
"@octokit/rest": "^21.0.0",
|
|
49
51
|
"zod": "^3.23.8"
|
|
50
52
|
},
|