exif_metadata
Extract EXIF metadata from image URLs to reveal embedded information like location, camera details, and timestamps for OSINT investigations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Image URL to extract EXIF data from |
Implementation Reference
- src/index.ts:595-603 (handler)Tool registration and handler definition for exif_metadata.
server.tool( "exif_metadata", { url: z.string().url().describe("Image URL to extract EXIF data from") }, async ({ url }) => { const result = await exifClient.getMetadata(url); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } - src/tools/exif.ts:12-26 (handler)Actual implementation logic that fetches EXIF data from an external API.
async getMetadata(imageUrl: string): Promise<any> { try { // Some public EXIF APIs allow simple URL submission const response = await fetch(`${this.baseUrl}url?url=${encodeURIComponent(imageUrl)}`); if (!response.ok) throw new Error("Could not extract EXIF from this image"); return await response.json(); } catch (error) { // Fallback message if service is down return { error: true, message: "EXIF extraction failed. Image might have no metadata or service is unavailable.", details: (error as Error).message }; } }