Skip to main content
Glama

sfw_check

Say whether an image, or evenly sampled frames of a video, is safe for work. One yes/no decision per picture (perplexity/pplx-decider-v1.2). The check passes only when every picture is yes. Video sampling needs ffmpeg on the server; a still image does not. There is no switch to skip this check. Runs on NanoGPT — a deposit is quoted for each request from how many pictures it checks and is a cap on the charge; it settles at the metered cost plus 20% or the quote, whichever is less, and a picture that would exceed the remaining budget is not checked; the difference is returned.

Input Schema

NameRequiredDescriptionDefault
imageNooptional; still image — https URL or data URL. At most 4 MB. A hosted server does not read local files. Does not use ffmpeg.
videoNooptional; video — https URL or data URL. Frames are sampled evenly. At most 4 MB. Needs ffmpeg. A hosted server does not read local files.
framesNooptional; how many video frames to check (1–8, default 5). Ignored when there is no video.
_payment_idNoPayment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the mandatory nature ('no switch to skip'), the ffmpeg dependency, the per-picture decision model, and a detailed payment lifecycle (quoted deposit, cap, metered cost +20% settlement, skipped pictures on budget exhaustion, refund of difference). That is far more than a restatement of the name.

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 and decision rule, then progressively adds modality requirements and billing. The final payment sentence is dense and long, but every clause carries operational information an agent needs; nothing is filler.

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?

No output schema exists, and the description compensates by describing the decision shape (one yes/no per picture, overall pass only if all yes). Cost behavior and failure modes are covered. Minor gap: the exact response structure for a failed/partial result and what the payment-required phase returns is left to the caller's inference.

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 every parameter including the payment id is already documented. The description adds the useful semantic that the frames parameter determines how many independent decisions are made and that all must pass, which is a small but real gain over 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?

States a specific verb ('say whether ... is safe for work') and resource (image or evenly sampled video frames), plus the aggregation rule ('passes only when every picture is yes'). No sibling tool overlaps with content moderation, so the agent can route unambiguously.

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?

Clearly separates the two modes (still image vs video) and gives the operational precondition that video sampling requires ffmpeg while a still does not. It also warns there is no switch to skip the check. No alternatives need naming since no sibling performs this function, so exclusion guidance is not applicable.

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.