restricted-github-mcp 1.1.22 → 1.1.25

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config-server.d.ts","sourceRoot":"","sources":["../src/config-server.ts"],"names":[],"mappings":"AASA,wBAAsB,iBAAiB,kBA+FtC"}
1
+ {"version":3,"file":"config-server.d.ts","sourceRoot":"","sources":["../src/config-server.ts"],"names":[],"mappings":"AASA,wBAAsB,iBAAiB,kBAiJtC"}
@@ -55,9 +55,14 @@ export async function startConfigServer() {
55
55
  const envPath = path.join(process.cwd(), ".env");
56
56
  logToFile(`[GUI] Saving config to: ${envPath}`);
57
57
  fs.writeFileSync(envPath, envContent);
58
- // Update current process env as well
58
+ // Update current process env
59
59
  Object.assign(process.env, newConfig);
60
- logToFile("[GUI] Configuration updated via GUI");
60
+ // Notify master process about the update
61
+ logToFile("[GUI] Sending CONFIG_UPDATED to master process");
62
+ if (process.send) {
63
+ process.send({ type: "CONFIG_UPDATED", config: newConfig });
64
+ }
65
+ logToFile("[GUI] Configuration updated and master notified");
61
66
  res.sendStatus(200);
62
67
  }
63
68
  catch (error) {
@@ -67,6 +72,48 @@ export async function startConfigServer() {
67
72
  res.status(500).json({ error: msg });
68
73
  }
69
74
  });
75
+ app.post("/api/restart", (req, res) => {
76
+ logToFile("[GUI] POST /api/restart called (Full MCP)");
77
+ try {
78
+ res.json({ message: "Restarting GitHub MCP server..." });
79
+ setTimeout(() => {
80
+ logToFile("[GUI] Sending RESTART signal to master process");
81
+ if (process.send) {
82
+ process.send({ type: "RESTART" });
83
+ }
84
+ else {
85
+ logToFile("[GUI] ERROR: process.send is not defined");
86
+ process.exit(0);
87
+ }
88
+ }, 500);
89
+ }
90
+ catch (error) {
91
+ const msg = `[GUI] Failed to restart: ${error.message}`;
92
+ logToFile(msg);
93
+ res.status(500).json({ error: msg });
94
+ }
95
+ });
96
+ app.post("/api/stop", (req, res) => {
97
+ logToFile("[GUI] POST /api/stop called (Full MCP)");
98
+ try {
99
+ res.json({ message: "Stopping GitHub MCP server..." });
100
+ setTimeout(() => {
101
+ logToFile("[GUI] Sending STOP signal to master process");
102
+ if (process.send) {
103
+ process.send({ type: "STOP" });
104
+ }
105
+ else {
106
+ logToFile("[GUI] ERROR: process.send is not defined");
107
+ process.exit(0);
108
+ }
109
+ }, 500);
110
+ }
111
+ catch (error) {
112
+ const msg = `[GUI] Failed to stop: ${error.message}`;
113
+ logToFile(msg);
114
+ res.status(500).json({ error: msg });
115
+ }
116
+ });
70
117
  try {
71
118
  logToFile(`[GUI] Attempting to listen on port ${port}...`);
72
119
  const serverListener = app.listen(port, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"config-server.js","sourceRoot":"","sources":["../src/config-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-server.js","sourceRoot":"","sources":["../src/config-server.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,75 +14,72 @@ import { logToFile } from "./logger.js";
14
14
  import { startConfigServer } from "./config-server.js";
15
15
  const __filename = fileURLToPath(import.meta.url);
16
16
  const __dirname = path.dirname(__filename);
17
+ /**
18
+ * État du processus GUI
19
+ */
20
+ let currentGuiProcess = null;
21
+ /**
22
+ * Accès dynamique à la configuration
23
+ */
24
+ const getConfig = () => ({
25
+ GITHUB_TOKEN: process.env.GITHUB_TOKEN,
26
+ TARGET_BRANCH: process.env.TARGET_BRANCH,
27
+ BASE_BRANCH: process.env.BASE_BRANCH || "main",
28
+ TARGET_REPO: process.env.TARGET_REPO,
29
+ REPO_PATH: process.env.REPO_PATH,
30
+ READ_ONLY: process.env.READ_ONLY === "true"
31
+ });
32
+ /**
33
+ * Instance Octokit dynamique
34
+ */
35
+ let _octokit = null;
36
+ const getOctokit = () => {
37
+ const { GITHUB_TOKEN } = getConfig();
38
+ if (!GITHUB_TOKEN)
39
+ return null;
40
+ if (!_octokit) {
41
+ _octokit = new Octokit({ auth: GITHUB_TOKEN });
42
+ }
43
+ return _octokit;
44
+ };
17
45
  /**
18
46
  * Lance le serveur de configuration dans un processus séparé
19
47
  */
20
48
  function spawnGuiProcess() {
21
49
  const guiPath = path.join(__dirname, "gui.js");
22
50
  logToFile(`[MASTER] Spawning GUI process: ${guiPath}`);
23
- const guiProcess = fork(guiPath, [], {
24
- stdio: 'inherit', // Hérite de stderr pour les logs, mais fork gère l'isolation
51
+ currentGuiProcess = fork(guiPath, [], {
52
+ stdio: 'inherit',
25
53
  env: process.env
26
54
  });
27
- guiProcess.on('error', (err) => {
55
+ currentGuiProcess.on('error', (err) => {
28
56
  logToFile(`[MASTER] Failed to spawn GUI process: ${err.message}`);
29
57
  });
30
- guiProcess.on('exit', (code) => {
58
+ currentGuiProcess.on('exit', (code) => {
31
59
  logToFile(`[MASTER] GUI process exited with code ${code}. Restarting in 5s...`);
32
- // Optionnel : Redémarrage automatique si le processus GUI crash
60
+ currentGuiProcess = null;
33
61
  setTimeout(spawnGuiProcess, 5000);
34
62
  });
35
- return guiProcess;
36
- }
37
- const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf8"));
38
- const VERSION = pkg.version;
39
- // Handle --version flag without exiting
40
- if (process.argv.includes("--version") || process.argv.includes("-v")) {
41
- console.error(`Restricted GitHub MCP Version: ${VERSION}`);
42
- }
43
- // MCP servers must not log to stdout as it's used for the protocol.
44
- // Some libraries might log to stdout on initialization.
45
- // We redirect all console.log to console.error to avoid polluting stdout.
46
- console.log = console.error;
47
- dotenv.config();
48
- // Global error handlers to catch silent crashes
49
- process.on('uncaughtException', (error) => {
50
- const msg = `FATAL UNCAUGHT EXCEPTION [PID ${process.pid}]: ${error.message}\nStack: ${error.stack}`;
51
- console.error(msg);
52
- logToFile(msg);
53
- process.exit(1);
54
- });
55
- process.on('unhandledRejection', (reason, promise) => {
56
- const msg = `FATAL UNHANDLED REJECTION [PID ${process.pid}]: ${reason}\nPromise: ${promise}`;
57
- console.error(msg);
58
- logToFile(msg);
59
- });
60
- process.on('exit', (code) => {
61
- logToFile(`PROCESS EXITING [PID ${process.pid}] with code: ${code}`);
62
- });
63
- ['SIGINT', 'SIGTERM', 'SIGQUIT'].forEach(signal => {
64
- process.on(signal, () => {
65
- logToFile(`PROCESS RECEIVED SIGNAL ${signal} [PID ${process.pid}]`);
66
- process.exit(0);
63
+ currentGuiProcess.on('message', (msg) => {
64
+ if (msg && msg.type === 'RESTART') {
65
+ logToFile("[MASTER] Restart signal received from GUI. Exiting main process...");
66
+ setTimeout(() => process.exit(0), 500);
67
+ }
68
+ if (msg && msg.type === 'STOP') {
69
+ logToFile("[MASTER] Stop signal received from GUI. Shutting down everything...");
70
+ setTimeout(() => process.exit(0), 500);
71
+ }
72
+ if (msg && msg.type === 'CONFIG_UPDATED') {
73
+ logToFile("[MASTER] Config update signal received from GUI.");
74
+ // On fusionne la nouvelle config dans l'environnement du Master
75
+ Object.assign(process.env, msg.config);
76
+ // On force la recréation d'Octokit au prochain appel
77
+ _octokit = null;
78
+ logToFile("[MASTER] Local process.env updated.");
79
+ }
67
80
  });
68
- });
69
- logToFile(`--- Server starting ---`);
70
- logToFile(`PID: ${process.pid}`);
71
- logToFile(`Arguments: ${JSON.stringify(process.argv)}`);
72
- logToFile(`Working directory: ${process.cwd()}`);
73
- // Add a heartbeat to monitor life
74
- setInterval(() => {
75
- logToFile("HEARTBEAT: Server is still alive");
76
- }, 30000);
77
- // Capture when stdin (the MCP pipe) is closed
78
- process.stdin.on('close', () => {
79
- logToFile("STDIN CLOSED: The MCP client has disconnected.");
80
- process.exit(0);
81
- });
82
- const GITHUB_TOKEN = process.env.GITHUB_TOKEN;
83
- const TARGET_BRANCH = process.env.TARGET_BRANCH;
84
- const BASE_BRANCH = process.env.BASE_BRANCH || "main";
85
- const TARGET_REPO = process.env.TARGET_REPO;
81
+ return currentGuiProcess;
82
+ }
86
83
  /**
87
84
  * Met à jour durablement une variable dans le fichier .env
88
85
  */
@@ -112,15 +109,11 @@ function sanitizeBranchName(branch) {
112
109
  return branch.replace(/[\/\x5C\x3A\x2A\x3F\x22\x3C\x3E\x7C\s]+/g, "-")
113
110
  .replace(/^-+|-+$/g, ""); // Nettoie les tirets au début et à la fin
114
111
  }
115
- const READ_ONLY = process.env.READ_ONLY === "true";
116
- // Source de vérité pour le chemin du dépôt (chargé via .env ou mis à jour via clone)
117
- if (process.env.REPO_PATH === undefined) {
118
- process.env.REPO_PATH = "";
119
- }
120
112
  /**
121
113
  * Génère le header d'authentification Basic pour Git
122
114
  */
123
115
  function getGitAuthHeader() {
116
+ const { GITHUB_TOKEN } = getConfig();
124
117
  if (!GITHUB_TOKEN)
125
118
  return null;
126
119
  const auth = Buffer.from(`x-access-token:${GITHUB_TOKEN}`).toString('base64');
@@ -149,13 +142,57 @@ function execGitSecure(command, options) {
149
142
  }
150
143
  // Lancement de la GUI dans un processus SÉPARÉ
151
144
  spawnGuiProcess();
145
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf8"));
146
+ const VERSION = pkg.version;
147
+ // Handle --version flag without exiting
148
+ if (process.argv.includes("--version") || process.argv.includes("-v")) {
149
+ console.error(`Restricted GitHub MCP Version: ${VERSION}`);
150
+ }
151
+ // MCP servers must not log to stdout as it's used for the protocol.
152
+ // Some libraries might log to stdout on initialization.
153
+ // We redirect all console.log to console.error to avoid polluting stdout.
154
+ console.log = console.error;
155
+ dotenv.config();
156
+ // Global error handlers to catch silent crashes
157
+ process.on('uncaughtException', (error) => {
158
+ const msg = `FATAL UNCAUGHT EXCEPTION [PID ${process.pid}]: ${error.message}\nStack: ${error.stack}`;
159
+ console.error(msg);
160
+ logToFile(msg);
161
+ process.exit(1);
162
+ });
163
+ process.on('unhandledRejection', (reason, promise) => {
164
+ const msg = `FATAL UNHANDLED REJECTION [PID ${process.pid}]: ${reason}\nPromise: ${promise}`;
165
+ console.error(msg);
166
+ logToFile(msg);
167
+ });
168
+ process.on('exit', (code) => {
169
+ logToFile(`PROCESS EXITING [PID ${process.pid}] with code: ${code}`);
170
+ });
171
+ ['SIGINT', 'SIGTERM', 'SIGQUIT'].forEach(signal => {
172
+ process.on(signal, () => {
173
+ logToFile(`PROCESS RECEIVED SIGNAL ${signal} [PID ${process.pid}]`);
174
+ process.exit(0);
175
+ });
176
+ });
177
+ logToFile(`--- Server starting ---`);
178
+ logToFile(`PID: ${process.pid}`);
179
+ logToFile(`Arguments: ${JSON.stringify(process.argv)}`);
180
+ logToFile(`Working directory: ${process.cwd()}`);
181
+ // Add a heartbeat to monitor life
182
+ setInterval(() => {
183
+ logToFile("HEARTBEAT: Server is still alive");
184
+ }, 30000);
185
+ // Capture when stdin (the MCP pipe) is closed
186
+ process.stdin.on('close', () => {
187
+ logToFile("STDIN CLOSED: The MCP client has disconnected.");
188
+ process.exit(0);
189
+ });
152
190
  // On ne bloque plus le démarrage si le token est manquant
153
- if (!GITHUB_TOKEN) {
191
+ if (!getConfig().GITHUB_TOKEN) {
154
192
  const msg = "⚠️ GITHUB_TOKEN manquant. Le serveur MCP est en attente de configuration via http://localhost:3000";
155
193
  console.error(msg);
156
194
  logToFile(msg);
157
195
  }
158
- const octokit = GITHUB_TOKEN ? new Octokit({ auth: GITHUB_TOKEN }) : null;
159
196
  const server = new Server({
160
197
  name: "restricted-github-mcp",
161
198
  version: "1.0.0",
@@ -223,19 +260,20 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
223
260
  }));
224
261
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
225
262
  const { name, arguments: args } = request.params;
263
+ const config = getConfig();
226
264
  try {
227
265
  logToFile(`Executing tool: ${name}`);
228
266
  switch (name) {
229
267
  case "push": {
230
- if (READ_ONLY)
268
+ if (config.READ_ONLY)
231
269
  throw new Error("Server is in read-only mode");
232
270
  const { message } = args;
233
- const finalRepoPath = process.env.REPO_PATH;
271
+ const finalRepoPath = config.REPO_PATH;
234
272
  if (!finalRepoPath) {
235
273
  throw new Error("Repository path is not defined. You must call 'clone' first.");
236
274
  }
237
275
  const execOptions = { cwd: finalRepoPath };
238
- if (!TARGET_BRANCH) {
276
+ if (!config.TARGET_BRANCH) {
239
277
  throw new Error("TARGET_BRANCH environment variable is not defined");
240
278
  }
241
279
  try {
@@ -258,8 +296,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
258
296
  // 3. Pull latest changes to avoid non-fast-forward errors
259
297
  // On utilise rebase pour garder un historique propre
260
298
  try {
261
- logToFile(`Attempting to pull latest changes from ${TARGET_BRANCH}...`);
262
- execGitSecure(`pull --rebase origin ${TARGET_BRANCH}`, execOptions);
299
+ logToFile(`Attempting to pull latest changes from ${config.TARGET_BRANCH}...`);
300
+ execGitSecure(`pull --rebase origin ${config.TARGET_BRANCH}`, execOptions);
263
301
  }
264
302
  catch (pullError) {
265
303
  logToFile(`Pull rebase failed or skipped (may be normal if branch is new): ${pullError.message}`);
@@ -267,11 +305,11 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
267
305
  }
268
306
  // 4. Push to target branch
269
307
  // On n'injecte plus le token dans l'URL, on utilise l'URL standard
270
- const remote = TARGET_REPO
271
- ? `https://github.com/${TARGET_REPO}.git`
308
+ const remote = config.TARGET_REPO
309
+ ? `https://github.com/${config.TARGET_REPO}.git`
272
310
  : "origin";
273
- execGitSecure(`push ${remote} HEAD:${TARGET_BRANCH}`, execOptions);
274
- const successMsg = `Successfully committed and pushed all changes to branch ${TARGET_BRANCH} from ${finalRepoPath}`;
311
+ execGitSecure(`push ${remote} HEAD:${config.TARGET_BRANCH}`, execOptions);
312
+ const successMsg = `Successfully committed and pushed all changes to branch ${config.TARGET_BRANCH} from ${finalRepoPath}`;
275
313
  logToFile(successMsg);
276
314
  return {
277
315
  content: [{ type: "text", text: successMsg }],
@@ -284,19 +322,20 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
284
322
  }
285
323
  }
286
324
  case "pull_request": {
287
- if (!GITHUB_TOKEN) {
325
+ const octokit = getOctokit();
326
+ if (!config.GITHUB_TOKEN) {
288
327
  throw new Error("GITHUB_TOKEN est manquant. Veuillez le configurer via l'interface graphique.");
289
328
  }
290
- if (READ_ONLY)
329
+ if (config.READ_ONLY)
291
330
  throw new Error("Server is in read-only mode");
292
331
  const { title, body } = args;
293
- if (!TARGET_REPO || !TARGET_REPO.includes("/")) {
332
+ if (!config.TARGET_REPO || !config.TARGET_REPO.includes("/")) {
294
333
  throw new Error("TARGET_REPO must be defined as 'owner/repo'");
295
334
  }
296
- if (!TARGET_BRANCH) {
335
+ if (!config.TARGET_BRANCH) {
297
336
  throw new Error("TARGET_BRANCH is not defined");
298
337
  }
299
- const [owner, repo] = TARGET_REPO.split("/");
338
+ const [owner, repo] = config.TARGET_REPO.split("/");
300
339
  if (!owner || !repo) {
301
340
  throw new Error("Invalid TARGET_REPO format. Expected 'owner/repo'");
302
341
  }
@@ -308,8 +347,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
308
347
  repo,
309
348
  title,
310
349
  body,
311
- head: TARGET_BRANCH,
312
- base: BASE_BRANCH,
350
+ head: config.TARGET_BRANCH,
351
+ base: config.BASE_BRANCH,
313
352
  });
314
353
  const successMsg = `Pull request created successfully: ${response.data.html_url}`;
315
354
  logToFile(successMsg);
@@ -350,13 +389,13 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
350
389
  }
351
390
  case "get_info": {
352
391
  const info = {
353
- TARGET_REPO,
354
- TARGET_BRANCH,
355
- BASE_BRANCH,
356
- REPO_PATH: process.env.REPO_PATH || "Not defined (Call 'clone' first)",
357
- READ_ONLY,
392
+ TARGET_REPO: config.TARGET_REPO,
393
+ TARGET_BRANCH: config.TARGET_BRANCH,
394
+ BASE_BRANCH: config.BASE_BRANCH,
395
+ REPO_PATH: config.REPO_PATH || "Not defined (Call 'clone' first)",
396
+ READ_ONLY: config.READ_ONLY,
358
397
  CURRENT_WORKING_DIR: process.cwd(),
359
- GITHUB_TOKEN_LAST_5: GITHUB_TOKEN ? `***${GITHUB_TOKEN.slice(-5)}` : "Non configuré",
398
+ GITHUB_TOKEN_LAST_5: config.GITHUB_TOKEN ? `***${config.GITHUB_TOKEN.slice(-5)}` : "Non configuré",
360
399
  };
361
400
  return {
362
401
  content: [{
@@ -366,24 +405,25 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
366
405
  };
367
406
  }
368
407
  case "clone": {
369
- if (!GITHUB_TOKEN) {
408
+ const octokit = getOctokit();
409
+ if (!config.GITHUB_TOKEN) {
370
410
  throw new Error("GITHUB_TOKEN est manquant. Le clonage nécessite une authentification.");
371
411
  }
372
- if (!TARGET_REPO || !TARGET_REPO.includes("/")) {
412
+ if (!config.TARGET_REPO || !config.TARGET_REPO.includes("/")) {
373
413
  throw new Error("TARGET_REPO must be defined as 'owner/repo'");
374
414
  }
375
- if (!TARGET_BRANCH) {
415
+ if (!config.TARGET_BRANCH) {
376
416
  throw new Error("TARGET_BRANCH environment variable is not defined");
377
417
  }
378
- const branchName = TARGET_BRANCH;
418
+ const branchName = config.TARGET_BRANCH;
379
419
  const { project_path } = args;
380
- const repoParts = TARGET_REPO.split("/");
420
+ const repoParts = config.TARGET_REPO.split("/");
381
421
  const owner = repoParts[0];
382
422
  const repo = repoParts[1];
383
423
  if (!owner || !repo) {
384
424
  throw new Error("Invalid TARGET_REPO format. Expected 'owner/repo'");
385
425
  }
386
- const remote = `https://github.com/${TARGET_REPO}.git`;
426
+ const remote = `https://github.com/${config.TARGET_REPO}.git`;
387
427
  const sanitizedBranch = sanitizeBranchName(branchName);
388
428
  const finalRepoPath = path.join(project_path, sanitizedBranch);
389
429
  logToFile(`[CLONE] Destination calculée : ${finalRepoPath}`);
@@ -397,6 +437,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
397
437
  // 1. Clone into the configured path
398
438
  logToFile(`Cloning ${remote} into ${finalRepoPath}...`);
399
439
  execGitSecure(`clone ${remote} "${finalRepoPath}"`, {});
440
+ // Configurer l'identité de l'agent automatiquement après le clone
441
+ logToFile(`[CLONE] Configuration de l'identité Git (Agent Zero)...`);
442
+ execGitSecure(`config user.name "Agent Zero"`, { cwd: finalRepoPath });
443
+ execGitSecure(`config user.email "agentzero@arakei.net"`, { cwd: finalRepoPath });
400
444
  // 2. Check if branch exists on remote
401
445
  let branchExistsOnRemote = false;
402
446
  try {
@@ -432,7 +476,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
432
476
  // On met à jour l'environnement ET on persiste dans le .env
433
477
  process.env.REPO_PATH = finalRepoPath;
434
478
  updateEnvFile("REPO_PATH", finalRepoPath);
435
- const successMsg = `Successfully cloned ${TARGET_REPO} into ${finalRepoPath} and updated existing branch ${branchName}`;
479
+ const successMsg = `Successfully cloned ${config.TARGET_REPO} into ${finalRepoPath} and updated existing branch ${branchName}`;
436
480
  logToFile(successMsg);
437
481
  return {
438
482
  content: [{ type: "text", text: successMsg }],
@@ -446,7 +490,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
446
490
  // On met à jour l'environnement ET on persiste dans le .env
447
491
  process.env.REPO_PATH = finalRepoPath;
448
492
  updateEnvFile("REPO_PATH", finalRepoPath);
449
- const successMsg = `Successfully cloned ${TARGET_REPO} into ${finalRepoPath}, created and pushed new branch ${branchName} to remote`;
493
+ const successMsg = `Successfully cloned ${config.TARGET_REPO} into ${finalRepoPath}, created and pushed new branch ${branchName} to remote`;
450
494
  logToFile(successMsg);
451
495
  return {
452
496
  content: [{ type: "text", text: successMsg }],
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "restricted-github-mcp",
3
- "version": "1.1.22",
3
+ "version": "1.1.25",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "files": [
package/public/index.html CHANGED
@@ -17,7 +17,6 @@
17
17
  <h1 class="text-3xl font-bold mb-6 text-blue-400 flex items-center">
18
18
  <svg class="w-8 h-8 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
19
19
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path>
20
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
21
20
  </svg>
22
21
  Configuration MCP GitHub
23
22
  </h1>
@@ -30,10 +29,24 @@
30
29
  </div>
31
30
  </div>
32
31
 
33
- <div class="pt-4">
32
+ <div class="pt-4 space-y-3">
34
33
  <button type="submit" class="w-full bg-blue-600 hover:bg-blue-700 text-white font-bold py-3 px-4 rounded-lg transition duration-200 shadow-lg flex justify-center items-center">
35
34
  <span>Enregistrer la configuration</span>
36
35
  </button>
36
+
37
+ <button type="button" id="restartBtn" class="w-full bg-amber-600 hover:bg-amber-700 text-white font-bold py-3 px-4 rounded-lg transition duration-200 shadow-lg flex justify-center items-center">
38
+ <svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
39
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
40
+ </svg>
41
+ <span>Redémarrer le serveur MCP</span>
42
+ </button>
43
+
44
+ <button type="button" id="stopBtn" class="w-full bg-red-600 hover:bg-red-700 text-white font-bold py-3 px-4 rounded-lg transition duration-200 shadow-lg flex justify-center items-center">
45
+ <svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
46
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
47
+ </svg>
48
+ <span>Arrêter le serveur MCP</span>
49
+ </button>
37
50
  </div>
38
51
  </form>
39
52
 
@@ -48,6 +61,8 @@
48
61
  const form = document.getElementById('configForm');
49
62
  const status = document.getElementById('status');
50
63
  const inputsContainer = document.getElementById('inputs');
64
+ const restartBtn = document.getElementById('restartBtn');
65
+ const stopBtn = document.getElementById('stopBtn');
51
66
 
52
67
  const fields = [
53
68
  { id: 'GITHUB_TOKEN', label: 'GitHub Token', type: 'password', placeholder: 'ghp_...' },
@@ -121,6 +136,70 @@
121
136
  }
122
137
  };
123
138
 
139
+ restartBtn.onclick = async () => {
140
+ if (!confirm('Êtes-vous sûr de vouloir redémarrer le serveur MCP ? Cela coupera la connexion actuelle pour appliquer les changements.')) {
141
+ return;
142
+ }
143
+
144
+ try {
145
+ restartBtn.disabled = true;
146
+ restartBtn.innerHTML = '<span>Redémarrage en cours...</span>';
147
+
148
+ const response = await fetch('/api/restart', {
149
+ method: 'POST'
150
+ });
151
+
152
+ if (response.ok) {
153
+ showStatus('Signal de redémarrage envoyé. Le serveur va se relancer...', 'success');
154
+ // On attend un peu que le serveur s'arrête
155
+ setTimeout(() => {
156
+ window.location.reload();
157
+ }, 3000);
158
+ } else {
159
+ throw new Error('Erreur lors de la demande de redémarrage');
160
+ }
161
+ } catch (error) {
162
+ showStatus(error.message, 'error');
163
+ restartBtn.disabled = false;
164
+ restartBtn.innerHTML = `
165
+ <svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
166
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path>
167
+ </svg>
168
+ <span>Redémarrer le serveur MCP</span>
169
+ `;
170
+ }
171
+ };
172
+
173
+ stopBtn.onclick = async () => {
174
+ if (!confirm('Êtes-vous sûr de vouloir arrêter COMPLÈTEMENT le serveur MCP ?')) {
175
+ return;
176
+ }
177
+
178
+ try {
179
+ stopBtn.disabled = true;
180
+ stopBtn.innerHTML = '<span>Arrêt en cours...</span>';
181
+
182
+ const response = await fetch('/api/stop', {
183
+ method: 'POST'
184
+ });
185
+
186
+ if (response.ok) {
187
+ showStatus('Le serveur s\'arrête. Cette page ne sera plus disponible.', 'success');
188
+ } else {
189
+ throw new Error('Erreur lors de la demande d\'arrêt');
190
+ }
191
+ } catch (error) {
192
+ showStatus(error.message, 'error');
193
+ stopBtn.disabled = false;
194
+ stopBtn.innerHTML = `
195
+ <svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
196
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
197
+ </svg>
198
+ <span>Arrêter le serveur MCP</span>
199
+ `;
200
+ }
201
+ };
202
+
124
203
  fetchConfig();
125
204
  </script>
126
205
  </body>