MCP Image Metadata Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Image Metadata Serverget metadata from https://example.com/photo.jpg"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Image Metadata Server
MCP server for extracting rich metadata from images, monetized via x402 payments.
Live Demo
Server: https://mcp-image-metadata.onrender.com
Related MCP server: EXIF Extractor MCP Server
Quick Start
1. Upload Image
curl -X POST https://mcp-image-metadata.onrender.com/upload \
-F "image=@your-image.jpg"Response:
{
"success": true,
"filePath": "/tmp/uploads/abc123.jpg",
"fileName": "abc123.jpg",
"originalName": "your-image.jpg",
"size": 12345
}2. Extract Metadata
curl -X POST https://mcp-image-metadata.onrender.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "extract_image_metadata",
"arguments": {
"imageUrl": "/tmp/uploads/abc123.jpg",
"payer": "0xYourWalletAddress"
}
}
}'Response:
{
"success": true,
"data": {
"file": {
"width": 1920,
"height": 1080,
"format": "jpeg",
"colorDepth": 3,
"dpi": 72,
"fileSize": 456789,
"mimeType": "image/jpeg"
},
"exif": {
"cameraMake": "Apple",
"cameraModel": "iPhone 14 Pro",
"dateTime": "2024:01:15 12:30:00"
},
"gps": {
"latitude": 37.7749,
"longitude": -122.4194
}
},
"price": 0.002,
"paymentStatus": "free",
"freemiumRemaining": 49
}API Endpoints
Endpoint | Method | Description |
| POST | MCP JSON-RPC interface |
| POST | Upload image file |
| GET | Health check |
MCP Tools
1. extract_image_metadata
Extract EXIF, GPS, IPTC, XMP metadata from an image.
Arguments:
{
"imageUrl": "/tmp/uploads/abc123.jpg",
"includeOptions": {
"includeGps": true,
"includeColor": true,
"includeThumbnail": false,
"includeOcr": false,
"includeDeepHash": false
},
"paymentHeader": "...",
"payer": "0xYourWallet"
}Response:
{
"success": true,
"data": { "file": {...}, "exif": {...}, "gps": {...} },
"price": 0.002,
"paymentStatus": "free",
"freemiumRemaining": 50
}2. extract_batch_metadata
Extract metadata from multiple images (max 50).
Arguments:
{
"imageUrls": ["/tmp/uploads/1.jpg", "/tmp/uploads/2.jpg"],
"options": { "includeGps": true },
"paymentHeader": "...",
"payer": "0xYourWallet"
}3. detect_image_manipulation
Analyze image for signs of manipulation/editing.
Arguments:
{
"imageUrl": "/tmp/uploads/abc123.jpg",
"analysisLevel": "standard",
"paymentHeader": "...",
"payer": "0xYourWallet"
}analysisLevel:
basic- Basic checks ($0.002)standard- Standard analysis ($0.002)forensic- Deep forensic analysis ($0.015)
4. get_pricing
Get current pricing tiers and freemium status.
Arguments:
{
"payer": "0xYourWallet"
}Response:
{
"pricing": {
"basic": { "tier": "basic", "price": 0.001 },
"standard": { "tier": "standard", "price": 0.002 },
"premium": { "tier": "premium", "price": 0.005 },
"forensic": { "tier": "forensic", "price": 0.015 }
},
"freemium": { "limit": 50, "remaining": 49 }
}Complete Usage Flow
Step 1: Upload Image
# Upload image
curl -X POST https://mcp-image-metadata.onrender.com/upload \
-F "image=@photo.jpg"Response:
{
"success": true,
"filePath": "/tmp/uploads/abc123.jpg"
}Step 2: Extract Metadata
curl -X POST https://mcp-image-metadata.onrender.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "extract_image_metadata",
"arguments": {
"imageUrl": "/tmp/uploads/abc123.jpg",
"payer": "0xYourWallet123"
}
}
}'Step 3: Get Updated Freemium Status
curl -X POST https://mcp-image-metadata.onrender.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_pricing",
"arguments": {
"payer": "0xYourWallet123"
}
}
}'Pricing
Tier | Price | Description |
Basic | $0.001 USDC | File info, dimensions, color profile |
Standard | $0.002 USDC | Basic + GPS, IPTC, XMP |
Premium | $0.005 USDC | Standard + thumbnail, deep hash |
Forensic | $0.015 USDC | Premium + manipulation analysis |
Freemium
50 free requests per wallet address
After 50, requires x402 payment
Usage tracked in memory (resets on server restart)
x402 Payment Integration
For Agents/Apps
To make paid requests, include the paymentHeader:
{
"name": "extract_image_metadata",
"arguments": {
"imageUrl": "/tmp/uploads/abc123.jpg",
"payer": "0xYourWallet",
"paymentHeader": "payment=v1_USDC_..."
}
}Payment Flow
Agent calls tool with x402 payment header
Server verifies payment via xpay facilitator
If valid → returns metadata
If invalid → returns error
USDC transfers to your wallet on Base
Deployment
Render (Recommended)
Push to GitHub
Go to render.com → New → Web Service
Connect your repo
Configure:
Setting | Value |
Name | mcp-image-metadata |
Region | Oregon |
Build Command |
|
Start Command |
|
Add Environment Variables (see above)
Deploy
Local Development
# Install dependencies
npm install
# Build
npm run build
# Run (stdio mode)
npm run dev
# Run with HTTP server
PORT=3000 node dist/index.jsSupported Image Formats
JPEG/JPG
PNG
GIF
WebP
TIFF
HEIC
BMP
SVG
Tech Stack
Node.js 20+
TypeScript
@modelcontextprotocol/sdk ^1.29.0
Sharp (image processing)
ExifReader (metadata parsing)
Express (HTTP server)
Multer (file uploads)
Security
This server implements multiple security measures:
Path Traversal Protection: File paths are validated to prevent directory traversal attacks
MIME Type Validation: Uploaded files are validated against allowed image types
Input Validation: Zod schemas reject path traversal patterns in user input
Error Sanitization: Error messages are sanitized to prevent information leakage
Rate Limiting: HTTP endpoints are protected with rate limiting (100 req/min per IP)
CORS Configuration: Optional origin validation for cross-origin requests
Security Logging: Security-relevant events are logged for monitoring
Security Configuration
# Optional: comma-separated list of allowed origins
ALLOWED_ORIGINS=https://example.com,https://app.example.com
# Optional: rate limit window in milliseconds (default: 60000)
RATE_LIMIT_WINDOW=60000
# Optional: max requests per window per IP (default: 100)
RATE_LIMIT_MAX=100License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables AI assistants to analyze images from URLs or local files using xAI's Grok API. Provides detailed image descriptions, technical metadata extraction, and optical character recognition (OCR) capabilities.7
- Flicense-qualityDmaintenanceEnables extraction of EXIF metadata from JPG and PNG images using publicly accessible URLs or Base64 encoded data. Provides camera information, technical parameters, and image details for photo analysis.
- Alicense-qualityAmaintenanceImage Metadata AI - MCP server providing AI-powered tools and automation by MEOK AI Labs13MIT
- Alicense-qualityDmaintenanceEnables reading, writing, and removing metadata from over 150 file formats using ExifTool, supporting EXIF, IPTC, XMP, GPS, and manufacturer-specific metadata.MIT
Related MCP Connectors
Tag, rename, and enrich PDFs and images. Free tier: 1,500 tags/month, no credit card.
Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.
Curated, probe-verified directory of paid x402 APIs. Agents check it before spending money.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jicoing/mcp-image-metadata'
If you have feedback or need assistance with the MCP directory API, please join our Discord server