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);
|
||
|
||
|