group-chat-mcp 0.1.0 → 0.1.1
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/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/dist/constants/settings-paths.d.ts +0 -2
- package/dist/constants/settings-paths.d.ts.map +1 -1
- package/dist/constants/settings-paths.js +0 -4
- package/dist/constants/settings-paths.js.map +1 -1
- package/dist/gchat.js +16 -4
- package/dist/gchat.js.map +1 -1
- package/dist/services/installer-service.d.ts +2 -0
- package/dist/services/installer-service.d.ts.map +1 -1
- package/dist/services/installer-service.js +40 -3
- package/dist/services/installer-service.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.1.1] - 2026-03-21
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Claude Code installer now uses `claude mcp add/remove` CLI instead of writing settings files directly
|
|
13
|
+
- Scope mapping: Global → `--scope user`, Local → `--scope project`
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Paths with spaces no longer break CLI installation (`execFileSync` replaces string-based `execSync`)
|
|
18
|
+
|
|
8
19
|
## [0.1.0] - 2026-03-21
|
|
9
20
|
|
|
10
21
|
### Added
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ The installer prompts for:
|
|
|
40
40
|
- **IDE**: Claude Code, Cursor, or Both
|
|
41
41
|
- **Scope**: Global (all projects) or Local (current project only)
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
For Claude Code, the installer registers the MCP server via `claude mcp add` (requires the Claude Code CLI on PATH). For Cursor, it writes the configuration to the appropriate settings file.
|
|
44
44
|
|
|
45
45
|
To remove the configuration:
|
|
46
46
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-paths.d.ts","sourceRoot":"","sources":["../../src/constants/settings-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"settings-paths.d.ts","sourceRoot":"","sources":["../../src/constants/settings-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,QAAiD,CAAC;AAE5E,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
export const CLAUDE_CODE_GLOBAL = path.join(os.homedir(), '.claude', 'settings.json');
|
|
4
3
|
export const CURSOR_GLOBAL = path.join(os.homedir(), '.cursor', 'mcp.json');
|
|
5
|
-
export function CLAUDE_CODE_LOCAL() {
|
|
6
|
-
return path.join(process.cwd(), '.mcp.json');
|
|
7
|
-
}
|
|
8
4
|
export function CURSOR_LOCAL() {
|
|
9
5
|
return path.join(process.cwd(), '.cursor', 'mcp.json');
|
|
10
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-paths.js","sourceRoot":"","sources":["../../src/constants/settings-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"settings-paths.js","sourceRoot":"","sources":["../../src/constants/settings-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAE5E,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/gchat.js
CHANGED
|
@@ -40,13 +40,25 @@ async function main() {
|
|
|
40
40
|
const scopeName = scope === Scope.Global ? 'global' : 'local';
|
|
41
41
|
if (result.command === 'install') {
|
|
42
42
|
await installer.install({ ide, scope });
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
if (ide === IDE.ClaudeCode) {
|
|
44
|
+
const claudeScope = installer.claudeCodeScope(scope);
|
|
45
|
+
console.log(`✓ Installed group-chat-mcp for ${ideName} (${claudeScope})`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const settingsPath = installer.resolveSettingsPath(ide, scope);
|
|
49
|
+
console.log(`✓ Installed group-chat-mcp for ${ideName} (${scopeName}): ${settingsPath}`);
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
52
|
else {
|
|
47
53
|
await installer.uninstall({ ide, scope });
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
if (ide === IDE.ClaudeCode) {
|
|
55
|
+
const claudeScope = installer.claudeCodeScope(scope);
|
|
56
|
+
console.log(`✓ Uninstalled group-chat-mcp from ${ideName} (${claudeScope})`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const settingsPath = installer.resolveSettingsPath(ide, scope);
|
|
60
|
+
console.log(`✓ Uninstalled group-chat-mcp from ${ideName} (${scopeName}): ${settingsPath}`);
|
|
61
|
+
}
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
}
|
package/dist/gchat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gchat.js","sourceRoot":"","sources":["../src/gchat.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAEzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClE,MAAM,SAAS,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAE9D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gchat.js","sourceRoot":"","sources":["../src/gchat.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export declare class InstallerService {
|
|
|
7
7
|
uninstall(options: UninstallOptions): Promise<void>;
|
|
8
8
|
resolveServerPath(): string;
|
|
9
9
|
resolveSettingsPath(ide: IDE, scope: Scope): string;
|
|
10
|
+
claudeCodeScope(scope: Scope): string;
|
|
11
|
+
protected execClaudeCli(args: string[]): void;
|
|
10
12
|
private readSettingsFile;
|
|
11
13
|
private writeAtomically;
|
|
12
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer-service.d.ts","sourceRoot":"","sources":["../../src/services/installer-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installer-service.d.ts","sourceRoot":"","sources":["../../src/services/installer-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,qBAAa,gBAAgB;IACrB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCzD,iBAAiB,IAAI,MAAM;IAe3B,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IASnD,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIrC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;YAa/B,gBAAgB;YAyBhB,eAAe;CAU9B"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
|
+
import { execFileSync } from 'node:child_process';
|
|
3
4
|
import path from 'node:path';
|
|
4
5
|
import { fileURLToPath } from 'node:url';
|
|
5
6
|
import { IDE } from '../enums/ide.js';
|
|
6
7
|
import { Scope } from '../enums/scope.js';
|
|
7
|
-
import {
|
|
8
|
+
import { CURSOR_GLOBAL, CURSOR_LOCAL, } from '../constants/settings-paths.js';
|
|
8
9
|
export class InstallerService {
|
|
9
10
|
async install(options) {
|
|
10
11
|
const serverPath = this.resolveServerPath();
|
|
12
|
+
if (options.ide === IDE.ClaudeCode) {
|
|
13
|
+
const scope = this.claudeCodeScope(options.scope);
|
|
14
|
+
this.execClaudeCli(['mcp', 'add', 'group-chat-mcp', '--scope', scope, '--', 'node', serverPath]);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// Cursor: JSON file approach
|
|
11
18
|
const settingsPath = this.resolveSettingsPath(options.ide, options.scope);
|
|
12
19
|
await fs.mkdir(path.dirname(settingsPath), { recursive: true });
|
|
13
20
|
const config = await this.readSettingsFile(settingsPath);
|
|
@@ -21,6 +28,20 @@ export class InstallerService {
|
|
|
21
28
|
await this.writeAtomically(settingsPath, config);
|
|
22
29
|
}
|
|
23
30
|
async uninstall(options) {
|
|
31
|
+
if (options.ide === IDE.ClaudeCode) {
|
|
32
|
+
const scope = this.claudeCodeScope(options.scope);
|
|
33
|
+
try {
|
|
34
|
+
this.execClaudeCli(['mcp', 'remove', 'group-chat-mcp', '--scope', scope]);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
38
|
+
if (!message.toLowerCase().includes('not found')) {
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Cursor: JSON file approach
|
|
24
45
|
const settingsPath = this.resolveSettingsPath(options.ide, options.scope);
|
|
25
46
|
let config;
|
|
26
47
|
try {
|
|
@@ -54,10 +75,26 @@ export class InstallerService {
|
|
|
54
75
|
}
|
|
55
76
|
resolveSettingsPath(ide, scope) {
|
|
56
77
|
switch (ide) {
|
|
57
|
-
case IDE.ClaudeCode:
|
|
58
|
-
return scope === Scope.Global ? CLAUDE_CODE_GLOBAL : CLAUDE_CODE_LOCAL();
|
|
59
78
|
case IDE.Cursor:
|
|
60
79
|
return scope === Scope.Global ? CURSOR_GLOBAL : CURSOR_LOCAL();
|
|
80
|
+
default:
|
|
81
|
+
throw new Error(`resolveSettingsPath is not supported for ${ide}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
claudeCodeScope(scope) {
|
|
85
|
+
return scope === Scope.Global ? 'user' : 'project';
|
|
86
|
+
}
|
|
87
|
+
execClaudeCli(args) {
|
|
88
|
+
try {
|
|
89
|
+
execFileSync('claude', args, { stdio: 'pipe' });
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
const nodeErr = err;
|
|
93
|
+
if (nodeErr.code === 'ENOENT') {
|
|
94
|
+
throw new Error('Claude Code CLI not found. Install it from https://docs.anthropic.com/en/docs/claude-code');
|
|
95
|
+
}
|
|
96
|
+
const stderr = err?.stderr?.toString().trim() ?? '';
|
|
97
|
+
throw new Error(`Claude CLI failed: ${stderr || 'unknown error'}`);
|
|
61
98
|
}
|
|
62
99
|
}
|
|
63
100
|
async readSettingsFile(settingsPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer-service.js","sourceRoot":"","sources":["../../src/services/installer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"installer-service.js","sourceRoot":"","sources":["../../src/services/installer-service.ts"],"names":[],"mappings":"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"}
|