Skip to main content
Glama

Upload your own image for a post

upload_post_image

Adds a customer-supplied picture (base64 data) as a candidate for the post, free of charge; it does not count as an image change. Then call apply_post_image with the returned candidate id. Pro and above.

Input Schema

NameRequiredDescriptionDefault
siteYesThe site to act on. One of: fencestainingdenver.com.
postIdYes
targetNoWhich image: 'featured' (default) or 'inline:<n>' for an in-article image listed by get_post_image.
fileDataYesThe image as a data: URL or bare base64 (JPG or PNG, under about 7MB). Remote URLs are not accepted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (readOnly=false, destructive=false, idempotent=false), so the description carries the rest and does well: it discloses the candidate/staging nature of the write, the plan gating (Pro and above), the cost behavior, and the required follow-up call. It omits any error/limit behavior beyond what the schema's 7MB cap implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight clauses; the action, the cost/no-change caveat, the next step, and the plan requirement are all front-loaded with no filler. Slightly clunky semicolon phrasing but well within budget.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by stating the tool returns a candidate id to pass to apply_post_image, and it covers the plan prerequisite. Missing only failure-mode guidance for oversized or remote-URL inputs, which the schema partially covers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the schema already documents site, target, and fileData formats. The description only restates that the payload is base64 picture data and adds nothing on target ('featured' vs 'inline:<n>'), postId, or size limits. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — adding a customer-supplied (base64) picture as a candidate for a post — and implicitly distinguishes itself from get_post_image (retrieval) and apply_post_image (commitment) among siblings. An agent can tell what this tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use context: it is the first step of a two-step flow, followed by apply_post_image with the returned candidate id, and it notes the operation is free and doesn't count as an image change. It does not name what to use instead for non-customer images (e.g., get_photo_candidates).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.