Skip to main content
Glama

1MCP Server

index.ts3.37 kB
import { GlobalOptions, globalOptions } from '@src/globalOptions.js'; import { configureGlobalLogger } from '@src/logger/configureGlobalLogger.js'; import type { Argv } from 'yargs'; import { registryOptions } from './options.js'; import { buildSearchCommand, searchCommand, SearchCommandArgs } from './search.js'; import { buildShowCommand, showCommand, ShowCommandCliArgs } from './show.js'; import { buildStatusCommand, registryStatusCommand, RegistryStatusCommandArgs } from './status.js'; import { buildVersionsCommand, versionsCommand, VersionsCommandCliArgs } from './versions.js'; /** * Set up registry commands with their specific options */ export function setupRegistryCommands(yargs: Argv): Argv { return yargs.command( 'registry', 'Manage MCP registry operations', (registryYargs) => { return registryYargs .options(globalOptions) .options(registryOptions) .env('ONE_MCP') // Parse all ONE_MCP env vars but filter out server options .strict(false) // Allow unknown options to prevent port error .command( 'search [query]', 'Search for MCP servers in the official registry', (searchYargs) => { return buildSearchCommand( searchYargs.options({ ...globalOptions, ...registryOptions, }), ); }, async (argv) => { configureGlobalLogger(argv as GlobalOptions); await searchCommand(argv as unknown as SearchCommandArgs); }, ) .command( 'status', 'Show registry availability status and optional statistics', (statusYargs) => { return buildStatusCommand( statusYargs.options({ ...globalOptions, ...registryOptions, }), ); }, async (argv) => { configureGlobalLogger(argv as GlobalOptions); await registryStatusCommand(argv as unknown as RegistryStatusCommandArgs); }, ) .command({ command: 'show <server-id>', describe: 'Show detailed information about a specific MCP server', builder: (yargs) => buildShowCommand( yargs.options({ ...globalOptions, ...registryOptions, }), ), handler: async (argv) => { configureGlobalLogger(argv as GlobalOptions); await showCommand(argv as unknown as ShowCommandCliArgs); }, }) .command({ command: 'versions <server-id>', describe: 'List all available versions for a specific MCP server', builder: (yargs) => buildVersionsCommand( yargs.options({ ...globalOptions, ...registryOptions, }), ), handler: async (argv) => { configureGlobalLogger(argv as GlobalOptions); await versionsCommand(argv as unknown as VersionsCommandCliArgs); }, }) .demandCommand(1, 'You must specify a registry command') .help(); }, () => { // Default handler - show help console.log('Use --help to see available registry commands'); }, ); }

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