Skip to main content
Glama

Claude Desktop Commander MCP

test_enhanced_read.js4 kB
// Test script to verify enhanced file reading import { readFileInternal } from '../dist/tools/filesystem.js'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; // Get the test directory path const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const TEST_FILE_PATH = join(__dirname, 'test_output', 'file_with_1500_lines.txt'); async function testEnhancedReading() { let testsPassed = 0; let totalTests = 3; console.log('Testing enhanced file reading with our 1500-line file...'); try { // Test 1: Read first 10 lines console.log('\n=== Test 1: Read first 10 lines ==='); try { const result1 = await readFileInternal(TEST_FILE_PATH, 0, 10); console.log('Result length:', result1.length); console.log('First few lines of result:'); console.log(result1.substring(0, 200) + '...'); // Validate the result const lines = result1.split('\n').filter(line => line.length > 0); if (lines.length === 10 && lines[0].includes('line 1')) { testsPassed++; console.log('✓ Test 1 PASSED'); } else { throw new Error(`Expected 10 lines starting with line 1, got ${lines.length} lines`); } } catch (error) { console.error('✗ Test 1 FAILED:', error.message); } // Test 2: Read from middle with offset console.log('\n=== Test 2: Read from offset 500, length 5 ==='); try { const result2 = await readFileInternal(TEST_FILE_PATH, 500, 5); console.log('Result length:', result2.length); console.log('First few lines of result:'); console.log(result2.substring(0, 200) + '...'); // Validate the result const lines = result2.split('\n').filter(line => line.length > 0); if (lines.length === 5 && lines[0].includes('line 501')) { testsPassed++; console.log('✓ Test 2 PASSED'); } else { throw new Error(`Expected 5 lines starting with line 501, got ${lines.length} lines, first line: ${lines[0]}`); } } catch (error) { console.error('✗ Test 2 FAILED:', error.message); } // Test 3: Read last 10 lines (using positive offset: 1490 for lines 1491-1500) console.log('\n=== Test 3: Read last 10 lines (lines 1491-1500) ==='); try { const result3 = await readFileInternal(TEST_FILE_PATH, 1490, 10); console.log('Result length:', result3.length); console.log('First few lines of result:'); console.log(result3.substring(0, 300) + '...'); // Validate the result const lines = result3.split('\n').filter(line => line.length > 0); if (lines.length === 10 && lines[0].includes('line 1491') && lines[9].includes('line 1500')) { testsPassed++; console.log('✓ Test 3 PASSED'); } else { throw new Error(`Expected 10 lines from 1491 to 1500, got ${lines.length} lines, first line: ${lines[0]}, last line: ${lines[lines.length-1]}`); } } catch (error) { console.error('✗ Test 3 FAILED:', error.message); } // Summary console.log(`\n=== SUMMARY ===`); console.log(`Tests passed: ${testsPassed}/${totalTests}`); if (testsPassed === totalTests) { console.log('🎉 All tests PASSED!'); process.exit(0); } else { console.log('❌ Some tests FAILED!'); process.exit(1); } } catch (error) { console.error('❌ Test suite failed with error:', error); process.exit(1); } } testEnhancedReading().catch(console.error);

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wonderwhy-er/DesktopCommanderMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server