Skip to main content
Glama

Minds: Synthetic Market Research

Ask One Standalone Audience Question

ask_audience
Destructive

Accepts one standalone question request for an existing Audience and creates a private Study. Returns IDs and links; preparing is not question admission. Report the current phase from the receipt and progress.

The server may reword a context-dependent question. The accepted task and its answer contract are returned with the original request. Ambiguous requests or generated questions return planning_required before execution.

Out of scope: a questionnaire, battery, section or any request with two or more known questions. That complete set runs as one planned multi-question block inside a Study.

Attachments can be URLs, Minds uploads or files shared in the conversation (uploaded or generated images, PDFs).

Input Schema

NameRequiredDescriptionDefault
nameNoOptional name for the Study created to ask this question. Defaults to the Audience name.
audienceNoWhich Audience to ask. Give the id when known, otherwise the name.
questionYesExactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the question and the instructions the Minds should receive. Material the question is about (a pasted newsletter, email, ad copy or concept text) goes in textAttachments, verbatim, not here. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. The research reader identifies the question and its answer contract together. Include the complete authored labels, ordering and selection instructions. Numbered answer options do not by themselves make a request a multi-question battery. An invalid or ambiguous reading stops for retry or planning before execution.
attachmentsNoFiles/images processed once and given to every Audience member as context. Accepts a public HTTP(S) URL or a file already in the user's Minds uploads under chat/<userId>/ (its storage path or its /api/uploads/chat/ URL). MCP cannot read a local path. Files shared in the conversation (uploaded or generated images, PDFs, documents) go in the tool's top-level conversationFiles field where the tool has one; elsewhere a PDF or image without a public URL has no MCP route and is uploaded in the Minds app first. Plain text contents (UTF-8 text, Markdown, CSV, JSON) can go to import_audience_sources. External URLs are copied into Minds storage before a Study is saved or run. temp/, portfolio/ and context/ paths and /api/uploads/file-access/ URLs belong to other owners and are not accepted. A Study does not start until Minds can read every file.
textAttachmentsNoPasted material the question is about: a newsletter, an email, ad copy, a concept or any other text the user shared and wants the Minds to react to. Put it here verbatim, one entry per piece, instead of inside the question. Each entry is stored as a Markdown file and given to the Minds like an uploaded attachment; a brief or background note sent here is read as such and not shown to them.
conversationFilesNoStimulus files given to every Audience member, alongside any attachments. 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
runIdNoDurable run identifier.
localeNoStudy display locale.
statusNopreparing when the request was accepted for durable interpretation but no question was submitted; queued once a question was submitted; or planning_required when the request needs a reviewed plan and explicit confirmation before execution.
apiBaseNoMinds base URL.
studyIdNoStudy containing this request and, once admitted, its question.
acceptedNoTrue when durable request preparation was accepted; this does not mean a respondent question was submitted.
questionNoThe verified respondent question, when returned. Its text alone does not report whether the request is queued, the Minds are answering or answers are complete; use the current request's receipt and progress.
planLimitNoPresent when a plan limit refused, truncated or stopped Study work.
questionIdNoLogical request or question identifier. Present during preparation as the exact clientRequestId; use this returned questionId with studyId on the first get_study_status check for the current request. It follows preparation and any admitted question, independently of operationId.
waitingForNoPresent when the question is queued behind Minds still training: how many it waits for. It starts once they are ready; nothing has been answered yet.
operationIdNoOpaque durable preparation operation identifier, present while the request is being interpreted. This is separate from questionId and must not be passed as a question filter.
workspaceUrlNoAuthenticated Minds workspace link for the Study.
questionnaireNoFor planning_required when the uploaded files hold a questionnaire: its verbatim questions with their answer formats, the document's skip rules, changed answer labels, pictures and set-aside parts, saved as the exact draft draftPlanId at revision. Nothing ran yet: after the person's explicit confirmation, start that draft with start_study_run.
sharedStudyUrlNoPublic share link, or null when link sharing is off.
clientRequestIdNoThe accepted logical request identifier. A preparing receipt also returns this exact value as questionId for progress reads.
executionStartedNoFalse when no respondent question was submitted, including accepted preparation and planning_required. Submission or queueing does not establish that Minds are answering; use the current request's progress to report answering or completion.
proposedQuestionsNoFor planning_required: the respondent questions detected or proposed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / executionStarted / description
      Previous value: -"False when nothing was submitted."New value: +"False when no respondent question was submitted, including accepted preparation and planning_required. Submission or queueing does not establish that Minds are answering; use the current request's progress to report answering or completion."
    • changedOutput schema / properties / question / description
      Previous value: -"The submitted question."New value: +"The verified respondent question, when returned. Its text alone does not report whether the request is queued, the Minds are answering or answers are complete; use the current request's receipt and progress."
    • changedOutput schema / properties / studyId / description
      Previous value: -"Study the question was asked in."New value: +"Study containing this request and, once admitted, its question."
  2. Changed3 schema fields changed
    • changedOutput schema / properties / clientRequestId / description
      Previous value: -"The accepted request identifier; pass it as questionId to get_study_status to follow preparation and any admitted question."New value: +"The accepted logical request identifier. A preparing receipt also returns this exact value as questionId for progress reads."
    • changedOutput schema / properties / operationId / description
      Previous value: -"Opaque durable preparation operation identifier, present while the request is being interpreted."New value: +"Opaque durable preparation operation identifier, present while the request is being interpreted. This is separate from questionId and must not be passed as a question filter."
    • changedOutput schema / properties / questionId / description
      Previous value: -"Identifier of this question; pass it to get_study_status to follow only this question."New value: +"Logical request or question identifier. Present during preparation as the exact clientRequestId; use this returned questionId with studyId on the first get_study_status check for the current request. It follows preparation and any admitted question, independently of operationId."
  3. Changed1 schema field changed
    • addedOutput schema / properties / questionnaire
      Added value: +{
      +  "description": "For planning_required when the uploaded files hold a questionnaire: its verbatim questions with their answer formats, the document's skip rules, changed answer labels, pictures and set-aside parts, saved as the exact draft draftPlanId at revision. Nothing ran yet: after the person's explicit confirmation, start that draft with start_study_run."
      +}
  4. Changed4 schema fields changed
    • addedOutput schema / properties / accepted
      Added value: +{
      +  "description": "True when durable request preparation was accepted; this does not mean a respondent question was submitted.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / clientRequestId
      Added value: +{
      +  "description": "The accepted request identifier; pass it as questionId to get_study_status to follow preparation and any admitted question.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / operationId
      Added value: +{
      +  "description": "Opaque durable preparation operation identifier, present while the request is being interpreted.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / status / description
      Previous value: -"queued once submitted, or planning_required when the request needs a reviewed multi-question plan (nothing was submitted)."New value: +"preparing when the request was accepted for durable interpretation but no question was submitted; queued once a question was submitted; or planning_required when the request needs a reviewed plan and explicit confirmation before execution."
  5. Changed3 schema fields changed
    • addedInput schema / properties / audience / properties / id / format
      Added value: +"uuid"
    • addedInput schema / properties / audience / properties / id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "billingMode": {
      -        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "context": {
      -        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits and absent when the shared owner must act.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page; absent when the shared owner must act.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "billingMode": {
      +        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "context": {
      +        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the plans link.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "plansUrl": {
      +        "description": "Absolute link to the public Minds plans page; absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / textAttachments / items / properties / text / description
      Previous value: -"The material, exactly as the user shared it."New value: +"The material, exactly as the user shared it. Never tool errors, status or retry messages, Minds or other internal links, or your own process notes."
  7. Changed2 schema fields changed
    • changedInput schema / properties / question / description
      Previous value: -"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. The research reader identifies the question and its answer contract together. Include the complete authored labels, ordering and selection instructions. Numbered answer options do not by themselves make a request a multi-question battery. An invalid or ambiguous reading stops for retry or planning before execution."New value: +"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the question and the instructions the Minds should receive. Material the question is about (a pasted newsletter, email, ad copy or concept text) goes in textAttachments, verbatim, not here. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. The research reader identifies the question and its answer contract together. Include the complete authored labels, ordering and selection instructions. Numbered answer options do not by themselves make a request a multi-question battery. An invalid or ambiguous reading stops for retry or planning before execution."
    • addedInput schema / properties / textAttachments
      Added value: +{
      +  "description": "Pasted material the question is about: a newsletter, an email, ad copy, a concept or any other text the user shared and wants the Minds to react to. Put it here verbatim, one entry per piece, instead of inside the question. Each entry is stored as a Markdown file and given to the Minds like an uploaded attachment; a brief or background note sent here is read as such and not shown to them.",
      +  "items": {
      +    "properties": {
      +      "name": {
      +        "description": "Short file name for the material, for example \"newsletter-october\". Optional.",
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "The material, exactly as the user shared it.",
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  8. Changed1 schema field changed
    • addedOutput schema / properties / waitingFor
      Added value: +{
      +  "description": "Present when the question is queued behind Minds still training: how many it waits for. It starts once they are ready; nothing has been answered yet.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
  9. Changed1 schema field changed
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "billingMode": {
      +        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "context": {
      +        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits and absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page; absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  10. Changed1 schema field changed
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  11. Changed1 schema field changed
    • changedInput schema / properties / audience / properties / name / description
      Previous value: -"Audience name to fuzzy-match among the newest 1,000 visible Audiences. Use an exact audienceId for older records."New value: +"Audience name: exact or partial (case-insensitive), with a fuzzy fallback for typos."
  12. Changed1 schema field changed
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  13. Changed21 schema fields changed
    • removedOutput schema / properties / apiBase / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / apiBase / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / executionStarted / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / executionStarted / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / locale / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / locale / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Whether any question of this request ran."
      -      },
      -      "kind": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance)."
      -      },
      -      "limit": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance of the current period, when known."
      -      },
      -      "message": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "One user-facing sentence with the link(s)."
      -      },
      -      "outcome": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused."
      -      },
      -      "periodEnd": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "When the allowance renews (ISO 8601), when known."
      -      },
      -      "remaining": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance left, when known."
      -      },
      -      "responseCreditsUrl": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Absolute link to buy response credits; only for response_credits."
      -      },
      -      "resumable": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it."
      -      },
      -      "runId": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The run concerned, when one exists."
      -      },
      -      "skippedQuestionCount": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions the limit kept from running."
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions in the request or run, when known."
      -      },
      -      "upgradeUrl": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Absolute link to the Minds plans page."
      -      },
      -      "used": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance used in the current period, when known."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / question / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / question / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / questionId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / questionId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / runId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / runId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / sharedStudyUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / sharedStudyUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / status / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / status / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / studyId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / studyId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / workspaceUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / workspaceUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  14. Changed3 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every Audience member as context. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path. A file shared in the conversation (uploaded or generated image, PDF, document) is read through the tool's top-level files field where the tool has one; elsewhere a PDF or image with no public URL has no MCP route and is uploaded in the Minds app first. Text contents (UTF-8 text, Markdown, CSV, JSON) can be sent to import_audience_sources. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path, and any /api/uploads/file-access/ URL, is refused as not belonging to the workspace owner; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Files/images processed once and given to every Audience member as context. Accepts a public HTTP(S) URL or a file already in the user's Minds uploads under chat/<userId>/ (its storage path or its /api/uploads/chat/ URL). MCP cannot read a local path. Files shared in the conversation (uploaded or generated images, PDFs, documents) go in the tool's top-level conversationFiles field where the tool has one; elsewhere a PDF or image without a public URL has no MCP route and is uploaded in the Minds app first. Plain text contents (UTF-8 text, Markdown, CSV, JSON) can go to import_audience_sources. External URLs are copied into Minds storage before a Study is saved or run. temp/, portfolio/ and context/ paths and /api/uploads/file-access/ URLs belong to other owners and are not accepted. A Study does not start until Minds can read every file."
    • addedInput schema / properties / conversationFiles
      Added value: +{
      +  "description": "Stimulus files given to every Audience member, alongside any attachments. 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"
      +}
    • removedInput schema / properties / files
      Removed value: -{
      -  "description": "Stimulus files given to every Audience member, alongside any attachments. 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"
      -}
  15. Changed5 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every Audience member as context. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Files/images processed once and given to every Audience member as context. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path. A file shared in the conversation (uploaded or generated image, PDF, document) is read through the tool's top-level files field where the tool has one; elsewhere a PDF or image with no public URL has no MCP route and is uploaded in the Minds app first. Text contents (UTF-8 text, Markdown, CSV, JSON) can be sent to import_audience_sources. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path, and any /api/uploads/file-access/ URL, is refused as not belonging to the workspace owner; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / path / description
      Previous value: -"Storage path of a file already uploaded to Minds. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Storage path of a file already uploaded to Minds (chat/<userId>/...)."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"Fetchable HTTP(S), signed, or Minds workspace upload URL. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Fetchable HTTP(S), signed, or Minds workspace upload URL."
    • addedInput schema / properties / files
      Added value: +{
      +  "description": "Stimulus files given to every Audience member, alongside any attachments. 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"
      +}
    • addedOutput schema / properties / planLimit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "executionStarted": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Whether any question of this request ran."
      +        },
      +        "kind": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance)."
      +        },
      +        "limit": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance of the current period, when known."
      +        },
      +        "message": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "One user-facing sentence with the link(s)."
      +        },
      +        "outcome": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused."
      +        },
      +        "periodEnd": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "When the allowance renews (ISO 8601), when known."
      +        },
      +        "remaining": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance left, when known."
      +        },
      +        "responseCreditsUrl": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Absolute link to buy response credits; only for response_credits."
      +        },
      +        "resumable": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it."
      +        },
      +        "runId": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The run concerned, when one exists."
      +        },
      +        "skippedQuestionCount": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions the limit kept from running."
      +        },
      +        "skippedQuestions": {
      +          "anyOf": [
      +            {
      +              "items": {},
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions not asked: { index (zero-based), text }."
      +        },
      +        "totalQuestionCount": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions in the request or run, when known."
      +        },
      +        "upgradeUrl": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Absolute link to the Minds plans page."
      +        },
      +        "used": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance used in the current period, when known."
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Present when a plan limit refused, truncated or stopped Study work."
      +}
  16. Changed3 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every Audience member as context. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Files/images processed once and given to every Audience member as context. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / path / description
      Previous value: -"Storage path of a file already uploaded to Minds. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Storage path of a file already uploaded to Minds. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"Fetchable HTTP(S), signed, or Minds workspace upload URL. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."New value: +"Fetchable HTTP(S), signed, or Minds workspace upload URL. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
  17. Changed1 schema field changed
    • changedInput schema / properties / question / description
      Previous value: -"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. A direct question is classified automatically, and a question whose options are only prose can still be answered as free text, which yields no option breakdown. A question whose options must be ranked, or whose exact option labels and order must be preserved, belongs in a planned multi-question block, where each item carries an explicit response contract."New value: +"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. The research reader identifies the question and its answer contract together. Include the complete authored labels, ordering and selection instructions. Numbered answer options do not by themselves make a request a multi-question battery. An invalid or ambiguous reading stops for retry or planning before execution."
  18. Changed1 schema field changed
    • changedInput schema / properties / question / description
      Previous value: -"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here."New value: +"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. A direct question is classified automatically, and a question whose options are only prose can still be answered as free text, which yields no option breakdown. A question whose options must be ranked, or whose exact option labels and order must be preserved, belongs in a planned multi-question block, where each item carries an explicit response contract."
  19. Changed5 schema fields changed
    • addedInput schema / properties / audience
      Added value: +{
      +  "description": "Which Audience to ask. Give the id when known, otherwise the name.",
      +  "properties": {
      +    "id": {
      +      "description": "Audience ID (UUID). Preferred when known.",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Audience name to fuzzy-match among the newest 1,000 visible Audiences. Use an exact audienceId for older records.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / audienceId
      Removed value: -{
      -  "description": "Audience ID (UUID). Preferred when known.",
      -  "type": "string"
      -}
    • removedInput schema / properties / audienceName
      Removed value: -{
      -  "description": "Audience name to fuzzy-match among the newest 1,000 visible Audiences. Use an exact audienceId for older records.",
      -  "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"
      -}
  20. Changed1 schema field changed
    • changedInput schema / properties / audienceName / description
      Previous value: -"Audience name to resolve via fuzzy match against the user's Audiences."New value: +"Audience name to fuzzy-match among the newest 1,000 visible Audiences. Use an exact audienceId for older records."
  21. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "apiBase": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Minds base URL."
      +    },
      +    "executionStarted": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "False when nothing was submitted."
      +    },
      +    "locale": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study display locale."
      +    },
      +    "proposedQuestions": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "For planning_required: the respondent questions detected or proposed."
      +    },
      +    "question": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The submitted question."
      +    },
      +    "questionId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Identifier of this question; pass it to get_study_status to follow only this question."
      +    },
      +    "runId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Durable run identifier."
      +    },
      +    "sharedStudyUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Public share link, or null when link sharing is off."
      +    },
      +    "status": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "queued once submitted, or planning_required when the request needs a reviewed multi-question plan (nothing was submitted)."
      +    },
      +    "studyId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study the question was asked in."
      +    },
      +    "workspaceUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Authenticated Minds workspace link for the Study."
      +    }
      +  },
      +  "type": "object"
      +}
  22. Changed3 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every Audience member as context. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."New value: +"Files/images processed once and given to every Audience member as context. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / path / description
      Previous value: -"Storage path of a file already uploaded to Minds. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."New value: +"Storage path of a file already uploaded to Minds. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"Fetchable HTTP(S), signed, or Minds workspace upload URL. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."New value: +"Fetchable HTTP(S), signed, or Minds workspace upload URL. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset."
  23. Changed1 schema field changed
    • addedInput schema / properties / attachments / items / properties / id
      Added value: +{
      +  "description": "Stable asset ID used by questionAttachments to assign this file to specific planned questions.",
      +  "maxLength": 255,
      +  "minLength": 1,
      +  "type": "string"
      +}
  24. Changed3 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every Audience member as context. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. The Study refuses to start if Minds cannot read the asset."New value: +"Files/images processed once and given to every Audience member as context. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / path / description
      Previous value: -"Storage path of a file already uploaded to Minds. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. The Study refuses to start if Minds cannot read the asset."New value: +"Storage path of a file already uploaded to Minds. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"Fetchable HTTP(S), signed, or Minds workspace upload URL. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. The Study refuses to start if Minds cannot read the asset."New value: +"Fetchable HTTP(S), signed, or Minds workspace upload URL. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. The Study refuses to start if Minds cannot read the asset."
  25. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare a non-read-only, destructive, non-idempotent, open-world mutation, and the description adds real context beyond that: the Study is private, 'preparing is not question admission', the server may reword context-dependent questions, ambiguous requests return planning_required, and a Study does not start until Minds can read every file. It does not spell out cost/credit consumption for asking a live Audience, which is the main remaining gap for a heavy mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The out-of-scope rule is well placed and front-loaded, but the opening is dense with terse fragments ('preparing is not question admission', 'Report the current phase from the receipt and progress') whose meaning is not self-evident. Several attachment sentences duplicate schema text word-for-word and could be trimmed.

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 six-parameter mutation with an output schema, the description covers the essential decision surface: single-question scope, planning fallback, private Study creation, and attachment handling. Return values need not be explained since an output schema exists, leaving only cost/latency expectations unaddressed.

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 description coverage is 100%, so every parameter, including the nested attachment objects, is already documented in detail. The description's attachment paragraph largely restates the schema (URL vs Minds upload path, temp/portfolio/context exclusions); the one added nuance is that pasted material belongs in textAttachments rather than the question, which the schema also states.

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?

Opens with a specific verb and resource: accepts exactly one standalone question for an existing Audience and creates a private Study. It explicitly carves out the multi-question case, so an agent can tell it apart from ask_study / plan_study_questions without opening a schema.

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?

The 'Out of scope' paragraph states a clear when-not-to-use rule (questionnaire, battery, section, or two or more known questions) and says the alternative is a planned multi-question block inside a Study. Ambiguous or generated questions route to planning_required, which is actionable, though the sibling tool for that path is not named.

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.