Skip to main content
Glama
surewht
by surewht

full_forensic_report

Run all image forensic checks—noise, ELA, frequency, spectral decay, color, metadata—and produce a comprehensive report with an overall AI-generated content verdict.

Instructions

Run all forensic analyses and produce a comprehensive report with overall verdict.

Combines noise map, ELA, frequency analysis, spectral decay, color analysis, and metadata check. Saves visualization images to /tmp/image-forensics/ and returns text-only results to avoid output overflow.

Args: image_path: Absolute path to the image file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
image_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does add real behavioral context: it writes visualization images to /tmp/image-forensics/ and deliberately returns text-only results 'to avoid output overflow.' That side-effect and output-format disclosure is valuable. It still omits permission/error behavior and runtime cost of running all six analyses.

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?

Front-loaded with the core purpose, then side effects, then the arg. The Args block slightly repeats the schema but adds the 'absolute path' qualifier so it mostly earns its place. No filler, but not maximally tight.

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?

Output schema exists so return-value detail needn't be explained, and the description correctly states the shape (text-only, images saved to a path). With one required param and no nested objects, the description covers what an agent needs. It could note failure behavior when an analysis errors, but overall it is complete enough.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It does: 'image_path: Absolute path to the image file' adds a constraint (absolute, not relative) beyond the bare schema type. Minor gap is that it doesn't clarify supported formats, but for a single path arg this is solid.

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?

Specific verb+resource: 'Run all forensic analyses and produce a comprehensive report with overall verdict.' It explicitly enumerates the six analyses it combines (noise map, ELA, frequency, spectral decay, color, metadata), so an agent can immediately distinguish it from the sibling tools that each do one analysis.

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?

'Run all forensic analyses' clearly signals this is the aggregate tool versus the individual sibling tools, so usage context is well implied. However, it never explicitly says when to prefer this over the individual analyses (e.g., 'use when you need everything at once, otherwise call the specific analysis').

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