Skip to main content
Glama
by clipsense
test-with-video.jsโ€ข4.33 kB
#!/usr/bin/env node /** * Simple MCP Server Test with Local Video * Based on previous testing approach from test_pipeline.py */ import { ClipSenseClient } from './dist/client.js'; import { existsSync, statSync } from 'fs'; const VIDEO_PATH = process.argv[2] || '/Users/jerlitaburanday/clipsense/test-video.mp4'; const API_KEY = process.env.CLIPSENSE_API_KEY; async function testMCPServer() { console.log('๐Ÿงช ClipSense MCP Server - Video Analysis Test\n'); console.log('='.repeat(70)); // Step 1: Check API key console.log('\n๐Ÿ“‹ Step 1: Verifying API Key...'); if (!API_KEY) { console.error('โŒ No API key found!'); console.error('\nPlease set your API key:'); console.error(' export CLIPSENSE_API_KEY="cs_sk_YOUR_KEY_HERE"'); console.error('\nTo get an API key, provide your email below and check backend logs:'); console.error(' curl -X POST "https://api.clipsense.app/api/v1/keys/request" \\'); console.error(' -H "Content-Type: application/json" \\'); console.error(' -d \'{"email":"your-email@example.com"}\''); process.exit(1); } console.log(`โœ… API key found: ${API_KEY.substring(0, 15)}...`); // Step 2: Check video file console.log('\n๐Ÿ“‹ Step 2: Verifying Video File...'); if (!existsSync(VIDEO_PATH)) { console.error(`โŒ Video file not found: ${VIDEO_PATH}`); console.error('\nAvailable videos:'); console.error(' - /Users/jerlitaburanday/clipsense/test-video.mp4 (3.8MB)'); console.error(' - /Users/jerlitaburanday/clipsense/input.mov (13MB)'); console.error(' - /Users/jerlitaburanday/Pictures/ASUGradBlastClip2.mp4 (147MB)'); console.error('\nUsage: node test-with-video.js [video-path]'); process.exit(1); } const stats = statSync(VIDEO_PATH); const sizeMB = (stats.size / 1024 / 1024).toFixed(2); console.log(`โœ… Video found: ${VIDEO_PATH}`); console.log(`๐Ÿ“Š Size: ${sizeMB} MB`); if (stats.size > 500 * 1024 * 1024) { console.error('โŒ Video exceeds 500MB limit'); process.exit(1); } // Step 3: Initialize MCP client console.log('\n๐Ÿ“‹ Step 3: Initializing ClipSense Client...'); const client = new ClipSenseClient(API_KEY); console.log('โœ… Client initialized'); // Step 4: Analyze video console.log('\n๐Ÿ“‹ Step 4: Starting Video Analysis...'); console.log('โณ This will take 2-3 minutes...\n'); const startTime = Date.now(); try { const result = await client.analyzeVideo( VIDEO_PATH, 'Analyze this video and describe what you see. Identify any issues or bugs.' ); const duration = ((Date.now() - startTime) / 1000).toFixed(1); console.log('\n' + '='.repeat(70)); console.log('โœ… ANALYSIS COMPLETE'); console.log('='.repeat(70)); console.log(`\n๐Ÿ“Š Job ID: ${result.jobId}`); console.log(`โฑ๏ธ Duration: ${duration}s\n`); console.log('๐Ÿ“ Analysis Result:\n'); console.log(result.analysis); console.log('\n' + '='.repeat(70)); console.log('โœ… MCP Server Test PASSED'); console.log('='.repeat(70)); console.log('\n๐Ÿ’ก Next Steps:'); console.log(' โ€ข View full analysis at: https://clipsense.app/results/' + result.jobId); console.log(' โ€ข Try another video with: node test-with-video.js <path>'); } catch (error) { const duration = ((Date.now() - startTime) / 1000).toFixed(1); console.log('\n' + '='.repeat(70)); console.log('โŒ ANALYSIS FAILED'); console.log('='.repeat(70)); console.log(`\nโฑ๏ธ Duration: ${duration}s`); console.log(`โŒ Error: ${error.message}\n`); if (error.response) { console.log(`HTTP Status: ${error.response.status}`); console.log(`Response: ${JSON.stringify(error.response.data, null, 2)}`); } console.log('\n' + '='.repeat(70)); console.log('โŒ MCP Server Test FAILED'); console.log('='.repeat(70)); console.log('\n๐Ÿ” Troubleshooting:'); console.log(' โ€ข Check API key is valid'); console.log(' โ€ข Verify backend is healthy: https://api.clipsense.app/health'); console.log(' โ€ข Check worker is running for job processing'); console.log(' โ€ข Review backend logs: railway logs --service clipsense'); process.exit(1); } } testMCPServer().catch(error => { console.error('โŒ Fatal error:', error); process.exit(1); });

Latest Blog Posts

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/clipsense/-mcp-server'

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