Skip to main content
Glama
Foto MCP Server
by thesven

foto_publish_post

Publishes a single photo post to Foto by normalizing resolution, scrubbing GPS data, uploading to Storage, passing moderation, and creating the post; use dryRun=true to test without publishing.

Instructions

Publish a single photo post to Foto. Automatically normalizes resolution (max 1820px, JPEG 80%), scrubs GPS for privacy, uploads to Storage, passes moderation, and creates the post. Use dryRun=true to test locally without publishing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "filePath": "<filePath>",
      "caption": "<caption>",
      "tags": "<tags>"
    },
    "name": "foto_publish_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagsYes1 to 3 tags chosen from Foto's curated whitelist
dryRunNoIf true, validates and prepares image without uploading or requiring login
captionYesThe post caption or narrative description
filePathYesAbsolute file path to local photo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and discloses important pipeline behavior: resolution normalization, JPEG compression, GPS scrubbing, Storage upload, moderation, and post creation. It also implies real publishing requires login via the dryRun note, though it does not describe moderation failure handling or whether published posts are public/removable.

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

Conciseness5/5

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

The description is two tight sentences with the main action front-loaded and the dryRun testing note second. Every clause adds useful information about the publish pipeline.

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?

For a mutation tool with no annotations and no output schema, the description adequately explains the publish pipeline and the dryRun escape hatch. It is slightly incomplete because it does not describe the return value or what happens when moderation fails.

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 100%, so parameter documentation is already complete. The description adds only a small amount of meaning for dryRun ("test locally without publishing") and says nothing extra about filePath, caption, or tags beyond the schema.

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?

The description uses a specific verb and resource: "Publish a single photo post to Foto." The word "single" distinguishes it from the sibling tool foto_publish_series, and "Publish" distinguishes it from foto_draft_post without needing to inspect schemas.

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

Usage Guidelines3/5

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

It provides clear usage context for the dryRun parameter: test locally without publishing. However, it does not explicitly compare this tool to alternatives such as foto_draft_post or foto_publish_series, nor does it state when not to use it.

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