contextforge-mcp 0.1.21 → 0.1.23

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 CHANGED
@@ -843,14 +843,14 @@ async function main() {
843
843
  console.error('');
844
844
  console.error(`${colors.bgBlue}${colors.white}${colors.bright} ContextForge MCP ${colors.reset}`);
845
845
  console.error(`${colors.dim}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
846
- console.error(`${colors.cyan}Version:${colors.reset} 0.1.21`);
846
+ console.error(`${colors.cyan}Version:${colors.reset} 0.1.23`);
847
847
  console.error(`${colors.cyan}API URL:${colors.reset} ${config.apiUrl}`);
848
848
  console.error(`${colors.cyan}Space:${colors.reset} ${config.defaultSpace || '(not set)'}`);
849
849
  console.error(`${colors.dim}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
850
850
  console.error('');
851
851
  const server = new Server({
852
852
  name: 'contextforge-mcp',
853
- version: '0.1.21',
853
+ version: '0.1.23',
854
854
  }, {
855
855
  capabilities: {
856
856
  tools: {},
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":""}
package/dist/setup.js ADDED
@@ -0,0 +1,286 @@
1
+ #!/usr/bin/env node
2
+ import * as readline from 'readline';
3
+ import { execSync } from 'child_process';
4
+ import { existsSync, readFileSync } from 'fs';
5
+ import { homedir } from 'os';
6
+ import { join } from 'path';
7
+ // ============ Colors ============
8
+ const colors = {
9
+ reset: '\x1b[0m',
10
+ bright: '\x1b[1m',
11
+ dim: '\x1b[2m',
12
+ red: '\x1b[31m',
13
+ green: '\x1b[32m',
14
+ yellow: '\x1b[33m',
15
+ blue: '\x1b[34m',
16
+ magenta: '\x1b[35m',
17
+ cyan: '\x1b[36m',
18
+ white: '\x1b[37m',
19
+ bgBlue: '\x1b[44m',
20
+ bgGreen: '\x1b[42m',
21
+ };
22
+ // ============ Helpers ============
23
+ function print(text) {
24
+ console.log(text);
25
+ }
26
+ function printColor(text, color) {
27
+ console.log(`${color}${text}${colors.reset}`);
28
+ }
29
+ function printSuccess(text) {
30
+ console.log(`${colors.green}${text}${colors.reset}`);
31
+ }
32
+ function printError(text) {
33
+ console.log(`${colors.red}${text}${colors.reset}`);
34
+ }
35
+ function printWarning(text) {
36
+ console.log(`${colors.yellow}${text}${colors.reset}`);
37
+ }
38
+ function printDim(text) {
39
+ console.log(`${colors.dim}${text}${colors.reset}`);
40
+ }
41
+ // ============ Banner ============
42
+ function printBanner() {
43
+ const width = 60;
44
+ const line = '─'.repeat(width);
45
+ print('');
46
+ print(`┌${line}┐`);
47
+ print(`│${' '.repeat(width)}│`);
48
+ print(`│${colors.bright}${colors.cyan} ContextForge MCP Server Setup Wizard${colors.reset}${' '.repeat(17)}│`);
49
+ print(`│${' '.repeat(width)}│`);
50
+ print(`└${line}┘`);
51
+ print('');
52
+ }
53
+ // ============ Check existing config ============
54
+ function getClaudeConfigPath() {
55
+ const home = homedir();
56
+ // Check platform-specific paths
57
+ if (process.platform === 'darwin') {
58
+ return join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
59
+ }
60
+ else if (process.platform === 'win32') {
61
+ return join(home, 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json');
62
+ }
63
+ else {
64
+ return join(home, '.config', 'claude', 'claude_desktop_config.json');
65
+ }
66
+ }
67
+ function checkExistingConfig() {
68
+ const configPath = getClaudeConfigPath();
69
+ if (!existsSync(configPath)) {
70
+ return { exists: false, hasContextForge: false, configPath };
71
+ }
72
+ try {
73
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
74
+ const hasContextForge = config?.mcpServers?.contextforge !== undefined;
75
+ return { exists: true, hasContextForge, configPath };
76
+ }
77
+ catch {
78
+ return { exists: true, hasContextForge: false, configPath };
79
+ }
80
+ }
81
+ function checkClaudeCLI() {
82
+ try {
83
+ execSync('claude --version', { stdio: 'pipe' });
84
+ return true;
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ }
90
+ // Check if contextforge is configured in Claude Code CLI
91
+ function checkClaudeCodeConfig() {
92
+ try {
93
+ const output = execSync('claude mcp list', { stdio: 'pipe', encoding: 'utf-8' });
94
+ // Check if contextforge appears in the output
95
+ if (output.toLowerCase().includes('contextforge')) {
96
+ // Try to determine scope (user/project)
97
+ const scope = output.toLowerCase().includes('user') ? 'user' : 'project';
98
+ return { configured: true, scope };
99
+ }
100
+ return { configured: false };
101
+ }
102
+ catch {
103
+ return { configured: false };
104
+ }
105
+ }
106
+ // ============ Setup Flow ============
107
+ async function askQuestion(rl, question) {
108
+ return new Promise((resolve) => {
109
+ rl.question(question, (answer) => {
110
+ resolve(answer.trim());
111
+ });
112
+ });
113
+ }
114
+ async function runSetup() {
115
+ const rl = readline.createInterface({
116
+ input: process.stdin,
117
+ output: process.stdout,
118
+ });
119
+ printBanner();
120
+ print(`Welcome to ContextForge! This wizard will help you set up`);
121
+ print(`your MCP server for the first time.`);
122
+ print('');
123
+ print(`You'll need:`);
124
+ print(` ${colors.cyan}•${colors.reset} Your ContextForge API key`);
125
+ print(` ${colors.cyan}•${colors.reset} An internet connection`);
126
+ print('');
127
+ printDim(`Don't have an API key yet?`);
128
+ print(`Get one free at: ${colors.cyan}https://contextforge.dev/dashboard/api-keys${colors.reset}`);
129
+ print('');
130
+ print('─'.repeat(60));
131
+ print('');
132
+ // Check existing configuration (both Desktop and CLI)
133
+ const desktopConfig = checkExistingConfig();
134
+ const hasClaudeCLI = checkClaudeCLI();
135
+ const cliConfig = hasClaudeCLI ? checkClaudeCodeConfig() : { configured: false };
136
+ const isAlreadyConfigured = desktopConfig.hasContextForge || cliConfig.configured;
137
+ if (isAlreadyConfigured) {
138
+ const configLocation = cliConfig.configured ? 'Claude Code CLI' : 'Claude Desktop';
139
+ printWarning(`Existing ContextForge configuration found in ${configLocation}.`);
140
+ const overwrite = await askQuestion(rl, `Do you want to overwrite it? (y/N): `);
141
+ if (overwrite.toLowerCase() !== 'y' && overwrite.toLowerCase() !== 'yes') {
142
+ print('');
143
+ printDim('Setup cancelled. Your existing configuration was preserved.');
144
+ rl.close();
145
+ process.exit(0);
146
+ }
147
+ print('');
148
+ }
149
+ else {
150
+ printDim('No existing ContextForge configuration found. Running setup...');
151
+ print('');
152
+ }
153
+ // Ask for API key
154
+ const apiKey = await askQuestion(rl, `Enter your ContextForge API key: `);
155
+ if (!apiKey) {
156
+ print('');
157
+ printError('API key is required. Setup cancelled.');
158
+ rl.close();
159
+ process.exit(1);
160
+ }
161
+ // Validate API key format (basic check)
162
+ if (apiKey.length < 10) {
163
+ print('');
164
+ printError('Invalid API key format. Please check your API key and try again.');
165
+ rl.close();
166
+ process.exit(1);
167
+ }
168
+ print('');
169
+ printDim('Configuring ContextForge MCP...');
170
+ print('');
171
+ // Use Claude CLI if available, otherwise show manual instructions
172
+ if (hasClaudeCLI) {
173
+ try {
174
+ // Run claude mcp add command
175
+ const command = `claude mcp add contextforge -s user -e CONTEXTFORGE_API_KEY=${apiKey} -- contextforge-mcp`;
176
+ execSync(command, { stdio: 'inherit' });
177
+ print('');
178
+ print('─'.repeat(60));
179
+ print('');
180
+ printSuccess('ContextForge MCP configured successfully!');
181
+ print('');
182
+ print(`${colors.bright}Next steps:${colors.reset}`);
183
+ print(` 1. Restart Claude Code (or open a new terminal)`);
184
+ print(` 2. Try: ${colors.cyan}"save to memory that I just set up ContextForge"${colors.reset}`);
185
+ print(` 3. Then: ${colors.cyan}"what did I save to memory?"${colors.reset}`);
186
+ print('');
187
+ print(`${colors.dim}Documentation: https://contextforge.dev/docs${colors.reset}`);
188
+ print('');
189
+ }
190
+ catch (error) {
191
+ print('');
192
+ printError('Failed to configure using Claude CLI.');
193
+ print('');
194
+ printManualInstructions(apiKey);
195
+ }
196
+ }
197
+ else {
198
+ printWarning('Claude CLI not found.');
199
+ print('');
200
+ printManualInstructions(apiKey);
201
+ }
202
+ rl.close();
203
+ }
204
+ function printManualInstructions(apiKey) {
205
+ print(`${colors.bright}Manual Setup Instructions:${colors.reset}`);
206
+ print('');
207
+ print(`${colors.cyan}Option 1: Using Claude CLI${colors.reset}`);
208
+ print(`First install Claude CLI, then run:`);
209
+ print('');
210
+ printDim(` claude mcp add contextforge -s user -e CONTEXTFORGE_API_KEY=${apiKey} -- contextforge-mcp`);
211
+ print('');
212
+ print(`${colors.cyan}Option 2: Edit config manually${colors.reset}`);
213
+ print(`Add to your claude_desktop_config.json:`);
214
+ print('');
215
+ const configSnippet = {
216
+ mcpServers: {
217
+ contextforge: {
218
+ command: 'contextforge-mcp',
219
+ env: {
220
+ CONTEXTFORGE_API_KEY: apiKey
221
+ }
222
+ }
223
+ }
224
+ };
225
+ printDim(JSON.stringify(configSnippet, null, 2));
226
+ print('');
227
+ const configPath = getClaudeConfigPath();
228
+ printDim(`Config location: ${configPath}`);
229
+ print('');
230
+ print(`${colors.dim}Documentation: https://contextforge.dev/docs/mcp-native${colors.reset}`);
231
+ print('');
232
+ }
233
+ // ============ Verify Command ============
234
+ async function runVerify() {
235
+ printBanner();
236
+ print(`Checking ContextForge configuration...`);
237
+ print('');
238
+ const desktopConfig = checkExistingConfig();
239
+ const hasClaudeCLI = checkClaudeCLI();
240
+ const cliConfig = hasClaudeCLI ? checkClaudeCodeConfig() : { configured: false };
241
+ // Determine if configured in either location
242
+ const isConfigured = desktopConfig.hasContextForge || cliConfig.configured;
243
+ print(`${colors.cyan}Claude CLI:${colors.reset} ${hasClaudeCLI ? colors.green + 'Found' : colors.yellow + 'Not found'}${colors.reset}`);
244
+ if (hasClaudeCLI) {
245
+ const cliStatus = cliConfig.configured
246
+ ? `${colors.green}Configured${colors.reset}${cliConfig.scope ? ` (${cliConfig.scope})` : ''}`
247
+ : `${colors.yellow}Not configured${colors.reset}`;
248
+ print(`${colors.cyan}Claude Code MCP:${colors.reset} ${cliStatus}`);
249
+ }
250
+ print(`${colors.cyan}Desktop config:${colors.reset} ${desktopConfig.exists ? (desktopConfig.hasContextForge ? colors.green + 'Configured' : colors.yellow + 'Found (no ContextForge)') : colors.dim + 'Not found'}${colors.reset}`);
251
+ print('');
252
+ if (isConfigured) {
253
+ printSuccess('ContextForge MCP is configured and ready!');
254
+ if (cliConfig.configured) {
255
+ printDim(`Configured via Claude Code CLI${cliConfig.scope ? ` (${cliConfig.scope} scope)` : ''}`);
256
+ }
257
+ if (desktopConfig.hasContextForge) {
258
+ printDim(`Configured in Claude Desktop config`);
259
+ }
260
+ }
261
+ else {
262
+ printWarning('ContextForge MCP is not configured.');
263
+ print(`Run ${colors.cyan}npx contextforge-setup${colors.reset} to configure.`);
264
+ }
265
+ print('');
266
+ }
267
+ // ============ Main ============
268
+ const args = process.argv.slice(2);
269
+ if (args.includes('--verify') || args.includes('-v')) {
270
+ runVerify();
271
+ }
272
+ else if (args.includes('--help') || args.includes('-h')) {
273
+ printBanner();
274
+ print(`${colors.bright}Usage:${colors.reset}`);
275
+ print(` npx contextforge-setup Run the setup wizard`);
276
+ print(` npx contextforge-setup --verify Check current configuration`);
277
+ print(` npx contextforge-setup --help Show this help`);
278
+ print('');
279
+ print(`${colors.bright}More info:${colors.reset}`);
280
+ print(` https://contextforge.dev/docs`);
281
+ print('');
282
+ }
283
+ else {
284
+ runSetup();
285
+ }
286
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "contextforge-mcp",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "Intelligent contextual memory MCP server for developers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "bin": {
9
- "contextforge-mcp": "dist/index.js"
9
+ "contextforge-mcp": "dist/index.js",
10
+ "contextforge-setup": "dist/setup.js"
10
11
  },
11
12
  "files": [
12
13
  "dist",