Skip to main content
Glama
Hydrata

Hydrata MCP Server

Official
by Hydrata

Attach a photo link to a flood observation

add_observation_photo_link

Attach an http(s) photo link, plus optional caption and credit, to a flood observation record; only links are stored, never uploaded files.

Instructions

Attach a photo to a flood observation as a reference LINK (never a file).

MCP never uploads photo bytes. A local path, file:// URL or data: URI is refused: to upload a photo file, open the observation in the map and use the photo strip on its form (JPEG, PNG or HEIC, 25 MB, 10 per observation). The link counts toward the 10.

Input Schema

NameRequiredDescriptionDefault
fidYesThe observation's fid
creditNoWho took it / the rights holder (optional)
captionNoWhat the photo shows (optional, up to 500 characters)
layer_idYesThe flood observation layer id
project_idYesThe project ID
reference_urlYesAn http(s) link to the photo (stored, never fetched)
public_consentNoShow this photo to visitors of a public project (default false: members only)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, idempotent=false, openWorld=false. The description adds substantive behavior beyond that: MCP never uploads bytes, non-http inputs are refused, and there is a 10-photo-per-observation cap that this link consumes. That is exactly the context an agent needs before calling a mutation tool.

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?

The binding constraint (link, never file) is front-loaded in the first clause. The remaining sentences earn their place by explaining refusals and the escape hatch, though the JPEG/PNG/HEIC and 25 MB details describe the UI alternative rather than this tool and are mildly tangential.

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?

An output schema exists, so return values need no explanation, and the description covers the mutation semantics, refusal cases, and quota interaction. The one gap is whether re-attaching the same link is deduplicated or duplicates the entry, which the false idempotentHint leaves ambiguous.

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 the schema already documents all 7 parameters including the http(s) constraint on reference_url. The description adds no per-parameter syntax or format detail beyond what is in the schema, so the baseline 3 applies.

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 (attach) and resource (photo link on a flood observation) and immediately scopes it: 'as a reference LINK (never a file).' An agent can distinguish this from any byte-upload path 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 Guidelines5/5

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

Explicitly states when-not: local paths, file:// URLs and data: URIs are refused. It also routes the agent to the correct alternative for actual uploads (open the observation in the map, use the photo strip), including accepted formats and size/count limits.

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