60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
|
|
#!/usr/bin/env node
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Тестовый клиент для MCP сервера Typebot
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
const { spawn } = require('child_process');
|
|||
|
|
|
|||
|
|
async function testMCPConnection() {
|
|||
|
|
console.log('🔍 Тестирование MCP сервера Typebot...\n');
|
|||
|
|
|
|||
|
|
// Команда для запуска MCP сервера
|
|||
|
|
const mcpCommand = 'ssh';
|
|||
|
|
const mcpArgs = [
|
|||
|
|
'dev@5.129.228.142',
|
|||
|
|
'cd /home/dev/mcp-typebot && TYPEBOT_TOKEN=iTTDoxKe0pUwNJ7pNUOEEaO2 TYPEBOT_WORKSPACE_ID=cmfhzzsec0000qj1c8apfigkj TYPEBOT_API_URL=https://typebot.klientprav.tech npx ts-node src/index.ts'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
console.log('Команда:', mcpCommand, mcpArgs.join(' '));
|
|||
|
|
|
|||
|
|
const mcpProcess = spawn(mcpCommand, mcpArgs, {
|
|||
|
|
stdio: ['pipe', 'pipe', 'pipe']
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// Отправляем тестовый запрос
|
|||
|
|
const testRequest = {
|
|||
|
|
jsonrpc: "2.0",
|
|||
|
|
id: 1,
|
|||
|
|
method: "tools/list",
|
|||
|
|
params: {}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
console.log('📤 Отправляем запрос:', JSON.stringify(testRequest, null, 2));
|
|||
|
|
|
|||
|
|
mcpProcess.stdin.write(JSON.stringify(testRequest) + '\n');
|
|||
|
|
|
|||
|
|
mcpProcess.stdout.on('data', (data) => {
|
|||
|
|
console.log('📥 Получен ответ:', data.toString());
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
mcpProcess.stderr.on('data', (data) => {
|
|||
|
|
console.log('❌ Ошибка:', data.toString());
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
mcpProcess.on('close', (code) => {
|
|||
|
|
console.log(`\n🔚 Процесс завершен с кодом: ${code}`);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// Закрываем через 10 секунд
|
|||
|
|
setTimeout(() => {
|
|||
|
|
mcpProcess.kill();
|
|||
|
|
console.log('\n⏰ Таймаут - закрываем соединение');
|
|||
|
|
}, 10000);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Запускаем тест
|
|||
|
|
testMCPConnection().catch(console.error);
|
|||
|
|
|
|||
|
|
|