OpenRouter MCP Server

import { ModelCache } from '../model-cache.js'; import { ToolResult } from '../types.js'; // Import the unified type export interface ValidateModelToolRequest { model: string; } // Update function signature to return Promise<ToolResult> export async function handleValidateModel( request: { params: { arguments: ValidateModelToolRequest } }, modelCache: ModelCache ): Promise<ToolResult> { const { model } = request.params.arguments; // Wrap core logic in try...catch try { const isValid = await modelCache.validateModel(model); // Modify return logic based on validity if (isValid) { // Return success ToolResult return { isError: false, content: [ { type: 'text', // Keep simple JSON for valid response text: JSON.stringify({ model: model, valid: true }, null, 2), }, ], }; } else { // Return error ToolResult for invalid model return { isError: true, content: [ { type: 'text', // Use simple error string text: `Error: Model not found: ${model}`, }, ], }; } } catch (error) { // Catch errors during model validation console.error(`Error validating model ${model}:`, error); const errorMessage = error instanceof Error ? error.message : 'An unknown error occurred'; return { isError: true, content: [ { type: 'text', text: `Error: Failed to validate model: ${errorMessage}`, }, ], }; } }