BasePic
Upload, edit and share images by link: free image hosting for AI agents, no API key.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"basepic": {
"url": "https://basepic.com/mcp"
}
}
}Remote endpoints
https://basepic.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🔴upload_image(url, image_base64, filename, return_preview)
Upload an image to BasePic and get links: page_url (short link to share), image_url (direct image) and download_url. Give either a public "url" (an image, or a post on X/Instagram/Facebook) or "image_base64". Returns an id for edit_image and a delete_key. Images up to 50 MB. The image is private: only people with the link can see it.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public https link to the image"
},
"image_base64": {
"type": "string",
"description": "The image as base64 (a data: URL works too)"
},
"filename": {
"type": "string",
"description": "Optional file name, e.g. \"beach.jpg\""
},
"return_preview": {
"type": "boolean",
"description": "Also return a small preview of the image so you can look at it (default false)"
}
}
}🟡edit_image(id, operations, format, quality, max_kb, ...)
Edit an uploaded image: rotate, flip, crop (pixels or aspect ratio), resize (width/height, percent, megapixels), grayscale (black & white), sepia, brightness, contrast, warm, cool, invert, blur, sharpen — applied in order. Optionally change the format (jpeg/png/webp) or make the file at most max_kb kilobytes. Creates a NEW image with its own page_url, image_url and download_url; the original stays unchanged.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Image id returned by upload_image or edit_image (e.g. \"vqSvesFU\")"
},
"operations": {
"type": "array",
"items": {
"type": "object",
"required": [
"op"
],
"properties": {
"op": {
"type": "string",
"enum": [
"rotate",
"flip",
"crop",
"resize",
"grayscale",
"sepia",
"brightness",
"contrast",
"warm",
"cool",
"invert",
"blur",
"sharpen"
]
},
"degrees": {
"type": "integer",
"description": "rotate: 90, 180, 270 (clockwise) or -90"
},
"direction": {
"type": "string",
"enum": [
"horizontal",
"vertical"
],
"description": "flip"
},
"aspect": {
"type": "string",
"description": "crop: centered crop to a ratio like \"1:1\", \"4:5\", \"16:9\""
},
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"width": {
"type": "integer",
"description": "crop width, or resize target width (keeps proportions)"
},
"height": {
"type": "integer",
"description": "crop height, or resize target height (keeps proportions)"
},
"percent": {
"type": "number",
"description": "resize: 1–400"
},
"megapixels": {
"type": "number",
"description": "resize: target megapixels"
},
"value": {
"type": "number",
"description": "brightness / contrast: -100 to 100"
},
"radius": {
"type": "integer",
"description": "blur: 1–10"
}
}
},
"maxItems": 20,
"description": "Example: [{\"op\":\"rotate\",\"degrees\":90},{\"op\":\"resize\",\"width\":1080},{\"op\":\"grayscale\"}]"
},
"format": {
"type": "string",
"enum": [
"jpeg",
"png",
"webp"
]
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"max_kb": {
"type": "integer",
"minimum": 5,
"description": "Largest file size in KB (jpeg/webp)"
},
"filename": {
"type": "string"
},
"return_preview": {
"type": "boolean",
"description": "Also return a small preview of the image so you can look at it (default false)"
}
},
"required": [
"id"
]
}🟢get_image(id, return_preview)
Get the links and details (size, dimensions, type) of an image on BasePic by its id.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Image id returned by upload_image or edit_image (e.g. \"vqSvesFU\")"
},
"return_preview": {
"type": "boolean",
"description": "Also return a small preview of the image so you can look at it (default false)"
}
},
"required": [
"id"
]
}🔴delete_image(id, delete_key)
Delete an image from BasePic. Needs the delete_key returned when it was uploaded or created by edit_image. Its links stop working.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Image id returned by upload_image or edit_image (e.g. \"vqSvesFU\")"
},
"delete_key": {
"type": "string"
}
},
"required": [
"id",
"delete_key"
]
}Community
Evidence