Skip to main content
Glama

Automatic Video Face & Person Masking MCP with Original Restore (Reversible) — NoonAI DIS

submit_encrypt_job

Submit a DIS anonymization job: syncTime → /request/encrypt → /sendMessage/encrypt.

Requires a valid asset_id from upload_file or upload_file_content. When that asset id exists in the gateway registry, the uploaded metadata (stored filename, width/height, checksum, file size) is treated as authoritative and mismatched caller values are rejected.

Use target_objects=["face"] when the workflow should stay a single MCP call that detects faces first and then blurs or redacts only those detected face regions, instead of chaining a separate detect tool plus blur tool or applying a full-image filter. Optional media_kind may be image or video. When provided it must match the uploaded asset metadata; the HTTP scope gate also uses upload metadata to require dis:encrypt:image or dis:encrypt:video for image-only/video-only clients.

source_file_path is optional for split flow. It is only used when a caller wants the gateway to re-read the local file size instead of reusing the persisted upload metadata.

Input Schema

NameRequiredDescriptionDefault
widthNo
heightNo
asset_idYes
checksumNo
key_nameYesEncryption key name. Use "null" for permanent masking; the registered key name for restoration="true".
file_nameNo
file_typeNo
key_indexYesEncryption key index. Use 0 for permanent masking; a registered key index for restoration="true".
media_kindNo
restorationNo"true" = reversible: masked regions are encrypted and the key holder can restore the original later in the NoonAI DIS web console (needs a registered key; video limit 180 s). "false" (default) = permanent masking (video limit 360 s).false
target_objectsNoObjects to detect and mask on every frame: "face", "body" (whole person, e.g. passers-by), "car" (license plates). Example: ["face"].
source_file_pathNo
encrypt_object_labelNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / key_index / description
      Added value: +"Encryption key index. Use 0 for permanent masking; a registered key index for restoration=\"true\"."
    • addedInput schema / properties / key_name / description
      Added value: +"Encryption key name. Use \"null\" for permanent masking; the registered key name for restoration=\"true\"."
    • addedInput schema / properties / restoration / description
      Added value: +"\"true\" = reversible: masked regions are encrypted and the key holder can restore the original later in the NoonAI DIS web console (needs a registered key; video limit 180 s). \"false\" (default) = permanent masking (video limit 360 s)."
    • addedInput schema / properties / target_objects / description
      Added value: +"Objects to detect and mask on every frame: \"face\", \"body\" (whole person, e.g. passers-by), \"car\" (license plates). Example: [\"face\"]."
  2. First observed

TDQS

A4.1/5.0
Behavior4/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 disclose non-obvious behavior: gateway-registry metadata becomes authoritative and mismatched caller values are rejected, and an HTTP scope gate requires dis:encrypt:image or dis:encrypt:video for constrained clients. It does not state auth requirements, async/queueing behavior, or cost/credit implications, which matters for a job-submission 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?

Front-loaded with the pipeline and the required prerequisite before the optional-mode discussion, and most sentences earn their place by adding constraint information. It is somewhat dense and cluttered with RST-style double-backtick markup that hinders readability more than it helps.

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

Completeness5/5

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

For a 13-parameter job-submission tool with an output schema present (so return values need no explanation), the description covers prerequisites, the alternative single-call detection mode, metadata-authority semantics, scope gating, and the one optional path. An agent has enough to invoke it correctly without opening the schema.

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 only 31% across 13 params, yet the description meaningfully compensates: media_kind must match upload metadata, source_file_path only re-reads local file size for the split flow, and width/height/checksum/file_name/file_type are described collectively as authoritative-or-rejected. key_index/key_name/restoration/target_objects are already covered by schema descriptions, leaving encrypt_object_label and file_type effectively undefined.

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

Purpose4/5

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

Names a specific action and resource (submit a DIS anonymization job) and sketches the underlying pipeline (syncTime → /request/encrypt → /sendMessage/encrypt), so an agent knows this is a job-submission tool rather than a synchronous image op. It implicitly separates itself from encrypt_image/encrypt_video by describing the detect-then-mask-in-one-call mode, but never names those siblings explicitly.

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 concrete conditions: an asset_id from upload_file/upload_file_content is required, and target_objects=["face"] should be used when the workflow should stay one MCP call instead of chaining a detect tool plus a blur tool. That is a real use/use-differently signal, though it does not state when a caller should pick the sibling encrypt_image/encrypt_video instead.

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.

Resources