Skip to main content
Glama

Issue a rights manifest for a deliverable

issue_rights_manifest

Use when your principal wants signed proof for a whole deliverable: checks every third-party input (resource_id, license or asset) for its use, reusing licenses you hold, and returns a signed, ledger-committed manifest plus a text summary; verify_rights_manifest checks it. Call with {"title": "Spring campaign", "intended_use": {"commercial_use": true}, "items": [{"ref": "font", "license": "OFL-1.1"}]}.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>",
      "items": "<items>"
    },
    "name": "issue_rights_manifest"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsYes
titleYes
clientNo
api_keyNoDeprecated: use Authorization: Bearer <key> (arguments can reach transcripts).
deliverableNo
intended_useNoUses to check: each true flag must be documented; omitted = false; unknown fields refused. For instance {"commercial_use":true}
idempotency_keyNoOptional: a retry with the same key returns the first proof.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / intended_use / description
      Previous value: -"Intended use: every true flag is a right the check must find documented; omitted flags are false; unknown fields are refused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}"New value: +"Uses to check: each true flag must be documented; omitted = false; unknown fields refused. For instance {\"commercial_use\":true}"
    • addedInput schema / properties / items / items / properties / asset / description
      Added value: +"URL or name"
    • addedInput schema / properties / items / items / properties / license / description
      Added value: +"SPDX id"
    • addedInput schema / properties / items / items / properties / ref / description
      Added value: +"Your label"
  2. Changed3 schema fields changed
    • addedInput schema / properties / api_key / deprecated
      Added value: +true
    • changedInput schema / properties / api_key / description
      Previous value: -"Your Rightshold API key (rs_...). Only needed if your MCP client cannot send Authorization: Bearer <key>."New value: +"Deprecated: use Authorization: Bearer <key> (arguments can reach transcripts)."
    • changedInput schema / properties / intended_use / description
      Previous value: -"Intended use. Every true flag is a right the assessment must find documented; omitted flags are false. Unknown fields are refused (invalid_intended_use). For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}"New value: +"Intended use: every true flag is a right the check must find documented; omitted flags are false; unknown fields are refused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}"
  3. Changed4 schema fields changed
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Optional: a retry with the same key returns the proof already issued instead of a second one."New value: +"Optional: a retry with the same key returns the first proof."
    • removedInput schema / properties / items / items / properties / intended_use / additionalProperties
      Removed value: -false
    • changedInput schema / properties / items / items / properties / intended_use / description
      Previous value: -"Intended use. Every true flag is a right the assessment must find documented; omitted flags are false. Unknown fields are refused (invalid_intended_use). For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}"New value: +"Optional per-item override, same shape as intended_use"
    • removedInput schema / properties / items / items / properties / intended_use / properties
      Removed value: -{
      -  "attribution_planned": {
      -    "type": "boolean"
      -  },
      -  "commercial_use": {
      -    "type": "boolean"
      -  },
      -  "deployment": {
      -    "type": "boolean"
      -  },
      -  "duration_days": {
      -    "description": "Whole days of use (1 to 36500), or null for no fixed term",
      -    "maximum": 36500,
      -    "minimum": 1,
      -    "type": [
      -      "integer",
      -      "null"
      -    ]
      -  },
      -  "geography": {
      -    "description": "worldwide (default) or a region code such as US, EU, UK",
      -    "maxLength": 32,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  "model_inference": {
      -    "type": "boolean"
      -  },
      -  "model_training": {
      -    "type": "boolean"
      -  },
      -  "modification": {
      -    "type": "boolean"
      -  },
      -  "redistribution": {
      -    "type": "boolean"
      -  },
      -  "sublicensing": {
      -    "type": "boolean"
      -  }
      -}
  4. Changed1 schema field changed
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "description": "Optional: a retry with the same key returns the proof already issued instead of a second one.",
      +  "maxLength": 255,
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "type": "object"
      +}
  6. First observed

TDQS

A4/5.0
Behavior4/5

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

The annotations only declare the safety profile (not read-only, not destructive, not idempotent, closed-world); the description adds real behavior — the result is signed and ledger-committed, existing licenses are reused rather than re-checked, and a text summary accompanies the manifest. It omits whether repeat calls create new manifests (the schema's idempotency_key hints at retry semantics), whether issuing incurs cost, and what auth is required besides the deprecated api_key note in the schema.

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 when-to-use clause is front-loaded, followed by behavior and then a compact JSON example that earns its space by demonstrating the nested items shape. The single long sentence is dense but contains no filler; it could be broken into two sentences for easier scanning.

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

Completeness3/5

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

An output schema exists, so the return-value gap is covered, but for a 7-parameter tool with nested objects and 43% schema coverage the description leaves meaningful holes: the opaque `deliverable` object, `client`, retry/idempotency semantics, and what happens when an item's use cannot be documented. Adequate to make the call, but not complete for a ledger-committing mutation.

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 only 43%, and the description compensates only partially: the worked example clarifies the items shape and the license-by-SPDX-id usage, and the prose explains that each third-party input carries a resource_id, license, or asset. It says nothing about client, deliverable, idempotency_key, or when to use resource_id instead of asset, so several parameters remain undocumented in both places.

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?

The description uses a specific verb and resource ('Issue a rights manifest') and states the scope precisely: checking every third-party input for its use, reusing held licenses, and returning a signed, ledger-committed manifest plus a text summary. It explicitly distinguishes itself from verify_rights_manifest, so an agent can separate the issuing tool from the checking tool without opening either schema.

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?

It gives a clear triggering condition ('Use when your principal wants signed proof for a whole deliverable') and names the follow-up alternative, verify_rights_manifest. It does not distinguish itself from the closest siblings such as issue_rights_receipt (per-item proof) or check_rights_batch, leaving the agent to infer when a whole-deliverable manifest is preferable to a lighter check.

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