Skip to main content
Glama

Save your creative rights declaration

soclo_rights_declaration_save
DestructiveIdempotent

Record the owner’s own words as their creative rights declaration, only after their explicit confirmation (ownerConfirmed: true), with expectedVersion from soclo_rights_declaration_get (0 if absent) and a stable clientRequestId. Never invent, paraphrase or auto-confirm a declaration. A saved owner declaration covers lawful current and future account uploads across channels. It does not grant real-person likeness consent. New saves need no scope selection; an explicit legacy scope is sent unchanged only to reconcile its original request. Free; it does not approve a price, review an identifiable person, upload a photo, create an actor or generate anything. The returned operation is an immutable historical receipt; only current.declaration in active state supplies rightsProof. Keep the same ID and words when reconciling an uncertain save; do not automatically retry.

Input Schema

NameRequiredDescriptionDefault
scopeNo
declarationYes
ownerConfirmedYes
clientRequestIdYes
expectedVersionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / definitions
      Added value: +{
      +  "s1": {
      +    "format": "uuid",
      +    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / clientRequestId / $ref
      Added value: +"#/definitions/s1"
    • removedInput schema / properties / clientRequestId / format
      Removed value: -"uuid"
    • removedInput schema / properties / clientRequestId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • removedInput schema / properties / clientRequestId / type
      Removed value: -"string"
    • changedInput schema / properties / scope / properties / assetIds / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -      "type": "string"
      -    },
      -    "minItems": 1,
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/definitions/s1"
      +    },
      +    "minItems": 1,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already flag destructiveHint/idempotentHint, and the description adds genuinely non-obvious behavior: the operation is free, it does not grant real-person likeness consent, the returned operation is an immutable historical receipt, and only current.declaration in active state supplies rightsProof. The no-auto-retry reconciliation rule is exactly the kind of guidance annotations cannot express.

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-loads the core action and precondition, then layers constraints and non-uses in a sensible order; nearly every clause carries distinct information. It is dense and slightly sprawling in the middle (free/does-not-do list), which keeps it off a 5.

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 5-parameter nested mutation with no output schema, the description covers the full workflow (get → confirm → save), version conflict handling via expectedVersion, the immutability and state semantics of the returned object, and the retry/reconciliation stance. Nothing an agent needs to call this safely is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description carries the load and does: it explains ownerConfirmed must be true, expectedVersion comes from soclo_rights_declaration_get with 0 as the absent case, clientRequestId must be stable and reused on reconciliation, and declaration is the owner's own words. It also resolves the nested scope object: new saves need no scope selection, and a legacy scope is only sent back unchanged to reconcile its original request.

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 and resource — record the owner's own words as their creative rights declaration — and implicitly distinguishes itself from soclo_rights_declaration_get (source of expectedVersion) and soclo_rights_declaration_withdraw in the sibling set. The scope of effect (covers lawful current and future account uploads) is spelled out rather than left to inference.

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?

Gives explicit preconditions (only after explicit confirmation with ownerConfirmed: true; expectedVersion from soclo_rights_declaration_get, 0 if absent; stable clientRequestId), explicit prohibitions (never invent, paraphrase or auto-confirm), explicit non-uses (does not approve a price, review an identifiable person, upload a photo, create an actor or generate anything), and a recovery rule (keep same ID and words; do not automatically retry).

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