Skip to main content
Glama

AutoProbeMCP

by Wladastic
quick-ai-test.mjs3.43 kB
#!/usr/bin/env node /** * Quick test for AI analysis functionality */ import { spawn } from 'child_process'; class QuickAITest { constructor() { this.requestId = 1; } async testAIAnalysis() { console.log('🤖 Testing AI Screenshot Analysis...'); const mcpProcess = spawn('node', ['build/index.js'], { stdio: ['pipe', 'pipe', 'pipe'], cwd: process.cwd() }); mcpProcess.stderr.on('data', (data) => { const message = data.toString().trim(); if (message && !message.includes('MCP Browser Server running')) { console.log('🔧 Server:', message); } }); // Wait for server to start await new Promise(resolve => setTimeout(resolve, 2000)); try { // Test 1: Launch browser console.log('\n1️⃣ Launching browser...'); await this.sendRequest(mcpProcess, 'tools/call', { name: 'launch_browser', arguments: { browser: 'chromium', headless: true } }); // Test 2: Navigate to a simple page console.log('\n2️⃣ Navigating to example.com...'); await this.sendRequest(mcpProcess, 'tools/call', { name: 'navigate', arguments: { url: 'https://example.com' } }); // Test 3: AI Analysis console.log('\n3️⃣ Performing AI analysis...'); const response = await this.sendRequest(mcpProcess, 'tools/call', { name: 'analyze_screenshot', arguments: { fullPage: false, pretext: "Describe what you see on this webpage" } }); if (response && response.content && response.content[0]) { console.log('✅ AI Analysis Result:'); console.log(response.content[0].text); } // Test 4: Close browser console.log('\n4️⃣ Closing browser...'); await this.sendRequest(mcpProcess, 'tools/call', { name: 'close_browser', arguments: {} }); } catch (error) { console.error('❌ Test failed:', error); } finally { mcpProcess.kill(); console.log('\n🛑 Test completed'); } } async sendRequest(process, method, params) { return new Promise((resolve, reject) => { const request = { jsonrpc: '2.0', id: this.requestId++, method, params }; let responseReceived = false; const timeout = setTimeout(() => { if (!responseReceived) { reject(new Error('Request timeout')); } }, 30000); const dataHandler = (data) => { const responseText = data.toString(); try { const response = JSON.parse(responseText); if (response.id === request.id) { responseReceived = true; clearTimeout(timeout); process.stdout.removeListener('data', dataHandler); if (response.error) { console.error('❌ Error:', response.error.message); reject(new Error(response.error.message)); } else { console.log('✅ Success'); resolve(response.result); } } } catch (e) { // Ignore JSON parse errors for partial responses } }; process.stdout.on('data', dataHandler); process.stdin.write(JSON.stringify(request) + '\n'); }); } } // Run the test const test = new QuickAITest(); test.testAIAnalysis().catch(console.error);

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wladastic/AutoProbeMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server