@172ai/containers-mcp-server 1.0.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.
Files changed (43) hide show
  1. package/.env.example +43 -0
  2. package/README.md +366 -0
  3. package/dist/auth.d.ts +57 -0
  4. package/dist/auth.d.ts.map +1 -0
  5. package/dist/auth.js +192 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/config.d.ts +84 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +246 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/server.d.ts +63 -0
  12. package/dist/server.d.ts.map +1 -0
  13. package/dist/server.js +886 -0
  14. package/dist/server.js.map +1 -0
  15. package/dist/services/buildService.d.ts +51 -0
  16. package/dist/services/buildService.d.ts.map +1 -0
  17. package/dist/services/buildService.js +268 -0
  18. package/dist/services/buildService.js.map +1 -0
  19. package/dist/services/capabilityService.d.ts +62 -0
  20. package/dist/services/capabilityService.d.ts.map +1 -0
  21. package/dist/services/capabilityService.js +240 -0
  22. package/dist/services/capabilityService.js.map +1 -0
  23. package/dist/services/containerService.d.ts +52 -0
  24. package/dist/services/containerService.d.ts.map +1 -0
  25. package/dist/services/containerService.js +251 -0
  26. package/dist/services/containerService.js.map +1 -0
  27. package/dist/services/fileService.d.ts +65 -0
  28. package/dist/services/fileService.d.ts.map +1 -0
  29. package/dist/services/fileService.js +330 -0
  30. package/dist/services/fileService.js.map +1 -0
  31. package/dist/setup.d.ts +30 -0
  32. package/dist/setup.d.ts.map +1 -0
  33. package/dist/setup.js +328 -0
  34. package/dist/setup.js.map +1 -0
  35. package/dist/types.d.ts +229 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +4 -0
  38. package/dist/types.js.map +1 -0
  39. package/dist/utils/errorHandler.d.ts +78 -0
  40. package/dist/utils/errorHandler.d.ts.map +1 -0
  41. package/dist/utils/errorHandler.js +269 -0
  42. package/dist/utils/errorHandler.js.map +1 -0
  43. package/package.json +81 -0
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorUtils = exports.ErrorHandler = exports.ApiError = void 0;
4
+ const config_1 = require("../config");
5
+ /**
6
+ * Custom error class for API errors
7
+ */
8
+ class ApiError extends Error {
9
+ constructor(message, status = 500, code = 'UNKNOWN_ERROR', details, requestId, context) {
10
+ super(message);
11
+ this.name = 'ApiError';
12
+ this.type = 'api_error';
13
+ this.status = status;
14
+ this.code = code;
15
+ this.details = details;
16
+ this.requestId = requestId;
17
+ this.timestamp = new Date().toISOString();
18
+ this.context = context;
19
+ // Maintain proper stack trace
20
+ if (Error.captureStackTrace) {
21
+ Error.captureStackTrace(this, ApiError);
22
+ }
23
+ }
24
+ /**
25
+ * Convert to API error response format
26
+ */
27
+ toResponse() {
28
+ return {
29
+ type: this.type,
30
+ message: this.message,
31
+ status: this.status,
32
+ code: this.code,
33
+ details: this.details,
34
+ requestId: this.requestId,
35
+ timestamp: this.timestamp,
36
+ context: this.context,
37
+ stack: config_1.config.isDevelopment() ? this.stack : undefined
38
+ };
39
+ }
40
+ }
41
+ exports.ApiError = ApiError;
42
+ /**
43
+ * Error handler class for processing different types of errors
44
+ */
45
+ class ErrorHandler {
46
+ /**
47
+ * Process any error and return a standardized format
48
+ */
49
+ static processError(error, context, requestId) {
50
+ const id = requestId || generateRequestId();
51
+ const timestamp = new Date().toISOString();
52
+ // Handle ApiError instances
53
+ if (error instanceof ApiError) {
54
+ return {
55
+ type: error.type,
56
+ message: error.message,
57
+ status: error.status,
58
+ code: error.code,
59
+ details: error.details,
60
+ requestId: id,
61
+ timestamp,
62
+ context: context || error.context,
63
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
64
+ };
65
+ }
66
+ // Handle HTTP/fetch errors
67
+ if (error.response) {
68
+ const status = error.response.status || 500;
69
+ const data = error.response.data || {};
70
+ return {
71
+ type: 'http_error',
72
+ message: data.message || error.message || `HTTP ${status} Error`,
73
+ status,
74
+ code: data.code || `HTTP_${status}`,
75
+ details: data.details || { url: error.config?.url, method: error.config?.method },
76
+ requestId: id,
77
+ timestamp,
78
+ context,
79
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
80
+ };
81
+ }
82
+ // Handle network errors
83
+ if (error.code === 'ECONNREFUSED' || error.code === 'ENOTFOUND' || error.code === 'ETIMEDOUT') {
84
+ return {
85
+ type: 'network_error',
86
+ message: `Network error: ${error.message}`,
87
+ status: 503,
88
+ code: error.code || 'NETWORK_ERROR',
89
+ details: { networkError: error.code },
90
+ requestId: id,
91
+ timestamp,
92
+ context,
93
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
94
+ };
95
+ }
96
+ // Handle validation errors
97
+ if (error.name === 'ValidationError' || error.name === 'ZodError') {
98
+ return {
99
+ type: 'validation_error',
100
+ message: error.message || 'Validation failed',
101
+ status: 400,
102
+ code: 'VALIDATION_ERROR',
103
+ details: error.issues || error.errors || error.details,
104
+ requestId: id,
105
+ timestamp,
106
+ context,
107
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
108
+ };
109
+ }
110
+ // Handle timeout errors
111
+ if (error.code === 'TIMEOUT' || error.message?.includes('timeout')) {
112
+ return {
113
+ type: 'timeout_error',
114
+ message: 'Request timeout',
115
+ status: 408,
116
+ code: 'TIMEOUT',
117
+ requestId: id,
118
+ timestamp,
119
+ context,
120
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
121
+ };
122
+ }
123
+ // Handle generic errors
124
+ return {
125
+ type: 'unknown_error',
126
+ message: error.message || 'An unknown error occurred',
127
+ status: 500,
128
+ code: 'UNKNOWN_ERROR',
129
+ requestId: id,
130
+ timestamp,
131
+ context,
132
+ stack: config_1.config.isDevelopment() ? error.stack : undefined
133
+ };
134
+ }
135
+ /**
136
+ * Create a standardized error for authentication issues
137
+ */
138
+ static createAuthError(message, details) {
139
+ return new ApiError(message, 401, 'AUTH_ERROR', details);
140
+ }
141
+ /**
142
+ * Create a standardized error for authorization issues
143
+ */
144
+ static createAuthorizationError(message, details) {
145
+ return new ApiError(message, 403, 'AUTHORIZATION_ERROR', details);
146
+ }
147
+ /**
148
+ * Create a standardized error for validation issues
149
+ */
150
+ static createValidationError(message, details) {
151
+ return new ApiError(message, 400, 'VALIDATION_ERROR', details);
152
+ }
153
+ /**
154
+ * Create a standardized error for not found issues
155
+ */
156
+ static createNotFoundError(message, details) {
157
+ return new ApiError(message, 404, 'NOT_FOUND', details);
158
+ }
159
+ /**
160
+ * Create a standardized error for rate limiting
161
+ */
162
+ static createRateLimitError(message = 'Rate limit exceeded', details) {
163
+ return new ApiError(message, 429, 'RATE_LIMIT_EXCEEDED', details);
164
+ }
165
+ /**
166
+ * Create a standardized error for server errors
167
+ */
168
+ static createServerError(message, details) {
169
+ return new ApiError(message, 500, 'SERVER_ERROR', details);
170
+ }
171
+ /**
172
+ * Log error with appropriate level based on status
173
+ */
174
+ static logError(error) {
175
+ const logLevel = config_1.config.getLogLevel();
176
+ const shouldLog = (level) => {
177
+ const levels = ['error', 'warn', 'info', 'debug'];
178
+ return levels.indexOf(logLevel) >= levels.indexOf(level);
179
+ };
180
+ const logData = {
181
+ requestId: error.requestId,
182
+ type: error.type,
183
+ code: error.code,
184
+ status: error.status,
185
+ message: error.message,
186
+ context: error.context,
187
+ timestamp: error.timestamp,
188
+ details: error.details
189
+ };
190
+ if (error.status >= 500 && shouldLog('error')) {
191
+ console.error('Server Error:', JSON.stringify(logData, null, 2));
192
+ }
193
+ else if (error.status >= 400 && shouldLog('warn')) {
194
+ console.warn('Client Error:', JSON.stringify(logData, null, 2));
195
+ }
196
+ else if (shouldLog('info')) {
197
+ console.info('Request Error:', JSON.stringify(logData, null, 2));
198
+ }
199
+ // Log stack trace in development
200
+ if (config_1.config.isDevelopment() && error.stack && shouldLog('debug')) {
201
+ console.debug('Stack Trace:', error.stack);
202
+ }
203
+ }
204
+ /**
205
+ * Handle errors in async operations
206
+ */
207
+ static async handleAsync(operation, context, requestId) {
208
+ try {
209
+ return await operation();
210
+ }
211
+ catch (error) {
212
+ const processedError = this.processError(error, context, requestId);
213
+ this.logError(processedError);
214
+ throw new ApiError(processedError.message, processedError.status, processedError.code, processedError.details, processedError.requestId, processedError.context);
215
+ }
216
+ }
217
+ }
218
+ exports.ErrorHandler = ErrorHandler;
219
+ /**
220
+ * Generate a unique request ID
221
+ */
222
+ function generateRequestId() {
223
+ return `req_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
224
+ }
225
+ /**
226
+ * Utility functions for common error scenarios
227
+ */
228
+ exports.ErrorUtils = {
229
+ /**
230
+ * Wrap async function with error handling
231
+ */
232
+ withErrorHandling: (fn, context) => {
233
+ return async (...args) => {
234
+ return ErrorHandler.handleAsync(() => fn(...args), context);
235
+ };
236
+ },
237
+ /**
238
+ * Check if error is retryable
239
+ */
240
+ isRetryable: (error) => {
241
+ if (error instanceof ApiError) {
242
+ // Don't retry client errors (4xx) except for 429 (rate limit)
243
+ if (error.status >= 400 && error.status < 500 && error.status !== 429) {
244
+ return false;
245
+ }
246
+ return true;
247
+ }
248
+ // Retry network errors
249
+ if (error.code === 'ECONNREFUSED' || error.code === 'ENOTFOUND' || error.code === 'TIMEOUT') {
250
+ return true;
251
+ }
252
+ // Retry server errors
253
+ if (error.response && error.response.status >= 500) {
254
+ return true;
255
+ }
256
+ return false;
257
+ },
258
+ /**
259
+ * Get retry delay with exponential backoff
260
+ */
261
+ getRetryDelay: (attempt, baseDelay = 1000) => {
262
+ const retryConfig = config_1.config.getRetryConfig();
263
+ const delay = baseDelay * Math.pow(retryConfig.backoffMultiplier, attempt);
264
+ return Math.min(delay, retryConfig.maxBackoffMs);
265
+ }
266
+ };
267
+ // Export default
268
+ exports.default = ErrorHandler;
269
+ //# sourceMappingURL=errorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/utils/errorHandler.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@172ai/containers-mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for 172.ai container management platform - enables AI assistants to manage containers, builds, and files",
5
+ "main": "dist/server.js",
6
+ "bin": {
7
+ "containers-mcp-server": "dist/server.js"
8
+ },
9
+ "scripts": {
10
+ "start": "node dist/server.js",
11
+ "dev": "ts-node src/server.ts",
12
+ "build": "tsc",
13
+ "watch": "tsc --watch",
14
+ "lint": "eslint src/**/*.ts",
15
+ "lint:fix": "eslint src/**/*.ts --fix",
16
+ "test": "jest",
17
+ "test:watch": "jest --watch",
18
+ "test:coverage": "jest --coverage",
19
+ "clean": "rm -rf dist",
20
+ "prebuild": "npm run clean",
21
+ "prepare": "npm run build",
22
+ "postinstall": "echo 'MCP Server installed successfully'",
23
+ "setup": "node dist/setup.js",
24
+ "configure": "node dist/configure.js"
25
+ },
26
+ "keywords": [
27
+ "mcp",
28
+ "model-context-protocol",
29
+ "containers",
30
+ "docker",
31
+ "ai",
32
+ "assistant",
33
+ "server",
34
+ "172ai",
35
+ "claude",
36
+ "openai"
37
+ ],
38
+ "author": "172.ai <support@172.ai>",
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "dotenv": "^16.3.1",
42
+ "zod": "^3.22.4",
43
+ "inquirer": "^9.2.0",
44
+ "chalk": "^5.3.0",
45
+ "ora": "^7.0.0",
46
+ "axios": "^1.6.0",
47
+ "@modelcontextprotocol/sdk": "^0.4.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^20.10.0",
51
+ "@types/inquirer": "^9.0.0",
52
+ "@typescript-eslint/eslint-plugin": "^6.13.1",
53
+ "@typescript-eslint/parser": "^6.13.1",
54
+ "eslint": "^8.54.0",
55
+ "jest": "^29.7.0",
56
+ "ts-jest": "^29.1.1",
57
+ "ts-node": "^10.9.1",
58
+ "typescript": "^5.3.2"
59
+ },
60
+ "engines": {
61
+ "node": ">=18.0.0"
62
+ },
63
+ "files": [
64
+ "dist/**/*",
65
+ "README.md",
66
+ "package.json",
67
+ "LICENSE",
68
+ ".env.example"
69
+ ],
70
+ "repository": {
71
+ "type": "git",
72
+ "url": "https://github.com/172ai/containers-mcp-server.git"
73
+ },
74
+ "bugs": {
75
+ "url": "https://github.com/172ai/containers-mcp-server/issues"
76
+ },
77
+ "homepage": "https://github.com/172ai/containers-mcp-server#readme",
78
+ "publishConfig": {
79
+ "access": "public"
80
+ }
81
+ }