Files
crm.clientright.ru/test_mcp_client.js

60 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

#!/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);