Skip to main content
Glama

add_free_subscriber

Add an explicitly opted-in reader to your Substack free newsletter. Requires verified consent; dry-run by default, set dry_run=false to write.

Instructions

Add one explicitly opted-in reader to this publication's free newsletter. Changes email distribution: future newsletter emails may be delivered. Requires verified newsletter consent; never infer consent from a meeting alone. Dry-run by default; set dry_run=false to write. Set send_welcome_email=true to request Substack's welcome email for a new addition; delivery is not verified. Never grants paid access or overrides suppression. Existing members are skipped. An unverified result MUST be reconciled using get_subscriber, not automatically retried. Automated callers must persist an attempt ledger BEFORE invoking this tool; in-memory duplicate protection does not survive restarts or separate HTTP sessions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailYes
dry_runNo
consent_evidenceNoRequired for a live add: the source reference and timestamp of this email address's explicit newsletter opt-in. Retain the underlying evidence privately; this field records caller attestation, not independent proof.
consent_confirmedYes
send_welcome_emailNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
emailYes
statusYes
subscriberNo
publicationYes
consent_evidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: it changes future email distribution, default dry-run behavior, welcome email delivery is unverified, it never grants paid access or overrides suppression, existing members are skipped, and automated callers must persist an attempt ledger before invoking. These are non-obvious effects an agent could not infer from readOnlyHint or destructiveHint alone.

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?

The description is dense but every sentence earns its place: it opens with the core operation, then covers side effects, consent requirements, dry-run behavior, failure handling, and cross-session persistence. There is no filler or repetition.

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?

Given the tool has an output schema and five parameters including nested consent evidence, the description is complete: it covers prerequisites, side effects, reconciliation, duplicate protection, and non-idempotency. Nothing needed for safe invocation is missing.

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 description coverage is only 20%, and the description compensates by explaining dry_run, send_welcome_email, and the consent requirement. consent_evidence already has its own schema description, and email is self-explanatory. The description therefore adds meaning to the most behavior-critical parameters even though not every parameter is individually discussed.

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 states a precise verb and resource: 'Add one explicitly opted-in reader to this publication's free newsletter.' It also scopes the operation to free access and explicitly says it 'Never grants paid access,' which distinguishes it from any subscription or payment-related sibling tool.

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?

The description gives concrete usage rules: requires verified newsletter consent, never infer consent from a meeting, dry-run by default with dry_run=false to write, and existing members are skipped. It also names the right reconciliation path: 'An unverified result MUST be reconciled using get_subscriber, not automatically retried.'

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