diff --git a/src/handlers/resources.ts b/src/handlers/resources.ts index 13ca326..60bb92b 100644 --- a/src/handlers/resources.ts +++ b/src/handlers/resources.ts @@ -21,7 +21,7 @@ export const listResourcesHandler = { resources: gyazoImages.map((gyazoImage) => ({ uri: `gyazo-mcp:///${gyazoImage.image_id}`, mimeType: `image/${gyazoImage.type}`, - name: gyazoImage.metadata.title || gyazoImage.image_id, + name: gyazoImage.metadata?.title || gyazoImage.image_id, })), }; } catch (error) { diff --git a/src/types.ts b/src/types.ts index 5597c18..63aad01 100644 --- a/src/types.ts +++ b/src/types.ts @@ -12,11 +12,11 @@ export type GyazoImage = { url: string; type: string; created_at: string; - metadata: { - app: string; - title: string; - url: string; - desc: string; + metadata?: { + app?: string | null; + title?: string | null; + url?: string | null; + desc?: string | null; }; ocr?: { locale: string; diff --git a/src/utils.ts b/src/utils.ts index caed230..3658c10 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -9,16 +9,16 @@ import { GyazoImage } from "./types.js"; */ export function getImageMetadataMarkdown(gyazoImage: GyazoImage): string { let imageMetadataMarkdown = ""; - if (gyazoImage.metadata.title) { + if (gyazoImage.metadata?.title) { imageMetadataMarkdown += `### Title:\n${gyazoImage.metadata.title}\n\n`; } - if (gyazoImage.metadata.desc) { + if (gyazoImage.metadata?.desc) { imageMetadataMarkdown += `### Description:\n${gyazoImage.metadata.desc}\n\n`; } - if (gyazoImage.metadata.app) { + if (gyazoImage.metadata?.app) { imageMetadataMarkdown += `### App:\n${gyazoImage.metadata.app}\n\n`; } - if (gyazoImage.metadata.url) { + if (gyazoImage.metadata?.url) { imageMetadataMarkdown += `### URL:\n${gyazoImage.metadata.url}\n\n`; } if (gyazoImage.ocr?.description) {