Skip to main content
Glama

setBetaAgreement

Set or replace this beta project's NDA/agreement document. Testers must accept it during onboarding before they can participate. Upload the PDF first with uploadMedia (target 'agreement', application/pdf only) and pass the attachmentId here; a previously set agreement document is replaced and its file deleted. Only allowed while the beta is a draft or scheduled: the agreement is frozen once the beta starts. The returned agreementUrl is a time-limited download link for the human user and differs on every call.

Input Schema

NameRequiredDescriptionDefault
productIdYesID of the beta project to query. Get valid IDs from the listProducts tool.
attachmentIdYesAttachment handle from uploadMedia with target 'agreement'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing that a previously set agreement is replaced and its file deleted, that the agreement freezes after launch, and that agreementUrl is a time-limited link that differs each call. Minor tension: the file-deletion side effect sits awkwardly against destructiveHint=false, though it is cleanup of a superseded file rather than destruction of the beta data.

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?

Four tight sentences, front-loaded with the action, each carrying unique information: prerequisites, replacement semantics, state restriction, and return-value caveat. No filler or restatement of the name.

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?

No output schema exists, yet the description explains the returned agreementUrl and its time-limited nature. Combined with the documented prerequisites and lifecycle restriction, an agent has everything needed to call this correctly.

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 100%, so the baseline is 3; the description nonetheless adds real meaning—the attachmentId must originate from uploadMedia with target 'agreement' and be application/pdf, and the ID identifies the beta whose agreement is being frozen or replaced.

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?

Specific verb+resource (set/replace the beta project's NDA/agreement document) with clear scope. It is trivially distinguishable from siblings like removeBetaAgreement, setTesterAgreementBypass, and uploadMedia, which are referenced by role.

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?

States the prerequisite workflow explicitly (upload the PDF first with uploadMedia, target 'agreement', application/pdf only, then pass the attachmentId) and the state precondition (only while the beta is draft or scheduled; frozen once the beta starts). The agent knows both when the call will succeed and what to do beforehand.

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