Skip to main content
Glama
error-boundary.tsx1.13 kB
import { type ReactElement } from 'react' import { type ErrorResponse, isRouteErrorResponse, useParams, useRouteError, } from 'react-router' import { getErrorMessage } from '#app/utils/misc.ts' type StatusHandler = (info: { error: ErrorResponse params: Record<string, string | undefined> }) => ReactElement | null export function GeneralErrorBoundary({ defaultStatusHandler = ({ error }) => ( <p> {error.status} {error.data} </p> ), statusHandlers, unexpectedErrorHandler = (error) => <p>{getErrorMessage(error)}</p>, }: { defaultStatusHandler?: StatusHandler statusHandlers?: Record<number, StatusHandler> unexpectedErrorHandler?: (error: unknown) => ReactElement | null }) { const error = useRouteError() const params = useParams() const isResponse = isRouteErrorResponse(error) if (typeof document !== 'undefined') { console.error(error) } return ( <div className="text-h2 container flex items-center justify-center p-20"> {isResponse ? (statusHandlers?.[error.status] ?? defaultStatusHandler)({ error, params, }) : unexpectedErrorHandler(error)} </div> ) }

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/epicweb-dev/epic-me-mcp'

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