Skip to main content
Glama

Minds: Synthetic Market Research

Import Audience Research Sources

import_audience_sources
Idempotent

Imports supplied UTF-8 text, Markdown, CSV and JSON research files into account-owned storage. Accepts file contents rather than local paths. Identical file imports are safe to retry. Optional caller-reviewed grounding JSON binds distributions to existingFiles followed by files in sourceIdx order, returning a normalized snapshot and checksum for audience preview and creation. This operation creates no Audience or Minds and performs no web search or independent verification of supplied percentages.

Input Schema

NameRequiredDescriptionDefault
filesNo
existingFilesNo
groundingJsonNoOptional explicitly supplied distribution JSON (the grounding object, not respondent rows). Sources are bound to the files in request order: existingFiles followed by files. Import does not assert independent verification of the supplied percentages.
conversationFilesNoResearch files (text, Markdown, CSV, JSON) imported like existingFiles; in sourceIdx order they follow existingFiles and precede files. Files shared in this conversation: uploaded or generated images, PDFs, documents. Each is copied into Minds storage on receipt; its file_id is its attachment id.

Output Schema

NameRequiredDescriptionDefault
dataNoImport result from the Minds API: accepted sources and their processing state.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / conversationFiles
      Added value: +{
      +  "description": "Research files (text, Markdown, CSV, JSON) imported like existingFiles; in sourceIdx order they follow existingFiles and precede files. Files shared in this conversation: uploaded or generated images, PDFs, documents. Each is copied into Minds storage on receipt; its file_id is its attachment id.",
      +  "items": {
      +    "properties": {
      +      "download_url": {
      +        "description": "Download URL the chat host supplies for this file.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "file_id": {
      +        "description": "The chat host's ID for this file.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "file_name": {
      +        "description": "File name when the host supplies it.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "mime_type": {
      +        "description": "MIME type when the host supplies it.",
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "download_url",
      +      "file_id"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "data": {
      +      "description": "Import result from the Minds API: accepted sources and their processing state."
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=true, but the description adds real value: retry semantics for identical imports, the fact that nothing is created downstream, and that supplied percentages are not independently verified. The binding order (existingFiles then files by sourceIdx) is a behavioral detail an agent needs that annotations cannot express.

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 sentences, front-loaded with the core action and modality before the grounding and safety caveats. The grounding sentence is dense and leans on schema jargon (sourceIdx) that is only defined in the parameter help, but no sentence is filler.

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 values need not be described, and the description still flags the normalized snapshot and checksum that come back. For a four-parameter import with side-effect ambiguity, it covers the safety profile and binding semantics; only edge cases (item/size limits, empty-file behavior) are left to the schema.

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?

With 50% schema coverage, the description compensates well: it clarifies that file content is passed inline, that groundingJson is the distribution object rather than respondent rows, and it spells out the source binding order across existingFiles, conversationFiles and files. It does not explain the 20-item or 5MB limits, but those live in the schema.

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 first sentence names a specific verb (imports) and resource (UTF-8 text, Markdown, CSV and JSON research files) plus the destination (account-owned storage). It also pins down the input modality ('accepts file contents rather than local paths'), which separates it from path-based or audience-creating siblings like create_audience_from_brief.

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 states the call is safe to retry when files are identical, that grounding JSON is optional, and explicitly bounds scope ('creates no Audience or Minds', 'performs no web search or independent verification'). It stops short of naming a specific alternative tool to use when the intent is actually audience creation, so the when-not is implied rather than routed.

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.