Skip to main content
Glama

MCP Orchestration Server

final_test.htmlโ€ข7.85 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Final Connection Test</title> <style> body { font-family: Arial, sans-serif; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; min-height: 100vh; } .container { max-width: 800px; margin: 0 auto; background: rgba(255,255,255,0.1); padding: 30px; border-radius: 15px; backdrop-filter: blur(10px); } h1 { text-align: center; margin-bottom: 30px; } button { background: #28a745; color: white; border: none; padding: 15px 30px; margin: 10px; border-radius: 8px; cursor: pointer; font-size: 16px; transition: all 0.3s; } button:hover { background: #218838; transform: translateY(-2px); } .result { margin: 15px 0; padding: 15px; border-radius: 8px; font-family: monospace; } .success { background: rgba(40, 167, 69, 0.8); } .error { background: rgba(220, 53, 69, 0.8); } .info { background: rgba(23, 162, 184, 0.8); } .status { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 20px 0; } .status-card { background: rgba(255,255,255,0.1); padding: 20px; border-radius: 10px; text-align: center; } .icon { font-size: 48px; margin-bottom: 10px; } pre { background: rgba(0,0,0,0.3); padding: 10px; border-radius: 5px; overflow-x: auto; } </style> </head> <body> <div class="container"> <h1>๐ŸŽฏ Final Connection Test</h1> <p style="text-align: center;">Testing BlackHole Core MCP Frontend-Backend Connection</p> <div class="status"> <div class="status-card"> <div class="icon">๐Ÿš€</div> <h3>Server</h3> <div id="serverStatus">Testing...</div> </div> <div class="status-card"> <div class="icon">๐Ÿ—„๏ธ</div> <h3>Database</h3> <div id="dbStatus">Testing...</div> </div> <div class="status-card"> <div class="icon">๐ŸŒ</div> <h3>Connection</h3> <div id="connectionStatus">Testing...</div> </div> </div> <div style="text-align: center;"> <button onclick="runFullTest()">๐Ÿงช Run Full Test</button> <button onclick="testUpload()">๐Ÿ“„ Test Upload</button> <button onclick="clearResults()">๐Ÿ—‘๏ธ Clear</button> </div> <div id="results"></div> </div> <script> function addResult(message, type = 'info', details = '') { const results = document.getElementById('results'); const div = document.createElement('div'); div.className = `result ${type}`; div.innerHTML = ` <strong>${new Date().toLocaleTimeString()}: ${message}</strong> ${details ? `<pre>${details}</pre>` : ''} `; results.appendChild(div); } function updateStatus(elementId, status, message) { const element = document.getElementById(elementId); element.innerHTML = `<div class="${status}">${message}</div>`; } function clearResults() { document.getElementById('results').innerHTML = ''; } async function runFullTest() { addResult('๐Ÿš€ Starting comprehensive connection test...', 'info'); try { // Test 1: Basic connection addResult('1๏ธโƒฃ Testing basic connection...', 'info'); const response = await fetch('http://localhost:8000/api/health'); if (response.ok) { const data = await response.json(); addResult('โœ… Connection successful!', 'success', `Status: ${response.status}\n` + `MongoDB: ${data.mongodb}\n` + `Timestamp: ${data.timestamp}` ); updateStatus('serverStatus', 'success', 'โœ… Online'); updateStatus('dbStatus', 'success', `โœ… ${data.mongodb}`); updateStatus('connectionStatus', 'success', 'โœ… Working'); // Test 2: API endpoints addResult('2๏ธโƒฃ Testing API endpoints...', 'info'); await testEndpoints(); } else { addResult('โŒ Connection failed!', 'error', `HTTP ${response.status}`); updateStatus('serverStatus', 'error', 'โŒ Error'); updateStatus('connectionStatus', 'error', 'โŒ Failed'); } } catch (error) { addResult('โŒ Connection error!', 'error', error.message); updateStatus('serverStatus', 'error', 'โŒ Offline'); updateStatus('connectionStatus', 'error', 'โŒ Failed'); } } async function testEndpoints() { const endpoints = [ { name: 'Health', url: '/api/health' }, { name: 'Test', url: '/api/test' }, { name: 'Results', url: '/api/results' } ]; for (const endpoint of endpoints) { try { const response = await fetch(`http://localhost:8000${endpoint.url}`); if (response.ok) { addResult(`โœ… ${endpoint.name} endpoint working`, 'success'); } else { addResult(`โŒ ${endpoint.name} endpoint failed`, 'error', `Status: ${response.status}`); } } catch (error) { addResult(`โŒ ${endpoint.name} endpoint error`, 'error', error.message); } } } async function testUpload() { addResult('๐Ÿ“„ Testing file upload...', 'info'); try { const formData = new FormData(); formData.append('file', new Blob(['Final test file content'], { type: 'text/plain' }), 'final-test.txt'); formData.append('enable_llm', 'false'); formData.append('save_to_db', 'true'); const response = await fetch('http://localhost:8000/api/process-document', { method: 'POST', body: formData }); if (response.ok) { const data = await response.json(); addResult('โœ… File upload successful!', 'success', JSON.stringify(data, null, 2)); } else { addResult('โŒ File upload failed!', 'error', `Status: ${response.status}`); } } catch (error) { addResult('โŒ File upload error!', 'error', error.message); } } // Auto-run test on page load window.addEventListener('load', function() { setTimeout(runFullTest, 1000); }); </script> </body> </html>

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/Nisarg-123-web/MCP2'

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