Skip to main content
Glama

Server Details

U.S. Copyright Office rights evidence for AI agents with provenance and live CPRS verification.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A3.7/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: a free candidate search versus a paid comprehensive rights dossier. The descriptions explicitly contrast them, making misselection unlikely.

Naming Consistency4/5

Both names follow a consistent verb_noun pattern (search_public_records, trace_public_rights). Minor deviation: 'search' vs 'trace' are different verbs but still predictable.

Tool Count3/5

Two tools is borderline thin for a rights research service. Additional operations like retrieving a dossier by ID or listing past traces might improve usability.

Completeness3/5

The surface covers searching and dossier creation, but lacks operations to retrieve or list dossiers, which are common needs. This notable gap could hinder workflows.

Available Tools

2 tools
filmrightsproof.search_public_recordsSearch public copyright recordsA
Read-onlyIdempotent
Inspect

Free bounded search for likely U.S. Copyright Office public records. Use to identify candidate works before specialist reconciliation; this does not build the paid rights dossier.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
titleYes
creatorNo
workTypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
coverageYes
freshnessYes
candidatesYes
legalNoticeYes
evidenceGapsYes
schemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint and idempotentHint, so the safety profile is covered. The description adds two useful behavioral facts beyond that: the call is free and results are bounded, plus the hedge 'likely' signaling imperfect recall. It still omits result caps/pagination and any accuracy or coverage caveats, so it only modestly exceeds the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, with the core purpose front-loaded and the scope boundary stated second. Every clause earns its place.

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 return values need no explanation. However, with five undocumented parameters and no guidance on how filters combine or how results are bounded, the description leaves meaningful gaps for an agent trying to construct a correct query.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, so the description carries the full burden of explaining title, creator, year, workType and limit. It says nothing about any of them beyond the vague word 'bounded', which loosely hints at the limit parameter. This is a clear gap for a multi-filter search.

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?

States a specific verb and resource ('bounded search for likely U.S. Copyright Office public records') and scopes it as free and candidate-level. It contrasts with the 'specialist reconciliation' / 'paid rights dossier' path, so an agent can tell it apart from a heavier rights tool, though it never names the sibling trace_public_rights directly.

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 a clear when-to-use ('identify candidate works before specialist reconciliation') and an explicit when-not ('this does not build the paid rights dossier'). The alternative tool is implied rather than named, which keeps it short of a 5.

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

filmrightsproof.trace_public_rightsTrace public rights evidenceA
Read-onlyIdempotent
Inspect

Use when an agent needs a film/TV public-record rights dossier, not a simple record lookup. Resolves the work, reconciles maintained Copyright Office evidence, builds only source-supported relationships, and exposes provenance, ambiguity and bounded freshness. $2 per completed authorized invocation. Not legal clearance, definitive ownership, exhaustive chain of title, or private-contract analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
titleYes
creatorNo
workTypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
edgesYes
queryYes
stateYes
statusYes
methodsYes
recordsYes
traceIdYes
coverageYes
evidenceYes
dossierIdYes
freshnessYes
operationYes
candidatesYes
provenanceYes
legalNoticeYes
limitationsYes
evidenceGapsYes
resolvedWorkNo
corpusVersionNo
nonInferencesYes
schemaVersionYes
canonicalRequestYes
normalizedPartiesYes
unresolvedQuestionsYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover safety profile (readOnly, idempotent, openWorld); the description adds substantive behavior: it reconciles Copyright Office evidence, builds only source-supported relationships, exposes provenance/ambiguity/bounded freshness, and discloses a $2-per-completed-authorized-invocation cost. That is meaningfully more than the structured fields provide.

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 usage trigger, followed by a compact behavior clause, cost, and a boundary list. Dense but every clause carries information; slightly long but no filler sentences.

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?

An output schema exists, so return-value explanation is not required, and the description covers scope, cost, and limitations well. The remaining gap is the undocumented input parameters, which is the one area an agent still lacks guidance on.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters (title, year, creator, workType, limit), and the description adds almost no parameter meaning beyond a vague 'resolves the work'. It never explains how year, creator, workType narrow the search or what limit controls, so it fails to compensate for the coverage gap.

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 ('Trace public rights evidence' / 'film/TV public-record rights dossier') and explicitly contrasts with the sibling capability by saying it is 'not a simple record lookup'. An agent can distinguish this from search_public_records without opening the 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?

Gives a clear trigger ('Use when an agent needs a film/TV public-record rights dossier') and a set of exclusions (not legal clearance, ownership, chain of title, private contracts). It does not name the sibling tool search_public_records explicitly as the alternative for simple lookups, so routing is implied rather than spelled out.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedfilmrightsproof.search_public_records1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "candidates": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "publicationYear": {
        +            "anyOf": [
        +              {
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "reasons": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "registrationNumber": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "score": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "workType": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "title"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "coverage": {
        +      "type": "object"
        +    },
        +    "evidenceGaps": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "freshness": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "currentEvidenceUsable": {
        +          "type": "boolean"
        +        },
        +        "currentLookupAttempted": {
        +          "type": "boolean"
        +        },
        +        "currentLookupVerified": {
        +          "description": "Narrow compatibility summary. True only when the bounded current lookup completed without normalization rejection; it does not mean exhaustive coverage.",
        +          "type": "boolean"
        +        },
        +        "error": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evidenceStatus": {
        +          "enum": [
        +            "usable",
        +            "usable_no_qualifying_match",
        +            "partial",
        +            "partial_no_qualifying_match",
        +            "zero_hits",
        +            "normalization_failed",
        +            "unavailable"
        +          ]
        +        },
        +        "fallback": {
        +          "type": "object"
        +        },
        +        "observation": {
        +          "type": "object"
        +        },
        +        "observedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "parsingStatus": {
        +          "enum": [
        +            "succeeded",
        +            "failed",
        +            "not_completed",
        +            "not_attempted"
        +          ]
        +        },
        +        "queryCompletedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "queryStartedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "schemaVersion": {
        +          "const": "filmrightsproof-freshness.v2"
        +        },
        +        "searchScope": {
        +          "anyOf": [
        +            {
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "sourceMix": {
        +          "type": "object"
        +        },
        +        "transportStatus": {
        +          "enum": [
        +            "succeeded",
        +            "failed",
        +            "not_attempted"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "schemaVersion",
        +        "currentLookupAttempted",
        +        "currentLookupVerified",
        +        "currentEvidenceUsable",
        +        "transportStatus",
        +        "parsingStatus",
        +        "evidenceStatus",
        +        "observation",
        +        "fallback"
        +      ],
        +      "type": "object"
        +    },
        +    "legalNotice": {
        +      "type": "string"
        +    },
        +    "query": {
        +      "type": "object"
        +    },
        +    "schemaVersion": {
        +      "const": "public-record-search.v1"
        +    }
        +  },
        +  "required": [
        +    "schemaVersion",
        +    "query",
        +    "candidates",
        +    "coverage",
        +    "freshness",
        +    "evidenceGaps",
        +    "legalNotice"
        +  ],
        +  "type": "object"
        +}
    • Changedfilmrightsproof.trace_public_rights1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "candidates": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "publicationYear": {
        +            "anyOf": [
        +              {
        +                "type": "integer"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "reasons": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "registrationNumber": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "score": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "workType": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "title"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "canonicalRequest": {
        +      "type": "object"
        +    },
        +    "corpusVersion": {
        +      "type": "integer"
        +    },
        +    "coverage": {
        +      "type": "object"
        +    },
        +    "dossierId": {
        +      "type": "string"
        +    },
        +    "edges": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "sourceSemantics": {
        +            "type": "object"
        +          },
        +          "support": {
        +            "items": {
        +              "type": "object"
        +            },
        +            "minItems": 1,
        +            "type": "array"
        +          },
        +          "type": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "type",
        +          "support",
        +          "sourceSemantics"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "evidence": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "cancellations": {
        +          "items": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "recordType": {
        +                "type": "string"
        +              },
        +              "source": {
        +                "type": "object"
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "recordType",
        +              "title",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "recordations": {
        +          "items": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "recordType": {
        +                "type": "string"
        +              },
        +              "source": {
        +                "type": "object"
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "recordType",
        +              "title",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "registrations": {
        +          "items": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "recordType": {
        +                "type": "string"
        +              },
        +              "source": {
        +                "type": "object"
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "recordType",
        +              "title",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "renewals": {
        +          "items": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "recordType": {
        +                "type": "string"
        +              },
        +              "source": {
        +                "type": "object"
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "recordType",
        +              "title",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "terminations": {
        +          "items": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "id": {
        +                "type": "string"
        +              },
        +              "recordType": {
        +                "type": "string"
        +              },
        +              "source": {
        +                "type": "object"
        +              },
        +              "title": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "recordType",
        +              "title",
        +              "source"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "registrations",
        +        "renewals",
        +        "recordations",
        +        "terminations",
        +        "cancellations"
        +      ],
        +      "type": "object"
        +    },
        +    "evidenceGaps": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "freshness": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "currentEvidenceUsable": {
        +          "type": "boolean"
        +        },
        +        "currentLookupAttempted": {
        +          "type": "boolean"
        +        },
        +        "currentLookupVerified": {
        +          "description": "Narrow compatibility summary. True only when the bounded current lookup completed without normalization rejection; it does not mean exhaustive coverage.",
        +          "type": "boolean"
        +        },
        +        "error": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "evidenceStatus": {
        +          "enum": [
        +            "usable",
        +            "usable_no_qualifying_match",
        +            "partial",
        +            "partial_no_qualifying_match",
        +            "zero_hits",
        +            "normalization_failed",
        +            "unavailable"
        +          ]
        +        },
        +        "fallback": {
        +          "type": "object"
        +        },
        +        "observation": {
        +          "type": "object"
        +        },
        +        "observedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "parsingStatus": {
        +          "enum": [
        +            "succeeded",
        +            "failed",
        +            "not_completed",
        +            "not_attempted"
        +          ]
        +        },
        +        "queryCompletedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "queryStartedAt": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "schemaVersion": {
        +          "const": "filmrightsproof-freshness.v2"
        +        },
        +        "searchScope": {
        +          "anyOf": [
        +            {
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "sourceMix": {
        +          "type": "object"
        +        },
        +        "transportStatus": {
        +          "enum": [
        +            "succeeded",
        +            "failed",
        +            "not_attempted"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "schemaVersion",
        +        "currentLookupAttempted",
        +        "currentLookupVerified",
        +        "currentEvidenceUsable",
        +        "transportStatus",
        +        "parsingStatus",
        +        "evidenceStatus",
        +        "observation",
        +        "fallback"
        +      ],
        +      "type": "object"
        +    },
        +    "legalNotice": {
        +      "type": "string"
        +    },
        +    "limitations": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "methods": {
        +      "type": "object"
        +    },
        +    "nonInferences": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "normalizedParties": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "name": {
        +            "type": "string"
        +          },
        +          "roles": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "name"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "operation": {
        +      "const": "trace_public_rights"
        +    },
        +    "provenance": {
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "query": {
        +      "type": "object"
        +    },
        +    "records": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "recordType": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "object"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "recordType",
        +          "title",
        +          "source"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "resolvedWork": {
        +      "anyOf": [
        +        {
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "schemaVersion": {
        +      "const": "trace-public-rights.v1"
        +    },
        +    "state": {
        +      "type": "object"
        +    },
        +    "status": {
        +      "enum": [
        +        "recorded_lineage_found",
        +        "partial_recorded_lineage",
        +        "ambiguous_work_identity",
        +        "no_match_within_search_scope",
        +        "insufficient_public_evidence"
        +      ]
        +    },
        +    "traceId": {
        +      "type": "string"
        +    },
        +    "unresolvedQuestions": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "schemaVersion",
        +    "operation",
        +    "traceId",
        +    "dossierId",
        +    "status",
        +    "query",
        +    "canonicalRequest",
        +    "candidates",
        +    "records",
        +    "evidence",
        +    "normalizedParties",
        +    "edges",
        +    "provenance",
        +    "freshness",
        +    "coverage",
        +    "unresolvedQuestions",
        +    "nonInferences",
        +    "evidenceGaps",
        +    "limitations",
        +    "methods",
        +    "state",
        +    "legalNotice"
        +  ],
        +  "type": "object"
        +}
  2. 2 tool updates
    • First observedfilmrightsproof.search_public_records
    • First observedfilmrightsproof.trace_public_rights

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Cryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Licensed, rights-cleared content for AI agents, 17 tools to discover, license, retrieve, and verify expert content with on-chain proof and EU AI Act Article 53 support.
    8
    137 npm
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    AI agent provenance, trust, and auditability layer. VERITAS multi-gate scoring, Cortex approval gates, S.E.A.L. hash-chain audit ledger, and semantic RAG with cryptographic provenance tracking for every decision an agent makes.
    27
    5
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources