Skip to main content
Glama

mcp-youtube

by kirbah
errorHandler.ts1.76 kB
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; export interface ErrorResponse { error: string; details?: any; message: string; // Add message to align with common error structures } export const formatError = (error: unknown): CallToolResult => { const errorMessage = getErrorMessage(error); const errorResponse: ErrorResponse = { error: "ToolExecutionError", // Standard error type message: errorMessage, }; // Include additional details if available (e.g., from YouTube API) if (hasResponseData(error)) { errorResponse.details = error.response.data; } return { success: false, error: errorResponse, content: [], // Add empty content array to satisfy TS compiler }; }; // Helper function to safely extract error message const getErrorMessage = (error: unknown): string => { if (error instanceof Error) { return error.message; } // Ensure that we import CallToolResult from the SDK if it's not already imported. // For now, we assume it's available or this change is part of a larger refactor. // import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; if (typeof error === "string") { return error; } if ( error && typeof error === "object" && "message" in error && typeof error.message === "string" ) { return error.message; } return "An unknown error occurred"; }; // Helper function to check if error has response data const hasResponseData = ( error: unknown ): error is { response: { data: any } } => { return ( error !== null && typeof error === "object" && "response" in error && error.response !== null && typeof error.response === "object" && "data" in error.response ); };

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/kirbah/mcp-youtube'

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