UNPKG

qeek-mcp

Version:

QEEK MCP Server - AI assistant for semantic codebase analysis and feature understanding. Connect to your QEEK Mastra service via Model Context Protocol.

88 lines (82 loc) 3.09 kB
#!/usr/bin/env node const { QeekMCPServer } = require('./server'); const { setup } = require('./setup'); const { testConnection } = require('./test'); const { version } = require('../package.json'); // Token management modules const TokenManager = require('./token-manager'); const command = process.argv[2]; const args = process.argv.slice(3); async function main() { try { console.error(`QEEK MCP Assistant v${version}`); switch (command) { case 'setup': await setup(); break; case 'test': await testConnection(); break; case 'get-token': // Run the token getter script const { spawn } = require('child_process'); const tokenProcess = spawn('node', ['./src/get-mcp-token.js'], { stdio: 'inherit', cwd: require('path').dirname(require.main.filename) }); tokenProcess.on('close', (code) => { process.exit(code); }); return; // Don't continue with normal flow case 'token-status': // Get token status const tokenManager = new TokenManager(); const status = await tokenManager.getTokenStatus(); console.error(`📊 Token Status: ${status.status}`); if (status.message) { console.error(`💬 ${status.message}`); } if (status.token) { console.error(`👤 User: ${status.token.email || 'Unknown'}`); console.error(`⏰ Expires: ${status.token.expiresAt.toLocaleString()}`); } break; case 'mcp': case 'server': // Start MCP server mode const server = new QeekMCPServer(); server.start(); break; default: // Default to MCP server mode if no command specified if (!command) { const server = new QeekMCPServer(); server.start(); } else { console.error(`❌ Unknown command: ${command}`); console.error(''); console.error('Available commands:'); console.error(' setup - Configure QEEK authentication'); console.error(' get-token - Interactive token setup'); console.error(' token-status - Check current token status'); console.error(' test - Test connection to QEEK API'); console.error(' mcp - Start MCP server (default)'); console.error(' server - Start MCP server (alias)'); console.error(''); console.error('Examples:'); console.error(' npx qeek-mcp setup # Initial setup'); console.error(' npx qeek-mcp get-token # Get/refresh token'); console.error(' npx qeek-mcp token-status # Check token status'); console.error(' npx qeek-mcp test # Test API connection'); console.error(' npx qeek-mcp # Start MCP server'); process.exit(1); } } } catch (error) { console.error('❌ Error:', error.message); process.exit(1); } } if (require.main === module) { main(); }