Skip to main content
Glama

Minds: Synthetic Market Research

Export Audience Brief

export_audience
Destructive

Exports an Audience brief or kind validation_report (scores, KPIs, answer shares, provenance) as Markdown/PDF/DOCX/PPTX. Brief PDF/PPTX can fetch public HTTPS member portraits. Starts artifact work; force can replace it. Slow exports may irreversibly email the requesting account.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "export_audience"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNoWhat to export: "brief" (default), the Audience brief; or "validation_report", every scored validation of the Audience with the overall score calculation, every KPI with its 95% interval, per-question answer shares and provenance. A validation report needs edit access and a scored validation.
forceNoRegenerate instead of returning a cached artifact.
formatNoExport format: "md" (default), "pdf", "docx"; "pptx" for a brief only; "xlsx" (every table as a sheet) for a validation report only.
audienceNoWhich Audience to export.

Output Schema

NameRequiredDescriptionDefault
formatNoExport format.
contentNoInline Markdown content, for Markdown exports.
filenameNoSuggested file name.
mimeTypeNoMIME type of the file.
audienceIdNoExported Audience.
contentBase64NoBase64 file content, for binary formats.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • removedOutput schema / properties / audienceId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / audienceId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / content / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / content / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / contentBase64 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / contentBase64 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / filename / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / filename / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / format / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / format / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / mimeType / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / mimeType / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / kind / description
      Previous value: -"What to export: \"brief\" (default), the Audience brief; or \"validation_report\", every scored validation of the Audience with the overall score calculation, every KPI with its 95% interval and flat baseline, per-question answer shares and provenance. A validation report needs edit access and a scored validation."New value: +"What to export: \"brief\" (default), the Audience brief; or \"validation_report\", every scored validation of the Audience with the overall score calculation, every KPI with its 95% interval, per-question answer shares and provenance. A validation report needs edit access and a scored validation."
  3. Changed3 schema fields changed
    • changedInput schema / properties / format / description
      Previous value: -"Export format: \"md\" (default), \"pdf\", \"docx\", or \"pptx\""New value: +"Export format: \"md\" (default), \"pdf\", \"docx\"; \"pptx\" for a brief only; \"xlsx\" (every table as a sheet) for a validation report only."
    • changedInput schema / properties / format / enum
      Previous value: -[
      -  "md",
      -  "markdown",
      -  "pdf",
      -  "docx",
      -  "pptx"
      -]New value: +[
      +  "md",
      +  "markdown",
      +  "pdf",
      +  "docx",
      +  "pptx",
      +  "xlsx"
      +]
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "What to export: \"brief\" (default), the Audience brief; or \"validation_report\", every scored validation of the Audience with the overall score calculation, every KPI with its 95% interval and flat baseline, per-question answer shares and provenance. A validation report needs edit access and a scored validation.",
      +  "enum": [
      +    "brief",
      +    "validation_report"
      +  ],
      +  "type": "string"
      +}
  4. Changed5 schema fields changed
    • addedInput schema / properties / audience
      Added value: +{
      +  "description": "Which Audience to export.",
      +  "properties": {
      +    "id": {
      +      "description": "Audience ID (UUID).",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Audience name (fuzzy matched).",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / audienceId
      Removed value: -{
      -  "description": "Audience ID (UUID).",
      -  "type": "string"
      -}
    • removedInput schema / properties / audienceName
      Removed value: -{
      -  "description": "Audience name (fuzzy matched).",
      -  "type": "string"
      -}
    • removedInput schema / properties / groupId
      Removed value: -{
      -  "description": "Legacy alias for audienceId. Accepted for compatibility.",
      -  "type": "string"
      -}
    • removedInput schema / properties / groupName
      Removed value: -{
      -  "description": "Legacy alias for audienceName. Accepted for compatibility.",
      -  "type": "string"
      -}
  5. Changed5 schema fields changed
    • addedOutput schema / properties / contentBase64
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Base64 file content, for binary formats."
      +}
    • removedOutput schema / properties / downloadUrl
      Removed value: -{
      -  "description": "Download link for the exported file, when available."
      -}
    • addedOutput schema / properties / filename
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Suggested file name."
      +}
    • addedOutput schema / properties / format / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / mimeType
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "MIME type of the file."
      +}
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "audienceId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Exported Audience."
      +    },
      +    "content": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Inline Markdown content, for Markdown exports."
      +    },
      +    "downloadUrl": {
      +      "description": "Download link for the exported file, when available."
      +    },
      +    "format": {
      +      "description": "Export format."
      +    }
      +  },
      +  "type": "object"
      +}
  7. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds genuinely new behavior: this kicks off an asynchronous artifact job, force replaces an existing artifact, public HTTPS member portraits may be fetched for brief PDF/PPTX, and slow exports can irreversibly email the requesting account. That last side effect is the kind of non-obvious, irreversible outcome an agent must know before calling. It stops short of saying what specifically is overwritten when force is used.

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?

Four short sentences, each carrying a distinct fact (what is exported, external portrait fetch, async/force behavior, email side effect), with the core export purpose front-loaded. The construction 'or kind validation_report' is slightly awkward, but nothing is wasted.

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?

For a four-parameter tool with an output schema and rich annotations, the description covers output formats, artifact-job semantics, the force/replace behavior, and the irreversible email risk. The main remaining gap is sibling routing relative to the many other export_* tools, which the description never addresses.

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 100%, so kind, force, format, and audience are already fully documented with enums and format restrictions. The description's only contributions are that force replaces cached artifact work and a summary of what a validation_report contains, which largely restates the schema. Baseline 3 is appropriate when the schema carries the parameter burden.

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 (exports) and resource (Audience brief / validation_report) and enumerates the artifact contents and output formats, so the agent knows exactly what it produces. It does not distinguish itself from nearby siblings such as export_study, export_mind, or export_heatmap, leaving the Audience scoping to be inferred from the audience parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the audience parameter and the kind enum tell the agent this is for Audience artifacts, but there is no explicit 'use this when… use export_study instead when…' guidance. The note about validation reports needing edit access and a scored validation appears in the schema, not as routing guidance in the description.

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.