BasePic
Server Details
Upload, edit and share images by link: free image hosting for AI agents, no API key. Rotate, crop, resize to exact pixels or file size, filters; every edit returns a new image with its own short and direct links. Website: https://basepic.com
- Status
- Healthy
- Uptime
- 99.9% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool maps to a clearly distinct lifecycle action on images: upload, retrieve, edit, and delete. The fact that edit_image creates a new image is explicitly documented, preventing confusion with upload_image.
All four tools follow a consistent snake_case verb_noun pattern: upload_image, get_image, edit_image, delete_image. There are no naming deviations or mixed conventions.
Four tools are well-scoped for an image hosting service, covering the essential upload, retrieve, edit, and delete operations without unnecessary surface area.
The core lifecycle is covered: create/upload, read/get, update/edit, and delete. A listing or search operation for existing images is missing, but it is a minor gap that does not block the primary workflows.
Available Tools
4 toolsdelete_imageDelete imageADestructiveIdempotentInspect
Delete an image from BasePic. Needs the delete_key returned when it was uploaded or created by edit_image. Its links stop working.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Image id returned by upload_image or edit_image (e.g. "vqSvesFU") | |
| delete_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, idempotent=true, and readOnly=false, so the safety profile is covered structurally. The description adds genuine value beyond them by disclosing the consequence ("Its links stop working") and the credential dependency on delete_key, which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, followed by the prerequisite and the consequence. Every sentence carries load and none is redundant with the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema tool whose annotations already cover safety semantics, the description supplies the prerequisite source and the visible effect of deletion. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: `id` is documented but `delete_key` has no schema description. The description compensates by explaining where delete_key comes from (returned at upload or by edit_image), turning an opaque required string into a meaningful prerequisite.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Delete an image from BasePic") with a clear scope. It is trivially distinguishable from the siblings edit_image, get_image, and upload_image by its destructive action. No agent would confuse this with a read or edit operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies (you have an image to remove) and states the key prerequisite: a delete_key from upload_image or edit_image is required. However, it names no explicit alternatives and gives no when-not guidance, so usage is largely inferred from the required parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageEdit imageAInspect
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 (1 KB = 1,000 bytes). Creates a NEW image with its own page_url, image_url and download_url; the original stays unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Image id returned by upload_image or edit_image (e.g. "vqSvesFU") | |
| format | No | ||
| max_kb | No | Largest file size in KB, 1 KB = 1,000 bytes (jpeg/webp) | |
| quality | No | ||
| filename | No | ||
| operations | No | Example: [{"op":"rotate","degrees":90},{"op":"resize","width":1080},{"op":"grayscale"}] | |
| return_preview | No | Also return a small preview of the image so you can look at it (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, and the description adds the key behavioral fact that a new asset is produced and the source is untouched — exactly the reassurance needed given readOnlyHint=false. It also discloses operation ordering ('applied in order') and the max_kb meaning (1 KB = 1,000 bytes). It does not cover auth, rate limits, or failure behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operation list is front-loaded and the two sentences carry no filler; the second sentence delivers the crucial new-image semantics. The long em-dash enumeration is dense but each term maps to a real enum value, so it earns most of its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the returned fields (page_url, image_url, download_url) so the agent knows what it gets back. Given 7 parameters and 57% coverage, a few inputs (quality, filename, return_preview) remain undocumented, but the core editing contract is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 57% schema coverage the description adds real value: it clarifies the operations pipeline is order-sensitive and groups the enum values by category (rotate/flip/crop/resize vs. color and filter ops), plus explains max_kb as an output size ceiling tied to format. It leaves quality, filename, and return_preview unaddressed, and much of the op vocabulary is already in the enum/schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (edit) and resource (an uploaded image) and enumerates the concrete transform set, so the agent knows exactly what capability this is. It also distinguishes itself from siblings by stating it creates a NEW image and leaves the original unchanged, contrasting with delete_image/get_image/upload_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Edit an uploaded image' plus the id parameter description establishes the prerequisite (an id from upload_image or edit_image), which is clear context for when to call this. It stops short of explicit exclusions or naming sibling alternatives for non-edit scenarios (e.g., use get_image to just inspect), so it is context-clear but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_imageGet imageARead-onlyInspect
Get the links and details (size, dimensions, type) of an image on BasePic by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Image id returned by upload_image or edit_image (e.g. "vqSvesFU") | |
| return_preview | No | Also return a small preview of the image so you can look at it (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine value by enumerating the returned details, but says nothing about failure behavior (e.g. invalid or unknown id) or any auth requirements. With annotations doing the heavy lifting, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the resource and the returned fields front-loaded; every clause carries information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read with no output schema, the description covers the essentials by naming the returned fields. It falls short of complete only in omitting error/edge-case behavior for an unknown id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'return_preview' are already documented, including an example value and the default for return_preview. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Get') and resource ('image on BasePic by its id') and enumerates what is returned (links, size, dimensions, type), so the agent knows exactly what the call produces. It does not explicitly contrast itself with the write-oriented siblings (upload_image, edit_image, delete_image), which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'by its id' and the id description ('returned by upload_image or edit_image') signal this is the retrieval step after an upload or edit. There is no explicit when-to-use statement, no note about when not to call it, and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_imageUpload imageAInspect
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. A file on your disk: a path or file:// link does not work as url — if you can run commands, upload it with curl -F "image=@photo.jpg" https://basepic.com/api/v1/images instead (same JSON answer; its id works with edit_image).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public https link to the image | |
| filename | No | Optional file name, e.g. "beach.jpg" | |
| image_base64 | No | The image as base64 (a data: URL works too) | |
| return_preview | No | Also return a small preview of the image so you can look at it (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: a 50 MB size cap, the privacy model ("only people with the link can see it"), and the fact that a delete_key is issued — a security-relevant detail no annotation conveys. The annotations already cover read/write and open-world status, and the description does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return values, then constraints, then the edge-case fallback — a sensible reading order with no filler. The curl workaround is slightly long, but it carries information the agent cannot get elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully discharges the burden of explaining return values (three URLs, an id, a delete_key) as well as size and privacy constraints. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description genuinely enriches the schema: it broadens `url` beyond "public https link to the image" to include X/Instagram/Facebook posts, and clarifies why a filesystem path is not an acceptable value. `return_preview` and `filename` are left to the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (upload an image to BasePic) and enumerates exactly what comes back: page_url, image_url, download_url, plus an id and delete_key. It also names the sibling it feeds (edit_image), so an agent can place it in the workflow without opening other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly branches input: "Give either a public url ... or image_base64", and spells out the important negative case — a local path or file:// does not work as url, with a concrete curl fallback. It doesn't cover when to prefer get_image/delete_image over this, but the create-vs-read distinction is self-evident from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
edit_image1 field changed- changed
Input schema / properties / max_kb / descriptionPrevious value: -"Largest file size in KB (jpeg/webp)"New value: +"Largest file size in KB, 1 KB = 1,000 bytes (jpeg/webp)"
4 tool updates
- First observed
delete_image - First observed
edit_image - First observed
get_image - First observed
upload_image
Publisher details
- Operator
- Metoda LLC · Publisher source
- Operator website
- https://basepic.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://basepic.com/developers · Publisher source
- Trust center
- Not available
- Restrictions
- No account, API key or paid plan. Limits per IP address: 60 uploads or edits per hour, 300 per day and 2 GB per day; images up to 50 MB. · Publisher source
Related MCP Connectors
Edit images in one call: resize, convert, compress, crop, metadata, favicons, QR codes, OCR.
Image & PDF tools for AI agents: compress, convert, resize, PDF, AI vision, pipeline.
Image processing for AI agents: resize, convert, compress, crop, and web-ready AI-generated images.
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables comprehensive image editing operations including resizing, format conversion, cropping, compression, rotation, flipping, and batch processing. Supports JPEG, PNG, WebP, and AVIF formats with quality control and metadata extraction.817 npm19MIT
- AlicenseCqualityDmaintenanceEnables AI-powered image editing such as upscaling, background removal, restoration, colorization, denoising, and compression through a simple API.97 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to perform local image operations such as circle cropping, cropping, resizing, compressing, converting, and inspecting images without uploading files or making network calls.786 npmMIT
- AlicenseAqualityCmaintenanceEnables agents to optimize and clean SVG vector paths, rasterize SVGs into crisp sub-pixel PNGs at custom DPI with alpha preserved, generate high-error-correction vector QR codes for payment URIs, and compress images to WebP while stripping EXIF metadata. Tools are metered via x402 USDC micropayments on Base L2.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.