Major refactor: Multi-user Chrome MCP extension with remote server architecture
This commit is contained in:
98
test-server-connection.js
Normal file
98
test-server-connection.js
Normal file
@@ -0,0 +1,98 @@
|
||||
/**
|
||||
* Test MCP server connection and Chrome extension availability
|
||||
*/
|
||||
|
||||
const MCP_HTTP_URL = 'http://localhost:3001/mcp';
|
||||
|
||||
async function testServerConnection() {
|
||||
console.log('🔌 Testing MCP Server Connection');
|
||||
console.log('================================');
|
||||
|
||||
try {
|
||||
console.log('1️⃣ Testing server availability...');
|
||||
|
||||
const response = await fetch(MCP_HTTP_URL, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Accept: 'application/json, text/event-stream',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
jsonrpc: '2.0',
|
||||
id: 1,
|
||||
method: 'initialize',
|
||||
params: {
|
||||
protocolVersion: '2024-11-05',
|
||||
capabilities: {},
|
||||
clientInfo: {
|
||||
name: 'connection-test',
|
||||
version: '1.0.0',
|
||||
},
|
||||
},
|
||||
}),
|
||||
});
|
||||
|
||||
console.log(` Server response status: ${response.status}`);
|
||||
|
||||
if (!response.ok) {
|
||||
console.log(`❌ Server not responding properly. Status: ${response.status}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const result = await response.json();
|
||||
console.log('✅ Server is responding');
|
||||
console.log(` Response:`, JSON.stringify(result, null, 2));
|
||||
|
||||
// Test if Chrome extension tools are available
|
||||
console.log('\n2️⃣ Testing Chrome extension tools availability...');
|
||||
|
||||
const toolsResponse = await fetch(MCP_HTTP_URL, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Accept: 'application/json, text/event-stream',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
jsonrpc: '2.0',
|
||||
id: 2,
|
||||
method: 'tools/list',
|
||||
params: {},
|
||||
}),
|
||||
});
|
||||
|
||||
const toolsResult = await toolsResponse.json();
|
||||
|
||||
if (toolsResult.result && toolsResult.result.tools) {
|
||||
console.log('✅ Tools are available');
|
||||
console.log(` Available tools: ${toolsResult.result.tools.length}`);
|
||||
|
||||
const chromeTools = toolsResult.result.tools.filter(
|
||||
(tool) => tool.name.includes('chrome') || tool.name.includes('navigate'),
|
||||
);
|
||||
|
||||
console.log(` Chrome-related tools: ${chromeTools.length}`);
|
||||
chromeTools.forEach((tool) => {
|
||||
console.log(` - ${tool.name}: ${tool.description}`);
|
||||
});
|
||||
|
||||
if (chromeTools.length > 0) {
|
||||
console.log('✅ Chrome extension appears to be connected');
|
||||
} else {
|
||||
console.log('❌ No Chrome tools found - extension may not be connected');
|
||||
}
|
||||
} else {
|
||||
console.log('❌ No tools available - Chrome extension likely not connected');
|
||||
console.log(' Tools response:', JSON.stringify(toolsResult, null, 2));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(`❌ Connection test failed: ${error.message}`);
|
||||
console.log('\nTroubleshooting steps:');
|
||||
console.log('1. Make sure the MCP server is running: npm start in remote-server directory');
|
||||
console.log('2. Make sure the Chrome extension is loaded and enabled');
|
||||
console.log('3. Make sure the Chrome extension is connected to the MCP server');
|
||||
console.log('4. Check the Chrome extension popup for connection status');
|
||||
}
|
||||
}
|
||||
|
||||
// Run the connection test
|
||||
testServerConnection().catch(console.error);
|
Reference in New Issue
Block a user