Skip to main content
Glama

Record consent

record_consent

Store proof that an address opted in, as the user's signup form saw it: what the person agreed to, from where and when. It does not resubscribe or unblock anyone by itself.

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": {
      "project_id": "<project_id>",
      "email": "<email>",
      "wording": "<wording>",
      "ip_address": "<ip_address>",
      "user_agent": "<user_agent>",
      "consented_at": "<consented_at>"
    },
    "name": "record_consent"
  }
}

Input Schema

NameRequiredDescriptionDefault
emailYes
wordingYes
ip_addressYes
project_idYes
user_agentYes
consented_atYesWhen they agreed, in epoch milliseconds.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish that this is a non-destructive, non-idempotent, closed-world write. The description adds genuinely new behavioral context by bounding the effect: it records evidence only and will not alter subscription or block state. It does not say what happens on a duplicate submission for the same address, which matters given idempotentHint=false.

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?

Two tight sentences with the core action front-loaded and the boundary condition immediately after. Nothing is wasted, though 'as the user's signup form saw it' is evocative rather than precise and could have carried a concrete detail instead.

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?

For a 6-required-parameter write with no output schema and thin schema descriptions, the definition covers what is captured and what is not changed. It leaves open duplicate-consent behavior, permission/project scoping, and the practical meaning of the nullable-but-required evidence fields.

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 coverage is only 17% (only consented_at is annotated), but the description compensates by mapping most fields conceptually: address (email), what they agreed to (wording), from where (ip_address, user_agent), and when (consented_at). It adds nothing about project_id, expectable formats, or why wording/ip_address/user_agent are required yet null-tolerant.

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 ('Store proof that an address opted in') plus the exact scope: what was agreed to, from where, and when. The closing clause distinguishes it from the subscription-state mutators (resubscribe_email, unblock_email) that an agent might otherwise confuse it with.

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 does not resubscribe or unblock anyone by itself' gives explicit when-not guidance and steers the agent away from expecting state changes. It stops short of naming the alternative tools or stating the positive trigger condition (e.g. 'use when persisting signup-form evidence at the moment of opt-in').

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