test-client.js•2.28 kB
#!/usr/bin/env node
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
async function testTreePodAgent() {
try {
console.log('🔗 Conectando al agente TreePod Financial MCP...\n');
const transport = new StdioClientTransport({
command: 'node',
args: ['server.js']
});
const client = new Client({
name: 'test-client',
version: '1.0.0'
});
await client.connect(transport);
console.log('✅ Conectado exitosamente al agente MCP\n');
// Listar herramientas disponibles
console.log('📋 Herramientas disponibles:');
const tools = await client.listTools();
tools.tools.forEach(tool => {
console.log(`• ${tool.name}: ${tool.description}`);
});
console.log('');
// Consultar estado del negocio
console.log('🎯 Consultando estado del negocio...\n');
const businessStatus = await client.callTool({
name: 'get_business_status',
arguments: {}
});
console.log('📊 RESPUESTA DEL AGENTE:');
console.log('='.repeat(50));
console.log(businessStatus.content[0].text);
console.log('='.repeat(50));
// Consultar análisis financiero
console.log('\n💰 Consultando análisis financiero...\n');
const financialAnalysis = await client.callTool({
name: 'analyze_finances',
arguments: {
period: 'julio 2025'
}
});
console.log('📈 ANÁLISIS FINANCIERO:');
console.log('='.repeat(50));
console.log(financialAnalysis.content[0].text);
console.log('='.repeat(50));
// Consultar ocupación
console.log('\n🏠 Consultando estado de ocupación...\n');
const occupancy = await client.callTool({
name: 'check_occupancy',
arguments: {
date_range: 'month'
}
});
console.log('🏕️ ESTADO DE OCUPACIÓN:');
console.log('='.repeat(50));
console.log(occupancy.content[0].text);
console.log('='.repeat(50));
await client.close();
console.log('\n✅ Prueba completada exitosamente');
} catch (error) {
console.error('❌ Error durante la prueba:', error.message);
}
}
testTreePodAgent();