Skip to main content
Glama

OpenAI MCP Server

by bhjo0930
call-gpt5-tool.ts2.77 kB
import { z } from 'zod'; import { BaseTool, ToolDefinition, ToolResponse } from './base-tool.js'; import { OpenAIClient } from '../openai-client.js'; import { PromptOptimizer } from '../prompt-optimizer.js'; const CallGPT5Schema = z.object({ prompt: z.string().describe('User prompt/question'), taskType: z.enum(['analysis', 'generation', 'reasoning', 'coding']).describe('Type of task'), domain: z.string().optional().describe('Specific domain (e.g., security, performance)'), context: z.record(z.any()).optional().describe('Additional context from Claude session'), customSystemPrompt: z.string().optional().describe('Custom system prompt override'), optimizationLevel: z.enum(['balanced', 'creative', 'precise']).optional().describe('Response optimization level'), temperature: z.number().min(0).max(2).optional().describe('Response creativity (0-2)'), maxTokens: z.number().positive().optional().describe('Maximum response tokens'), model: z.string().optional().describe('Override model (e.g., gpt-4o, gpt-4, gpt-5)'), reasoningEffort: z.enum(['minimal', 'low', 'medium', 'high']).optional().describe('GPT-5 reasoning effort level'), verbosity: z.enum(['low', 'medium', 'high']).optional().describe('GPT-5 response verbosity level') }); export class CallGPT5Tool extends BaseTool { readonly definition: ToolDefinition = { name: 'call_gpt5', description: 'Call OpenAI models (GPT-5 default, GPT-4o/GPT-4 available) with optimized system prompts and GPT-5 reasoning features', inputSchema: CallGPT5Schema }; constructor( private openaiClient: OpenAIClient, private promptOptimizer: PromptOptimizer ) { super(); } async execute(args: z.infer<typeof CallGPT5Schema>): Promise<ToolResponse> { try { let systemPrompt: string; if (args.customSystemPrompt) { systemPrompt = args.customSystemPrompt; } else { systemPrompt = this.promptOptimizer.optimizeSystemPrompt({ taskType: args.taskType, domain: args.domain, context: args.context, optimizationLevel: args.optimizationLevel || 'balanced', claudeContext: args.context?.claudeSession ? String(args.context.claudeSession) : undefined }); } const response = await this.openaiClient.chat({ prompt: args.prompt, systemPrompt, temperature: args.temperature, maxTokens: args.maxTokens, model: args.model, reasoningEffort: args.reasoningEffort, verbosity: args.verbosity }); return this.createSuccessResponse(response.content); } catch (error) { return this.createErrorResponse(`GPT-5 call failed: ${error instanceof Error ? error.message : 'Unknown error'}`); } } }

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