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
JavaScript
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();
}