@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,84 @@
1
+ import { MCPServerConfig } from './types';
2
+ /**
3
+ * Configuration manager class
4
+ */
5
+ export declare class Config {
6
+ private config;
7
+ constructor();
8
+ /**
9
+ * Load and validate configuration
10
+ */
11
+ private loadConfig;
12
+ /**
13
+ * Validate configuration values
14
+ */
15
+ private validateConfig;
16
+ /**
17
+ * Get configuration value
18
+ */
19
+ get<K extends keyof MCPServerConfig>(key: K): MCPServerConfig[K];
20
+ /**
21
+ * Get full configuration
22
+ */
23
+ getAll(): MCPServerConfig;
24
+ /**
25
+ * Get authentication configuration
26
+ */
27
+ getAuthConfig(): {
28
+ apiKey: string | undefined;
29
+ oauthToken: string | undefined;
30
+ clientId: string | undefined;
31
+ clientSecret: string | undefined;
32
+ };
33
+ /**
34
+ * Get retry configuration
35
+ */
36
+ getRetryConfig(): {
37
+ maxRetries: number;
38
+ backoffMultiplier: number;
39
+ maxBackoffMs: number;
40
+ };
41
+ /**
42
+ * Get timeout configuration
43
+ */
44
+ getTimeoutConfig(): {
45
+ request: number;
46
+ connect: number;
47
+ };
48
+ /**
49
+ * Get rate limit configuration
50
+ */
51
+ getRateLimitConfig(): {
52
+ requestsPerMinute: number;
53
+ requestsPerHour: number;
54
+ };
55
+ /**
56
+ * Get security configuration
57
+ */
58
+ getSecurityConfig(): {
59
+ validateCertificates: boolean;
60
+ allowedScopes: string[];
61
+ };
62
+ /**
63
+ * Check if in development mode
64
+ */
65
+ isDevelopment(): boolean;
66
+ /**
67
+ * Check if in production mode
68
+ */
69
+ isProduction(): boolean;
70
+ /**
71
+ * Check if in test mode
72
+ */
73
+ isTest(): boolean;
74
+ /**
75
+ * Get log level
76
+ */
77
+ getLogLevel(): string;
78
+ /**
79
+ * Update configuration at runtime (for testing)
80
+ */
81
+ update(updates: Partial<MCPServerConfig>): void;
82
+ }
83
+ export declare const config: Config;
84
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuE1C;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAIhE;;OAEG;IACH,MAAM,IAAI,eAAe;IAIzB;;OAEG;IACH,aAAa;;;;;;IASb;;OAEG;IACH,cAAc;;;;;IAId;;OAEG;IACH,gBAAgB;;;;IAIhB;;OAEG;IACH,kBAAkB;;;;IAIlB;;OAEG;IACH,iBAAiB;;;;IAIjB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAIhD;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,246 @@
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.config = exports.Config = void 0;
37
+ const dotenv = __importStar(require("dotenv"));
38
+ // Load environment variables
39
+ dotenv.config();
40
+ /**
41
+ * Default configuration values
42
+ */
43
+ const DEFAULT_CONFIG = {
44
+ baseUrl: 'https://api.172.ai',
45
+ environment: process.env.NODE_ENV || 'development',
46
+ logLevel: process.env.LOG_LEVEL || 'info',
47
+ rateLimits: {
48
+ requestsPerMinute: parseInt(process.env.RATE_LIMIT_PER_MINUTE || '60'),
49
+ requestsPerHour: parseInt(process.env.RATE_LIMIT_PER_HOUR || '1000')
50
+ },
51
+ timeouts: {
52
+ request: parseInt(process.env.REQUEST_TIMEOUT || '30000'),
53
+ connect: parseInt(process.env.CONNECT_TIMEOUT || '10000')
54
+ },
55
+ retryConfig: {
56
+ maxRetries: parseInt(process.env.MAX_RETRIES || '3'),
57
+ backoffMultiplier: parseFloat(process.env.BACKOFF_MULTIPLIER || '2'),
58
+ maxBackoffMs: parseInt(process.env.MAX_BACKOFF_MS || '30000')
59
+ },
60
+ security: {
61
+ validateCertificates: process.env.VALIDATE_CERTIFICATES !== 'false',
62
+ allowedScopes: (process.env.ALLOWED_SCOPES || 'containers:read,containers:write,builds:read,builds:write,files:read,files:write').split(',')
63
+ }
64
+ };
65
+ /**
66
+ * Environment specific overrides
67
+ */
68
+ const ENVIRONMENT_OVERRIDES = {
69
+ development: {
70
+ logLevel: 'debug',
71
+ rateLimits: {
72
+ requestsPerMinute: 100,
73
+ requestsPerHour: 2000
74
+ },
75
+ security: {
76
+ validateCertificates: false,
77
+ allowedScopes: ['*']
78
+ }
79
+ },
80
+ production: {
81
+ logLevel: 'info',
82
+ rateLimits: {
83
+ requestsPerMinute: 60,
84
+ requestsPerHour: 1000
85
+ },
86
+ security: {
87
+ validateCertificates: true,
88
+ allowedScopes: ['containers:read', 'containers:write', 'builds:read', 'builds:write', 'files:read', 'files:write']
89
+ }
90
+ },
91
+ test: {
92
+ logLevel: 'error',
93
+ rateLimits: {
94
+ requestsPerMinute: 1000,
95
+ requestsPerHour: 10000
96
+ },
97
+ security: {
98
+ validateCertificates: false,
99
+ allowedScopes: ['*']
100
+ }
101
+ }
102
+ };
103
+ /**
104
+ * Configuration manager class
105
+ */
106
+ class Config {
107
+ constructor() {
108
+ this.config = this.loadConfig();
109
+ }
110
+ /**
111
+ * Load and validate configuration
112
+ */
113
+ loadConfig() {
114
+ const baseConfig = { ...DEFAULT_CONFIG };
115
+ // Apply environment specific overrides
116
+ const envOverrides = ENVIRONMENT_OVERRIDES[baseConfig.environment] || {};
117
+ Object.assign(baseConfig, envOverrides);
118
+ // Apply environment variables
119
+ if (process.env.CONTAINER_API_URL) {
120
+ baseConfig.baseUrl = process.env.CONTAINER_API_URL;
121
+ }
122
+ if (process.env.API_KEY) {
123
+ baseConfig.apiKey = process.env.API_KEY;
124
+ }
125
+ if (process.env.OAUTH_TOKEN) {
126
+ baseConfig.oauthToken = process.env.OAUTH_TOKEN;
127
+ }
128
+ if (process.env.OAUTH_CLIENT_ID) {
129
+ baseConfig.clientId = process.env.OAUTH_CLIENT_ID;
130
+ }
131
+ if (process.env.OAUTH_CLIENT_SECRET) {
132
+ baseConfig.clientSecret = process.env.OAUTH_CLIENT_SECRET;
133
+ }
134
+ // Validate configuration
135
+ this.validateConfig(baseConfig);
136
+ return baseConfig;
137
+ }
138
+ /**
139
+ * Validate configuration values
140
+ */
141
+ validateConfig(config) {
142
+ if (!config.baseUrl) {
143
+ throw new Error('CONTAINER_API_URL is required');
144
+ }
145
+ if (!config.apiKey && !config.oauthToken && !config.clientId) {
146
+ throw new Error('Authentication configuration required: set API_KEY, OAUTH_TOKEN, or OAUTH_CLIENT_ID/OAUTH_CLIENT_SECRET');
147
+ }
148
+ if (config.clientId && !config.clientSecret) {
149
+ throw new Error('OAUTH_CLIENT_SECRET is required when OAUTH_CLIENT_ID is set');
150
+ }
151
+ if (!config.baseUrl.startsWith('http://') && !config.baseUrl.startsWith('https://')) {
152
+ throw new Error('CONTAINER_API_URL must be a valid HTTP/HTTPS URL');
153
+ }
154
+ if (config.rateLimits.requestsPerMinute <= 0 || config.rateLimits.requestsPerHour <= 0) {
155
+ throw new Error('Rate limits must be positive numbers');
156
+ }
157
+ if (config.timeouts.request <= 0 || config.timeouts.connect <= 0) {
158
+ throw new Error('Timeouts must be positive numbers');
159
+ }
160
+ if (config.retryConfig.maxRetries < 0 || config.retryConfig.backoffMultiplier < 1) {
161
+ throw new Error('Invalid retry configuration');
162
+ }
163
+ }
164
+ /**
165
+ * Get configuration value
166
+ */
167
+ get(key) {
168
+ return this.config[key];
169
+ }
170
+ /**
171
+ * Get full configuration
172
+ */
173
+ getAll() {
174
+ return { ...this.config };
175
+ }
176
+ /**
177
+ * Get authentication configuration
178
+ */
179
+ getAuthConfig() {
180
+ return {
181
+ apiKey: this.config.apiKey,
182
+ oauthToken: this.config.oauthToken,
183
+ clientId: this.config.clientId,
184
+ clientSecret: this.config.clientSecret
185
+ };
186
+ }
187
+ /**
188
+ * Get retry configuration
189
+ */
190
+ getRetryConfig() {
191
+ return this.config.retryConfig;
192
+ }
193
+ /**
194
+ * Get timeout configuration
195
+ */
196
+ getTimeoutConfig() {
197
+ return this.config.timeouts;
198
+ }
199
+ /**
200
+ * Get rate limit configuration
201
+ */
202
+ getRateLimitConfig() {
203
+ return this.config.rateLimits;
204
+ }
205
+ /**
206
+ * Get security configuration
207
+ */
208
+ getSecurityConfig() {
209
+ return this.config.security;
210
+ }
211
+ /**
212
+ * Check if in development mode
213
+ */
214
+ isDevelopment() {
215
+ return this.config.environment === 'development';
216
+ }
217
+ /**
218
+ * Check if in production mode
219
+ */
220
+ isProduction() {
221
+ return this.config.environment === 'production';
222
+ }
223
+ /**
224
+ * Check if in test mode
225
+ */
226
+ isTest() {
227
+ return this.config.environment === 'test';
228
+ }
229
+ /**
230
+ * Get log level
231
+ */
232
+ getLogLevel() {
233
+ return this.config.logLevel;
234
+ }
235
+ /**
236
+ * Update configuration at runtime (for testing)
237
+ */
238
+ update(updates) {
239
+ Object.assign(this.config, updates);
240
+ this.validateConfig(this.config);
241
+ }
242
+ }
243
+ exports.Config = Config;
244
+ // Export singleton instance
245
+ exports.config = new Config();
246
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * 172.ai Container Management MCP Server
4
+ *
5
+ * Provides AI assistants with access to container management functionality
6
+ * through the Model Context Protocol (MCP).
7
+ */
8
+ declare class ContainerMCPServer {
9
+ private server;
10
+ constructor();
11
+ /**
12
+ * Set up all available tools
13
+ */
14
+ private setupTools;
15
+ /**
16
+ * Set up container management tools
17
+ */
18
+ private setupContainerTools;
19
+ /**
20
+ * Get all available tools
21
+ */
22
+ private getAllTools;
23
+ /**
24
+ * Set up build management tools handlers
25
+ */
26
+ private setupBuildTools;
27
+ /**
28
+ * Set up file management tools handlers
29
+ */
30
+ private setupFileTools;
31
+ /**
32
+ * Set up capability management tools handlers
33
+ */
34
+ private setupCapabilityTools;
35
+ /**
36
+ * Set up error handlers
37
+ */
38
+ private setupErrorHandlers;
39
+ private handleListContainers;
40
+ private handleGetContainer;
41
+ private handleCreateContainer;
42
+ private handleUpdateContainer;
43
+ private handleDeleteContainer;
44
+ private handleCopyContainer;
45
+ private handleBuildContainer;
46
+ private handleGetBuildStatus;
47
+ private handleListBuilds;
48
+ private handleGetBuildLogs;
49
+ private handleListContainerFiles;
50
+ private handleGetFileContent;
51
+ private handleUploadFile;
52
+ private handleUpdateFile;
53
+ private handleDeleteFile;
54
+ private handleListCapabilities;
55
+ private handleGetCapability;
56
+ private handleSearchCapabilities;
57
+ /**
58
+ * Start the MCP server
59
+ */
60
+ start(): Promise<void>;
61
+ }
62
+ export { ContainerMCPServer };
63
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAoBA;;;;;GAKG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAS;;IAcvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAibnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAoBZ,oBAAoB;YAmBpB,kBAAkB;YAoBlB,qBAAqB;YAerB,qBAAqB;YAcrB,qBAAqB;YAYrB,mBAAmB;YAcnB,oBAAoB;YAepB,oBAAoB;YAmBpB,gBAAgB;YAmBhB,kBAAkB;YAclB,wBAAwB;YAkBxB,oBAAoB;YAiBpB,gBAAgB;YAgBhB,gBAAgB;YAgBhB,gBAAgB;YAYhB,sBAAsB;YAmBtB,mBAAmB;YAmBnB,wBAAwB;IAiBtC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB7B;AAWD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}