@softtechai/quickmcp 1.0.8

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 (163) hide show
  1. package/README.md +553 -0
  2. package/dist/client/MCPClient.d.ts +24 -0
  3. package/dist/client/MCPClient.d.ts.map +1 -0
  4. package/dist/client/MCPClient.js +211 -0
  5. package/dist/client/MCPClient.js.map +1 -0
  6. package/dist/client/MCPClientUnified.d.ts +31 -0
  7. package/dist/client/MCPClientUnified.d.ts.map +1 -0
  8. package/dist/client/MCPClientUnified.js +275 -0
  9. package/dist/client/MCPClientUnified.js.map +1 -0
  10. package/dist/client/MCPTestRunner.d.ts +44 -0
  11. package/dist/client/MCPTestRunner.d.ts.map +1 -0
  12. package/dist/client/MCPTestRunner.js +220 -0
  13. package/dist/client/MCPTestRunner.js.map +1 -0
  14. package/dist/client/MCPTestRunnerUnified.d.ts +48 -0
  15. package/dist/client/MCPTestRunnerUnified.d.ts.map +1 -0
  16. package/dist/client/MCPTestRunnerUnified.js +183 -0
  17. package/dist/client/MCPTestRunnerUnified.js.map +1 -0
  18. package/dist/database/json-manager.d.ts +55 -0
  19. package/dist/database/json-manager.d.ts.map +1 -0
  20. package/dist/database/json-manager.js +128 -0
  21. package/dist/database/json-manager.js.map +1 -0
  22. package/dist/database/sqlite-manager.d.ts +53 -0
  23. package/dist/database/sqlite-manager.d.ts.map +1 -0
  24. package/dist/database/sqlite-manager.js +193 -0
  25. package/dist/database/sqlite-manager.js.map +1 -0
  26. package/dist/dynamic-mcp-executor.d.ts +14 -0
  27. package/dist/dynamic-mcp-executor.d.ts.map +1 -0
  28. package/dist/dynamic-mcp-executor.js +274 -0
  29. package/dist/dynamic-mcp-executor.js.map +1 -0
  30. package/dist/generators/MCPServerGenerator-new.d.ts +37 -0
  31. package/dist/generators/MCPServerGenerator-new.d.ts.map +1 -0
  32. package/dist/generators/MCPServerGenerator-new.js +287 -0
  33. package/dist/generators/MCPServerGenerator-new.js.map +1 -0
  34. package/dist/generators/MCPServerGenerator.d.ts +42 -0
  35. package/dist/generators/MCPServerGenerator.d.ts.map +1 -0
  36. package/dist/generators/MCPServerGenerator.js +494 -0
  37. package/dist/generators/MCPServerGenerator.js.map +1 -0
  38. package/dist/generators/database/sqlite-manager.d.ts +52 -0
  39. package/dist/generators/database/sqlite-manager.js +143 -0
  40. package/dist/generators/generators/MCPServerGenerator.d.ts +37 -0
  41. package/dist/generators/generators/MCPServerGenerator.js +396 -0
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +23 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/integrated-mcp-server-new.d.ts +12 -0
  47. package/dist/integrated-mcp-server-new.d.ts.map +1 -0
  48. package/dist/integrated-mcp-server-new.js +253 -0
  49. package/dist/integrated-mcp-server-new.js.map +1 -0
  50. package/dist/integrated-mcp-server.d.ts +25 -0
  51. package/dist/integrated-mcp-server.d.ts.map +1 -0
  52. package/dist/integrated-mcp-server.js +541 -0
  53. package/dist/integrated-mcp-server.js.map +1 -0
  54. package/dist/mcp-inspector-server.d.ts +3 -0
  55. package/dist/mcp-inspector-server.d.ts.map +1 -0
  56. package/dist/mcp-inspector-server.js +119 -0
  57. package/dist/mcp-inspector-server.js.map +1 -0
  58. package/dist/mcp-sdk-server.d.ts +3 -0
  59. package/dist/mcp-sdk-server.d.ts.map +1 -0
  60. package/dist/mcp-sdk-server.js +90 -0
  61. package/dist/mcp-sdk-server.js.map +1 -0
  62. package/dist/mcp-server.d.ts +3 -0
  63. package/dist/mcp-server.d.ts.map +1 -0
  64. package/dist/mcp-server.js +300 -0
  65. package/dist/mcp-server.js.map +1 -0
  66. package/dist/parsers/CsvParser.d.ts +7 -0
  67. package/dist/parsers/CsvParser.d.ts.map +1 -0
  68. package/dist/parsers/CsvParser.js +98 -0
  69. package/dist/parsers/CsvParser.js.map +1 -0
  70. package/dist/parsers/DatabaseParser.d.ts +18 -0
  71. package/dist/parsers/DatabaseParser.d.ts.map +1 -0
  72. package/dist/parsers/DatabaseParser.js +372 -0
  73. package/dist/parsers/DatabaseParser.js.map +1 -0
  74. package/dist/parsers/ExcelParser.d.ts +8 -0
  75. package/dist/parsers/ExcelParser.d.ts.map +1 -0
  76. package/dist/parsers/ExcelParser.js +119 -0
  77. package/dist/parsers/ExcelParser.js.map +1 -0
  78. package/dist/parsers/index.d.ts +13 -0
  79. package/dist/parsers/index.d.ts.map +1 -0
  80. package/dist/parsers/index.js +88 -0
  81. package/dist/parsers/index.js.map +1 -0
  82. package/dist/parsers/parsers/ExcelParser.js +118 -0
  83. package/dist/parsers/types/index.js +2 -0
  84. package/dist/quickmcp-unified-bridge.d.ts +13 -0
  85. package/dist/quickmcp-unified-bridge.d.ts.map +1 -0
  86. package/dist/quickmcp-unified-bridge.js +176 -0
  87. package/dist/quickmcp-unified-bridge.js.map +1 -0
  88. package/dist/server/ServerManager.d.ts +37 -0
  89. package/dist/server/ServerManager.d.ts.map +1 -0
  90. package/dist/server/ServerManager.js +376 -0
  91. package/dist/server/ServerManager.js.map +1 -0
  92. package/dist/sqlite-manager.js +145 -0
  93. package/dist/start-new-server.d.ts +3 -0
  94. package/dist/start-new-server.d.ts.map +1 -0
  95. package/dist/start-new-server.js +10 -0
  96. package/dist/start-new-server.js.map +1 -0
  97. package/dist/test-app.d.ts +2 -0
  98. package/dist/test-app.d.ts.map +1 -0
  99. package/dist/test-app.js +119 -0
  100. package/dist/test-app.js.map +1 -0
  101. package/dist/test-new-architecture.d.ts +3 -0
  102. package/dist/test-new-architecture.d.ts.map +1 -0
  103. package/dist/test-new-architecture.js +72 -0
  104. package/dist/test-new-architecture.js.map +1 -0
  105. package/dist/transport/base-transport.d.ts +21 -0
  106. package/dist/transport/base-transport.d.ts.map +1 -0
  107. package/dist/transport/base-transport.js +16 -0
  108. package/dist/transport/base-transport.js.map +1 -0
  109. package/dist/transport/index.d.ts +10 -0
  110. package/dist/transport/index.d.ts.map +1 -0
  111. package/dist/transport/index.js +12 -0
  112. package/dist/transport/index.js.map +1 -0
  113. package/dist/transport/sse-transport.d.ts +13 -0
  114. package/dist/transport/sse-transport.d.ts.map +1 -0
  115. package/dist/transport/sse-transport.js +106 -0
  116. package/dist/transport/sse-transport.js.map +1 -0
  117. package/dist/transport/stdio-transport.d.ts +8 -0
  118. package/dist/transport/stdio-transport.d.ts.map +1 -0
  119. package/dist/transport/stdio-transport.js +53 -0
  120. package/dist/transport/stdio-transport.js.map +1 -0
  121. package/dist/transport/streamable-http-transport.d.ts +15 -0
  122. package/dist/transport/streamable-http-transport.d.ts.map +1 -0
  123. package/dist/transport/streamable-http-transport.js +151 -0
  124. package/dist/transport/streamable-http-transport.js.map +1 -0
  125. package/dist/types/index.d.ts +64 -0
  126. package/dist/types/index.d.ts.map +1 -0
  127. package/dist/types/index.js +3 -0
  128. package/dist/types/index.js.map +1 -0
  129. package/dist/web/client/MCPClient.js +348 -0
  130. package/dist/web/client/MCPTestRunner.js +317 -0
  131. package/dist/web/database/json-manager.js +124 -0
  132. package/dist/web/database/sqlite-manager.js +146 -0
  133. package/dist/web/dynamic-mcp-executor.js +443 -0
  134. package/dist/web/generators/MCPServerGenerator-new.js +284 -0
  135. package/dist/web/generators/MCPServerGenerator.js +566 -0
  136. package/dist/web/integrated-mcp-server-new.js +394 -0
  137. package/dist/web/parsers/CsvParser.js +144 -0
  138. package/dist/web/parsers/DatabaseParser.js +637 -0
  139. package/dist/web/parsers/ExcelParser.js +180 -0
  140. package/dist/web/parsers/index.js +152 -0
  141. package/dist/web/server.d.ts +3 -0
  142. package/dist/web/server.d.ts.map +1 -0
  143. package/dist/web/server.js +790 -0
  144. package/dist/web/server.js.map +1 -0
  145. package/dist/web/types/index.js +2 -0
  146. package/dist/web/web/server.js +860 -0
  147. package/package.json +68 -0
  148. package/quickmcp-direct-stdio.js +328 -0
  149. package/src/web/public/app.js +1795 -0
  150. package/src/web/public/database-tables.html +711 -0
  151. package/src/web/public/how-to-use.html +571 -0
  152. package/src/web/public/how-to-use.js +255 -0
  153. package/src/web/public/images/1-claude-quickmcp-stdio.png +0 -0
  154. package/src/web/public/images/2-claude-tools.png +0 -0
  155. package/src/web/public/images/3-claude-developer-settings.png +0 -0
  156. package/src/web/public/images/4-claude-config.png +0 -0
  157. package/src/web/public/images/5-claude-config-edit.png +0 -0
  158. package/src/web/public/index.html +626 -0
  159. package/src/web/public/manage-servers.html +198 -0
  160. package/src/web/public/modern-styles.css +946 -0
  161. package/src/web/public/shared-styles.css +2091 -0
  162. package/src/web/public/shared.js +93 -0
  163. package/src/web/public/test-servers.html +302 -0
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ServerManager = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const child_process_1 = require("child_process");
40
+ class ServerManager {
41
+ constructor(baseDir = './generated-servers') {
42
+ this.servers = new Map();
43
+ this.serverDir = path.resolve(baseDir);
44
+ }
45
+ async initialize() {
46
+ await fs.mkdir(this.serverDir, { recursive: true });
47
+ await this.loadExistingServers();
48
+ }
49
+ async createServer(config, parsedData, serverCode, packageJson) {
50
+ const serverId = this.generateServerId(config.name);
51
+ const serverPath = path.join(this.serverDir, serverId);
52
+ // Create server directory
53
+ await fs.mkdir(serverPath, { recursive: true });
54
+ // Write server files
55
+ await fs.writeFile(path.join(serverPath, 'index.ts'), serverCode);
56
+ await fs.writeFile(path.join(serverPath, 'package.json'), packageJson);
57
+ await fs.writeFile(path.join(serverPath, 'data.json'), JSON.stringify(parsedData, null, 2));
58
+ // Create TypeScript config
59
+ const tsConfig = {
60
+ compilerOptions: {
61
+ target: "ES2020",
62
+ module: "commonjs",
63
+ outDir: "./dist",
64
+ rootDir: "./",
65
+ strict: true,
66
+ esModuleInterop: true,
67
+ skipLibCheck: true,
68
+ forceConsistentCasingInFileNames: true
69
+ },
70
+ include: ["*.ts"],
71
+ exclude: ["node_modules", "dist"]
72
+ };
73
+ await fs.writeFile(path.join(serverPath, 'tsconfig.json'), JSON.stringify(tsConfig, null, 2));
74
+ // Create server instance
75
+ const instance = {
76
+ id: serverId,
77
+ config,
78
+ serverPath: path.join(serverPath, 'index.ts'),
79
+ status: 'stopped',
80
+ createdAt: new Date()
81
+ };
82
+ this.servers.set(serverId, instance);
83
+ await this.saveServerMetadata(instance);
84
+ return instance;
85
+ }
86
+ async buildServer(serverId) {
87
+ const instance = this.servers.get(serverId);
88
+ if (!instance) {
89
+ throw new Error(`Server ${serverId} not found`);
90
+ }
91
+ const serverDir = path.dirname(instance.serverPath);
92
+ // Install dependencies
93
+ await this.runCommand('npm', ['install'], serverDir);
94
+ // Build TypeScript
95
+ await this.runCommand('npx', ['tsc'], serverDir);
96
+ }
97
+ async startServer(serverId, port) {
98
+ const instance = this.servers.get(serverId);
99
+ if (!instance) {
100
+ throw new Error(`Server ${serverId} not found`);
101
+ }
102
+ if (instance.status === 'running') {
103
+ throw new Error(`Server ${serverId} is already running`);
104
+ }
105
+ const serverDir = path.dirname(instance.serverPath);
106
+ const distPath = path.join(serverDir, 'dist', 'index.js');
107
+ // Check if server is built
108
+ try {
109
+ await fs.access(distPath);
110
+ }
111
+ catch {
112
+ await this.buildServer(serverId);
113
+ }
114
+ instance.status = 'starting';
115
+ instance.lastStarted = new Date();
116
+ try {
117
+ const childProcess = (0, child_process_1.spawn)('node', [distPath], {
118
+ cwd: serverDir,
119
+ stdio: ['pipe', 'pipe', 'pipe'],
120
+ env: {
121
+ ...process.env,
122
+ PORT: port?.toString() || '0'
123
+ }
124
+ });
125
+ childProcess.on('error', (error) => {
126
+ instance.status = 'error';
127
+ instance.lastError = error.message;
128
+ });
129
+ childProcess.on('exit', (code) => {
130
+ instance.status = 'stopped';
131
+ if (code !== 0) {
132
+ instance.lastError = `Process exited with code ${code}`;
133
+ }
134
+ });
135
+ // Give the process a moment to start
136
+ await new Promise(resolve => setTimeout(resolve, 1000));
137
+ if (childProcess.killed) {
138
+ throw new Error('Server failed to start');
139
+ }
140
+ instance.process = childProcess;
141
+ instance.status = 'running';
142
+ instance.port = port;
143
+ }
144
+ catch (error) {
145
+ instance.status = 'error';
146
+ instance.lastError = error instanceof Error ? error.message : 'Unknown error';
147
+ throw error;
148
+ }
149
+ }
150
+ async stopServer(serverId) {
151
+ const instance = this.servers.get(serverId);
152
+ if (!instance) {
153
+ throw new Error(`Server ${serverId} not found`);
154
+ }
155
+ if (instance.process) {
156
+ instance.process.kill('SIGTERM');
157
+ // Wait for graceful shutdown
158
+ await new Promise(resolve => {
159
+ setTimeout(() => {
160
+ if (instance.process && !instance.process.killed) {
161
+ instance.process.kill('SIGKILL');
162
+ }
163
+ resolve(void 0);
164
+ }, 5000);
165
+ });
166
+ instance.process = undefined;
167
+ }
168
+ instance.status = 'stopped';
169
+ instance.port = undefined;
170
+ }
171
+ async restartServer(serverId) {
172
+ await this.stopServer(serverId);
173
+ await new Promise(resolve => setTimeout(resolve, 1000));
174
+ await this.startServer(serverId);
175
+ }
176
+ async deleteServer(serverId) {
177
+ const instance = this.servers.get(serverId);
178
+ if (!instance) {
179
+ throw new Error(`Server ${serverId} not found`);
180
+ }
181
+ // Stop server if running
182
+ if (instance.status === 'running') {
183
+ await this.stopServer(serverId);
184
+ }
185
+ // Remove server directory
186
+ const serverDir = path.dirname(instance.serverPath);
187
+ await fs.rm(serverDir, { recursive: true, force: true });
188
+ // Remove from memory
189
+ this.servers.delete(serverId);
190
+ }
191
+ async exportServer(serverId) {
192
+ const instance = this.servers.get(serverId);
193
+ if (!instance) {
194
+ throw new Error(`Server ${serverId} not found`);
195
+ }
196
+ const serverDir = path.dirname(instance.serverPath);
197
+ const exportPath = path.join(this.serverDir, `${serverId}-export.zip`);
198
+ // In a real implementation, you'd create a proper zip file
199
+ // For now, we'll just copy the directory structure
200
+ const exportDir = path.join(this.serverDir, `${serverId}-export`);
201
+ await fs.mkdir(exportDir, { recursive: true });
202
+ // Copy server files
203
+ const files = await fs.readdir(serverDir);
204
+ for (const file of files) {
205
+ if (file !== 'node_modules' && file !== 'dist') {
206
+ const srcPath = path.join(serverDir, file);
207
+ const destPath = path.join(exportDir, file);
208
+ const stats = await fs.stat(srcPath);
209
+ if (stats.isDirectory()) {
210
+ await this.copyDirectory(srcPath, destPath);
211
+ }
212
+ else {
213
+ await fs.copyFile(srcPath, destPath);
214
+ }
215
+ }
216
+ }
217
+ // Add README
218
+ const readme = this.generateReadme(instance);
219
+ await fs.writeFile(path.join(exportDir, 'README.md'), readme);
220
+ return exportDir;
221
+ }
222
+ getServerInstance(serverId) {
223
+ return this.servers.get(serverId);
224
+ }
225
+ getAllServers() {
226
+ return Array.from(this.servers.values());
227
+ }
228
+ getRunningServers() {
229
+ return this.getAllServers().filter(server => server.status === 'running');
230
+ }
231
+ async updateServerConfig(serverId, newConfig) {
232
+ const instance = this.servers.get(serverId);
233
+ if (!instance) {
234
+ throw new Error(`Server ${serverId} not found`);
235
+ }
236
+ // Update config
237
+ instance.config = { ...instance.config, ...newConfig };
238
+ // Save metadata
239
+ await this.saveServerMetadata(instance);
240
+ }
241
+ async loadExistingServers() {
242
+ try {
243
+ const entries = await fs.readdir(this.serverDir, { withFileTypes: true });
244
+ for (const entry of entries) {
245
+ if (entry.isDirectory()) {
246
+ try {
247
+ const metadataPath = path.join(this.serverDir, entry.name, 'metadata.json');
248
+ const metadataStr = await fs.readFile(metadataPath, 'utf-8');
249
+ const metadata = JSON.parse(metadataStr);
250
+ const instance = {
251
+ ...metadata,
252
+ createdAt: new Date(metadata.createdAt),
253
+ lastStarted: metadata.lastStarted ? new Date(metadata.lastStarted) : undefined,
254
+ status: 'stopped',
255
+ process: undefined
256
+ };
257
+ this.servers.set(instance.id, instance);
258
+ }
259
+ catch (error) {
260
+ console.warn(`Failed to load server metadata for ${entry.name}:`, error);
261
+ }
262
+ }
263
+ }
264
+ }
265
+ catch (error) {
266
+ // Directory doesn't exist yet, that's fine
267
+ }
268
+ }
269
+ async saveServerMetadata(instance) {
270
+ const serverDir = path.dirname(instance.serverPath);
271
+ const metadataPath = path.join(serverDir, 'metadata.json');
272
+ const metadata = {
273
+ id: instance.id,
274
+ config: instance.config,
275
+ serverPath: instance.serverPath,
276
+ status: instance.status,
277
+ port: instance.port,
278
+ lastError: instance.lastError,
279
+ createdAt: instance.createdAt.toISOString(),
280
+ lastStarted: instance.lastStarted?.toISOString()
281
+ };
282
+ await fs.writeFile(metadataPath, JSON.stringify(metadata, null, 2));
283
+ }
284
+ generateServerId(name) {
285
+ const cleanName = name.toLowerCase().replace(/[^a-z0-9-]/g, '-');
286
+ const timestamp = Date.now().toString(36);
287
+ return `${cleanName}-${timestamp}`;
288
+ }
289
+ async runCommand(command, args, cwd) {
290
+ return new Promise((resolve, reject) => {
291
+ const process = (0, child_process_1.spawn)(command, args, { cwd, stdio: 'pipe' });
292
+ let stdout = '';
293
+ let stderr = '';
294
+ process.stdout?.on('data', (data) => {
295
+ stdout += data.toString();
296
+ });
297
+ process.stderr?.on('data', (data) => {
298
+ stderr += data.toString();
299
+ });
300
+ process.on('close', (code) => {
301
+ if (code === 0) {
302
+ resolve();
303
+ }
304
+ else {
305
+ reject(new Error(`Command failed with code ${code}: ${stderr}`));
306
+ }
307
+ });
308
+ process.on('error', reject);
309
+ });
310
+ }
311
+ async copyDirectory(src, dest) {
312
+ await fs.mkdir(dest, { recursive: true });
313
+ const entries = await fs.readdir(src, { withFileTypes: true });
314
+ for (const entry of entries) {
315
+ const srcPath = path.join(src, entry.name);
316
+ const destPath = path.join(dest, entry.name);
317
+ if (entry.isDirectory()) {
318
+ await this.copyDirectory(srcPath, destPath);
319
+ }
320
+ else {
321
+ await fs.copyFile(srcPath, destPath);
322
+ }
323
+ }
324
+ }
325
+ generateReadme(instance) {
326
+ return `# ${instance.config.name}
327
+
328
+ ${instance.config.description}
329
+
330
+ ## Installation
331
+
332
+ 1. Install dependencies:
333
+ \`\`\`bash
334
+ npm install
335
+ \`\`\`
336
+
337
+ 2. Build the server:
338
+ \`\`\`bash
339
+ npm run build
340
+ \`\`\`
341
+
342
+ 3. Start the server:
343
+ \`\`\`bash
344
+ npm start
345
+ \`\`\`
346
+
347
+ ## Configuration
348
+
349
+ This MCP server provides the following capabilities:
350
+
351
+ - **Tools**: ${instance.config.tools.length} available tools
352
+ - **Resources**: ${instance.config.resources.length} available resources
353
+ - **Prompts**: ${instance.config.prompts.length} available prompts
354
+
355
+ ## Usage
356
+
357
+ This server implements the Model Context Protocol (MCP) and can be used with any MCP-compatible client.
358
+
359
+ ### Tools
360
+
361
+ ${instance.config.tools.map(tool => `- **${tool.name}**: ${tool.description}`).join('\n')}
362
+
363
+ ### Resources
364
+
365
+ ${instance.config.resources.map(resource => `- **${resource.name}**: ${resource.description}`).join('\n')}
366
+
367
+ ### Prompts
368
+
369
+ ${instance.config.prompts.map(prompt => `- **${prompt.name}**: ${prompt.description}`).join('\n')}
370
+
371
+ Generated with MCP Server Generator - ${new Date().toISOString()}
372
+ `;
373
+ }
374
+ }
375
+ exports.ServerManager = ServerManager;
376
+ //# sourceMappingURL=ServerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerManager.js","sourceRoot":"","sources":["../../src/server/ServerManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SQLiteManager = void 0;
7
+ var better_sqlite3_1 = __importDefault(require("better-sqlite3"));
8
+ var path_1 = __importDefault(require("path"));
9
+ var fs_1 = __importDefault(require("fs"));
10
+ var SQLiteManager = /** @class */ (function () {
11
+ function SQLiteManager() {
12
+ // Create database directory if it doesn't exist
13
+ var dbDir = path_1.default.join(process.cwd(), 'data');
14
+ if (!fs_1.default.existsSync(dbDir)) {
15
+ fs_1.default.mkdirSync(dbDir, { recursive: true });
16
+ }
17
+ this.dbPath = path_1.default.join(dbDir, 'quickmcp.sqlite');
18
+ this.db = new better_sqlite3_1.default(this.dbPath);
19
+ this.initializeTables();
20
+ }
21
+ SQLiteManager.prototype.initializeTables = function () {
22
+ // Servers table
23
+ this.db.exec("\n CREATE TABLE IF NOT EXISTS servers (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n db_config TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n )\n ");
24
+ // Tools table
25
+ this.db.exec("\n CREATE TABLE IF NOT EXISTS tools (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n server_id TEXT NOT NULL,\n name TEXT NOT NULL,\n description TEXT NOT NULL,\n input_schema TEXT NOT NULL,\n sql_query TEXT NOT NULL,\n operation TEXT NOT NULL CHECK (operation IN ('SELECT', 'INSERT', 'UPDATE', 'DELETE')),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (server_id) REFERENCES servers (id) ON DELETE CASCADE,\n UNIQUE(server_id, name)\n )\n ");
26
+ // Resources table
27
+ this.db.exec("\n CREATE TABLE IF NOT EXISTS resources (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n server_id TEXT NOT NULL,\n name TEXT NOT NULL,\n description TEXT NOT NULL,\n uri_template TEXT NOT NULL,\n sql_query TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (server_id) REFERENCES servers (id) ON DELETE CASCADE,\n UNIQUE(server_id, name)\n )\n ");
28
+ };
29
+ // Server operations
30
+ SQLiteManager.prototype.saveServer = function (server) {
31
+ var stmt = this.db.prepare("\n INSERT OR REPLACE INTO servers (id, name, db_config, created_at, updated_at)\n VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP)\n ");
32
+ stmt.run(server.id, server.name, JSON.stringify(server.dbConfig), server.createdAt);
33
+ };
34
+ SQLiteManager.prototype.getServer = function (serverId) {
35
+ var stmt = this.db.prepare('SELECT * FROM servers WHERE id = ?');
36
+ var row = stmt.get(serverId);
37
+ if (!row)
38
+ return null;
39
+ return {
40
+ id: row.id,
41
+ name: row.name,
42
+ dbConfig: JSON.parse(row.db_config),
43
+ createdAt: row.created_at
44
+ };
45
+ };
46
+ SQLiteManager.prototype.getAllServers = function () {
47
+ var stmt = this.db.prepare('SELECT * FROM servers ORDER BY created_at DESC');
48
+ var rows = stmt.all();
49
+ return rows.map(function (row) { return ({
50
+ id: row.id,
51
+ name: row.name,
52
+ dbConfig: JSON.parse(row.db_config),
53
+ createdAt: row.created_at
54
+ }); });
55
+ };
56
+ SQLiteManager.prototype.deleteServer = function (serverId) {
57
+ var stmt = this.db.prepare('DELETE FROM servers WHERE id = ?');
58
+ stmt.run(serverId);
59
+ };
60
+ // Tool operations
61
+ SQLiteManager.prototype.saveTools = function (tools) {
62
+ var stmt = this.db.prepare("\n INSERT OR REPLACE INTO tools (server_id, name, description, input_schema, sql_query, operation)\n VALUES (?, ?, ?, ?, ?, ?)\n ");
63
+ var transaction = this.db.transaction(function (tools) {
64
+ for (var _i = 0, tools_1 = tools; _i < tools_1.length; _i++) {
65
+ var tool = tools_1[_i];
66
+ stmt.run(tool.server_id, tool.name, tool.description, JSON.stringify(tool.inputSchema), tool.sqlQuery, tool.operation);
67
+ }
68
+ });
69
+ transaction(tools);
70
+ };
71
+ SQLiteManager.prototype.getToolsForServer = function (serverId) {
72
+ var stmt = this.db.prepare('SELECT * FROM tools WHERE server_id = ?');
73
+ var rows = stmt.all(serverId);
74
+ return rows.map(function (row) { return ({
75
+ server_id: row.server_id,
76
+ name: row.name,
77
+ description: row.description,
78
+ inputSchema: JSON.parse(row.input_schema),
79
+ sqlQuery: row.sql_query,
80
+ operation: row.operation
81
+ }); });
82
+ };
83
+ SQLiteManager.prototype.getAllTools = function () {
84
+ var stmt = this.db.prepare('SELECT * FROM tools ORDER BY server_id, name');
85
+ var rows = stmt.all();
86
+ return rows.map(function (row) { return ({
87
+ server_id: row.server_id,
88
+ name: row.name,
89
+ description: row.description,
90
+ inputSchema: JSON.parse(row.input_schema),
91
+ sqlQuery: row.sql_query,
92
+ operation: row.operation
93
+ }); });
94
+ };
95
+ // Resource operations
96
+ SQLiteManager.prototype.saveResources = function (resources) {
97
+ var stmt = this.db.prepare("\n INSERT OR REPLACE INTO resources (server_id, name, description, uri_template, sql_query)\n VALUES (?, ?, ?, ?, ?)\n ");
98
+ var transaction = this.db.transaction(function (resources) {
99
+ for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {
100
+ var resource = resources_1[_i];
101
+ stmt.run(resource.server_id, resource.name, resource.description, resource.uri_template, resource.sqlQuery);
102
+ }
103
+ });
104
+ transaction(resources);
105
+ };
106
+ SQLiteManager.prototype.getResourcesForServer = function (serverId) {
107
+ var stmt = this.db.prepare('SELECT * FROM resources WHERE server_id = ?');
108
+ var rows = stmt.all(serverId);
109
+ return rows.map(function (row) { return ({
110
+ server_id: row.server_id,
111
+ name: row.name,
112
+ description: row.description,
113
+ uri_template: row.uri_template,
114
+ sqlQuery: row.sql_query
115
+ }); });
116
+ };
117
+ SQLiteManager.prototype.getAllResources = function () {
118
+ var stmt = this.db.prepare('SELECT * FROM resources ORDER BY server_id, name');
119
+ var rows = stmt.all();
120
+ return rows.map(function (row) { return ({
121
+ server_id: row.server_id,
122
+ name: row.name,
123
+ description: row.description,
124
+ uri_template: row.uri_template,
125
+ sqlQuery: row.sql_query
126
+ }); });
127
+ };
128
+ // Cleanup
129
+ SQLiteManager.prototype.close = function () {
130
+ this.db.close();
131
+ };
132
+ // Statistics
133
+ SQLiteManager.prototype.getStats = function () {
134
+ var serversCount = this.db.prepare('SELECT COUNT(*) as count FROM servers').get();
135
+ var toolsCount = this.db.prepare('SELECT COUNT(*) as count FROM tools').get();
136
+ var resourcesCount = this.db.prepare('SELECT COUNT(*) as count FROM resources').get();
137
+ return {
138
+ servers: serversCount.count,
139
+ tools: toolsCount.count,
140
+ resources: resourcesCount.count
141
+ };
142
+ };
143
+ return SQLiteManager;
144
+ }());
145
+ exports.SQLiteManager = SQLiteManager;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=start-new-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-new-server.d.ts","sourceRoot":"","sources":["../src/start-new-server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env tsx
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const integrated_mcp_server_new_1 = require("./integrated-mcp-server-new");
5
+ async function startServer() {
6
+ const server = new integrated_mcp_server_new_1.IntegratedMCPServer();
7
+ await server.start(3001);
8
+ }
9
+ startServer().catch(console.error);
10
+ //# sourceMappingURL=start-new-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-new-server.js","sourceRoot":"","sources":["../src/start-new-server.ts"],"names":[],"mappings":";;;AAEA,2EAAkE;AAElE,KAAK,UAAU,WAAW;IACxB,MAAM,MAAM,GAAG,IAAI,+CAAmB,EAAE,CAAC;IACzC,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-app.d.ts","sourceRoot":"","sources":["../src/test-app.ts"],"names":[],"mappings":""}