Skip to main content
Glama

OpenAI MCP Server

by bhjo0930
list-models-tool.ts2.14 kB
import { z } from 'zod'; import { BaseTool, ToolDefinition, ToolResponse } from './base-tool.js'; import { OpenAIClient } from '../openai-client.js'; const ListModelsSchema = z.object({ includeDetails: z.boolean().optional().describe('Include detailed model information') }); export class ListModelsTool extends BaseTool { readonly definition: ToolDefinition = { name: 'list_models', description: 'List available OpenAI models with metadata and capabilities', inputSchema: ListModelsSchema }; constructor(private openaiClient: OpenAIClient) { super(); } async execute(args: z.infer<typeof ListModelsSchema>): Promise<ToolResponse> { try { const models = await this.openaiClient.listModels(); if (args.includeDetails) { const detailedInfo = models.map(model => ({ id: model.id, created: new Date(model.created * 1000).toISOString(), ownedBy: model.owned_by, capabilities: this.getModelCapabilities(model.id) })); return this.createSuccessResponse( `Available OpenAI Models (Detailed):\n\n${JSON.stringify(detailedInfo, null, 2)}` ); } else { const modelList = models.map(model => `- ${model.id}`).join('\n'); return this.createSuccessResponse(`Available OpenAI Models:\n\n${modelList}`); } } catch (error) { return this.createErrorResponse(`Failed to list models: ${error instanceof Error ? error.message : 'Unknown error'}`); } } private getModelCapabilities(modelId: string): string[] { const capabilities: string[] = []; if (modelId.includes('gpt-5')) { capabilities.push('reasoning', 'advanced-analysis', 'high-creativity'); } if (modelId.includes('gpt-4')) { capabilities.push('multimodal', 'code-generation', 'analysis'); } if (modelId.includes('gpt-3.5')) { capabilities.push('chat', 'text-completion', 'fast-responses'); } if (modelId.includes('davinci') || modelId.includes('text-')) { capabilities.push('text-completion', 'fine-tuning'); } return capabilities; } }

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/bhjo0930/openai_mcp'

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