@172ai/containers-mcp-server 1.12.1 → 1.12.2
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.
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP Tool Testing Client
|
|
4
|
+
*
|
|
5
|
+
* This script properly tests MCP tools by creating an MCP client connection
|
|
6
|
+
* and sending requests via the MCP protocol (not raw JSON-RPC).
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* node scripts/test-mcp-tools.js <tool-name> <json-arguments>
|
|
10
|
+
*
|
|
11
|
+
* Example:
|
|
12
|
+
* node scripts/test-mcp-tools.js explain_build_logs '{"containerId":"abc","buildId":"123"}'
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=test-mcp-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-mcp-tools.d.ts","sourceRoot":"","sources":["../../src/scripts/test-mcp-tools.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* MCP Tool Testing Client
|
|
5
|
+
*
|
|
6
|
+
* This script properly tests MCP tools by creating an MCP client connection
|
|
7
|
+
* and sending requests via the MCP protocol (not raw JSON-RPC).
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* node scripts/test-mcp-tools.js <tool-name> <json-arguments>
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
* node scripts/test-mcp-tools.js explain_build_logs '{"containerId":"abc","buildId":"123"}'
|
|
14
|
+
*/
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
|
|
20
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js");
|
|
21
|
+
const path_1 = __importDefault(require("path"));
|
|
22
|
+
const __dirname = path_1.default.dirname(__filename);
|
|
23
|
+
// Parse command line arguments
|
|
24
|
+
const toolName = process.argv[2];
|
|
25
|
+
const argsJson = process.argv[3] || '{}';
|
|
26
|
+
if (!toolName) {
|
|
27
|
+
console.error('Usage: node test-mcp-tools.js <tool-name> <json-arguments>');
|
|
28
|
+
console.error('');
|
|
29
|
+
console.error('Example:');
|
|
30
|
+
console.error(' node test-mcp-tools.js explain_build_logs \'{"containerId":"abc","buildId":"123"}\'');
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
let args;
|
|
34
|
+
try {
|
|
35
|
+
args = JSON.parse(argsJson);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error('Error: Invalid JSON arguments');
|
|
39
|
+
console.error(error);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
async function testMCPTool() {
|
|
43
|
+
// Path to the MCP server CLI
|
|
44
|
+
const serverPath = path_1.default.join(__dirname, '..', '..', 'cli.js');
|
|
45
|
+
console.error(`🔧 Starting MCP server from: ${serverPath}`);
|
|
46
|
+
console.error(`📞 Calling tool: ${toolName}`);
|
|
47
|
+
console.error(`📋 Arguments: ${JSON.stringify(args, null, 2)}`);
|
|
48
|
+
console.error('');
|
|
49
|
+
// Create transport
|
|
50
|
+
const transport = new stdio_js_1.StdioClientTransport({
|
|
51
|
+
command: 'node',
|
|
52
|
+
args: [serverPath]
|
|
53
|
+
});
|
|
54
|
+
// Create client
|
|
55
|
+
const client = new index_js_1.Client({
|
|
56
|
+
name: 'mcp-test-client',
|
|
57
|
+
version: '1.0.0'
|
|
58
|
+
});
|
|
59
|
+
try {
|
|
60
|
+
// Connect to server
|
|
61
|
+
console.error('🔌 Connecting to MCP server...');
|
|
62
|
+
await client.connect(transport);
|
|
63
|
+
console.error('✅ Connected to MCP server');
|
|
64
|
+
console.error('');
|
|
65
|
+
// List available tools (for debugging)
|
|
66
|
+
console.error('📝 Listing available tools...');
|
|
67
|
+
const toolsList = await client.listTools();
|
|
68
|
+
const toolExists = toolsList.tools.some(t => t.name === toolName);
|
|
69
|
+
if (!toolExists) {
|
|
70
|
+
console.error(`❌ Tool "${toolName}" not found`);
|
|
71
|
+
console.error('');
|
|
72
|
+
console.error('Available tools:');
|
|
73
|
+
toolsList.tools.forEach(t => {
|
|
74
|
+
console.error(` - ${t.name}`);
|
|
75
|
+
});
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
console.error(`✅ Tool "${toolName}" found`);
|
|
79
|
+
console.error('');
|
|
80
|
+
// Call the tool
|
|
81
|
+
console.error('🚀 Calling tool...');
|
|
82
|
+
const startTime = Date.now();
|
|
83
|
+
const result = await client.callTool({
|
|
84
|
+
name: toolName,
|
|
85
|
+
arguments: args
|
|
86
|
+
});
|
|
87
|
+
const duration = Date.now() - startTime;
|
|
88
|
+
console.error(`✅ Tool completed in ${duration}ms`);
|
|
89
|
+
console.error('');
|
|
90
|
+
// Output result
|
|
91
|
+
console.error('📤 Result:');
|
|
92
|
+
console.error('---');
|
|
93
|
+
console.log(JSON.stringify(result, null, 2));
|
|
94
|
+
console.error('---');
|
|
95
|
+
console.error('');
|
|
96
|
+
// Close connection
|
|
97
|
+
await client.close();
|
|
98
|
+
console.error('👋 Connection closed');
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error('❌ Error:', error.message);
|
|
103
|
+
if (error.stack) {
|
|
104
|
+
console.error('');
|
|
105
|
+
console.error('Stack trace:');
|
|
106
|
+
console.error(error.stack);
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
await client.close();
|
|
110
|
+
}
|
|
111
|
+
catch (closeError) {
|
|
112
|
+
// Ignore close errors
|
|
113
|
+
}
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Run the test
|
|
118
|
+
testMCPTool().catch(error => {
|
|
119
|
+
console.error('Fatal error:', error);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=test-mcp-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-mcp-tools.js","sourceRoot":"","sources":["../../src/scripts/test-mcp-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@172ai/containers-mcp-server",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.2",
|
|
4
4
|
"description": "MCP server for 172.ai container management platform - enables AI assistants to manage containers, builds, and files with comprehensive workflow prompts",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|