Skip to main content
Glama

1MCP Server

list.ts4.68 kB
import { APP_PRESETS, getConfigurableApps, getManualOnlyApps, showPlatformWarningIfNeeded, } from '@src/domains/discovery/appPresets.js'; import { GlobalOptions } from '@src/globalOptions.js'; import type { Argv } from 'yargs'; /** * List command - Display supported desktop applications. * * Shows all supported applications with their consolidation status * (automatic vs manual setup required). */ interface ListOptions extends GlobalOptions { 'configurable-only': boolean; 'manual-only': boolean; } /** * Build the list command configuration */ export function buildListCommand(yargs: Argv) { return yargs .option('configurable-only', { describe: 'Show only apps that support automatic consolidation', type: 'boolean', default: false, }) .option('manual-only', { describe: 'Show only apps that require manual setup', type: 'boolean', default: false, }) .example([ ['$0 app list', 'List all supported applications'], ['$0 app list --configurable-only', 'List only auto-configurable apps'], ['$0 app list --manual-only', 'List only manual setup apps'], ]); } /** * Main list command handler */ export async function listCommand(options: ListOptions): Promise<void> { // Show platform warning if needed showPlatformWarningIfNeeded(); console.log('📱 Supported Desktop Applications for MCP Consolidation\n'); if (options['configurable-only']) { showConfigurableApps(); } else if (options['manual-only']) { showManualOnlyApps(); } else { showAllApps(); } console.log('\n💡 Usage:'); console.log(' npx @1mcp/agent app consolidate <app-name>'); console.log(' npx @1mcp/agent app discover # Find installed apps'); } /** * Show all supported applications */ function showAllApps(): void { const configurableApps = getConfigurableApps(); const manualApps = getManualOnlyApps(); if (configurableApps.length > 0) { console.log('✅ Auto-Configurable Applications (Automatic Consolidation):'); configurableApps.forEach((appName) => { const preset = APP_PRESETS[appName]; console.log(` ${preset.name.padEnd(15)} - ${preset.displayName}`); }); } if (manualApps.length > 0) { console.log('\n🔧 Manual Setup Applications (Instructions Provided):'); manualApps.forEach((appName) => { const preset = APP_PRESETS[appName]; console.log(` ${preset.name.padEnd(15)} - ${preset.displayName}`); }); } console.log(`\n📊 Total: ${configurableApps.length + manualApps.length} applications supported`); console.log(` ✅ Auto-configurable: ${configurableApps.length}`); console.log(` 🔧 Manual setup: ${manualApps.length}`); } /** * Show only configurable applications */ function showConfigurableApps(): void { const configurableApps = getConfigurableApps(); console.log('✅ Auto-Configurable Applications:\n'); console.log('These applications support automatic MCP server consolidation.\n'); if (configurableApps.length === 0) { console.log('No auto-configurable applications found.'); return; } configurableApps.forEach((appName) => { const preset = APP_PRESETS[appName]; console.log(`📱 ${preset.displayName} (${preset.name})`); // Show configuration locations const locations = preset.locations .filter((loc) => loc.platform === 'all' || loc.platform === process.platform) .sort((a, b) => b.priority - a.priority); if (locations.length > 0) { console.log(' Configuration locations:'); locations.forEach((loc) => { console.log(` ${loc.level}: ${loc.path}`); }); } console.log(); }); console.log(`📊 ${configurableApps.length} auto-configurable applications available.`); } /** * Show only manual setup applications */ function showManualOnlyApps(): void { const manualApps = getManualOnlyApps(); console.log('🔧 Manual Setup Applications:\n'); console.log('These applications require manual configuration with provided instructions.\n'); if (manualApps.length === 0) { console.log('No manual setup applications found.'); return; } manualApps.forEach((appName) => { const preset = APP_PRESETS[appName]; console.log(`📱 ${preset.displayName} (${preset.name})`); console.log(' Requires manual setup - instructions will be provided during consolidation.'); console.log(); }); console.log(`📊 ${manualApps.length} manual setup applications available.`); console.log('\n💡 To get setup instructions for a manual app:'); console.log(' npx @1mcp/agent app consolidate <app-name> --manual-only'); }

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/1mcp-app/agent'

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