Skip to main content
Glama

Minds: Synthetic Market Research

Ask One Standalone Question in a Study

ask_study
Idempotent

Submits exactly one respondent-visible question in an existing Study: one standalone question, or one adaptive follow-up whose wording could not be known before earlier results.

Out of scope: a questionnaire, battery, section or any request with two or more known questions. That complete set belongs in one planned and confirmed multi-question block, submitted once rather than question by question.

The question text can reach the Minds, so it carries only the question, its stimulus and respondent-facing instructions — never planner or client orchestration notes. Scale, categorical and qualitative questions are classified automatically, and the result carries the question id, status and workspace links.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoModel override for this question. Use connection for a verified team model connection, or name with provider; the two are mutually exclusive.
studyNoWhich Study to ask in. Omit entirely to continue the active Study from this MCP session.
evidenceNoMaterial given to every participating Mind for this question, and the policy governing what else it may use.
questionYesExactly ONE respondent-visible standalone question or result-dependent adaptive follow-up for every selected Mind. Never concatenate, enumerate, or otherwise place a questionnaire, survey, battery, section, cohesive question set, or two or more known questions in this field. The system may classify or reformat it, but any text here can reach the Minds and influence their answers. Include only the single question, its necessary stimulus, and respondent-facing instructions. 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.
responseNoShape of each answer, and whether earlier Study questions carry over.
audienceIdsNoOptional subset of the Study's Audiences to ask; defaults to all Audiences.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
runIdNoDurable run identifier.
localeNoStudy display locale.
statusNoqueued once submitted, or planning_required when the request needs a reviewed multi-question plan (nothing was submitted).
apiBaseNoMinds base URL.
studyIdNoStudy the question was asked in.
questionNoThe submitted question.
questionIdNoIdentifier of this question; pass it to get_study_status to follow only this question.
workspaceUrlNoAuthenticated Minds workspace link for the Study.
sharedStudyUrlNoPublic share link, or null when link sharing is off.
executionStartedNoFalse when nothing was submitted.
proposedQuestionsNoFor planning_required: the respondent questions detected or proposed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / evidence / properties / attachments / description
      Previous value: -"Files/images processed once and given to every participating Mind. 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 participating Mind. 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 / evidence / 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 / evidence / 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."
  2. Changed2 schema fields changed
    • changedInput schema / properties / evidence / properties / sourcePolicy / description
      Previous value: -"Use knowledge_only to forbid web/request sources and require every answer to be grounded in processed Mind knowledge."New value: +"Use knowledge_only to exclude web and request sources. When relevant Mind knowledge is unavailable, subjective answers use the trained profile and factual answers state the evidence limitation."
    • changedInput schema / properties / question / description
      Previous value: -"Exactly ONE respondent-visible standalone question or result-dependent adaptive follow-up for every selected Mind. Never concatenate, enumerate, or otherwise place a questionnaire, survey, battery, section, cohesive question set, or two or more known questions in this field. The system may classify or reformat it, but any text here can reach the Minds and influence their answers. Include only the single question, its necessary stimulus, and respondent-facing instructions. 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 or result-dependent adaptive follow-up for every selected Mind. Never concatenate, enumerate, or otherwise place a questionnaire, survey, battery, section, cohesive question set, or two or more known questions in this field. The system may classify or reformat it, but any text here can reach the Minds and influence their answers. Include only the single question, its necessary stimulus, and respondent-facing instructions. 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."
  3. Changed1 schema field changed
    • changedInput schema / properties / question / description
      Previous value: -"Exactly ONE respondent-visible standalone question or result-dependent adaptive follow-up for every selected Mind. Never concatenate, enumerate, or otherwise place a questionnaire, survey, battery, section, cohesive question set, or two or more known questions in this field. The system may classify or reformat it, but any text here can reach the Minds and influence their answers. Include only the single question, its necessary stimulus, and respondent-facing instructions. Never place planner-only or MCP-client orchestration instructions here."New value: +"Exactly ONE respondent-visible standalone question or result-dependent adaptive follow-up for every selected Mind. Never concatenate, enumerate, or otherwise place a questionnaire, survey, battery, section, cohesive question set, or two or more known questions in this field. The system may classify or reformat it, but any text here can reach the Minds and influence their answers. Include only the single question, its necessary stimulus, and respondent-facing instructions. 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."
  4. Changed19 schema fields changed
    • removedInput schema / properties / attachments
      Removed value: -{
      -  "description": "Files/images processed once and given to every participating Mind. 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.",
      -  "items": {
      -    "properties": {
      -      "id": {
      -        "description": "Stable asset ID used by questionAttachments to assign this file to specific planned questions.",
      -        "maxLength": 255,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "File name visible in the Study.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "path": {
      -        "description": "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.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "description": "MIME type when known.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "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.",
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / evidence
      Added value: +{
      +  "description": "Material given to every participating Mind for this question, and the policy governing what else it may use.",
      +  "properties": {
      +    "attachments": {
      +      "description": "Files/images processed once and given to every participating Mind. 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.",
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "description": "Stable asset ID used by questionAttachments to assign this file to specific planned questions.",
      +            "maxLength": 255,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "File name visible in the Study.",
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "path": {
      +            "description": "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.",
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "type": {
      +            "description": "MIME type when known.",
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "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.",
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "keywords": {
      +      "description": "Search keywords used to gather evidence for this question through v1 /studies/{studyId}/runs.",
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "description": "Search keyword or phrase",
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "links": {
      +      "description": "Web pages given to every Mind as evidence for this question through v1 /studies/{studyId}/runs.",
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "description": "Human-readable label for the link",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "URL to fetch as evidence for this question",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "sourcePolicy": {
      +      "description": "Use knowledge_only to forbid web/request sources and require every answer to be grounded in processed Mind knowledge.",
      +      "enum": [
      +        "auto",
      +        "knowledge_only"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / groupIds
      Removed value: -{
      -  "description": "Legacy alias for audienceIds. Accepted for compatibility.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / historyMode
      Removed value: -{
      -  "description": "Controls prior Study-history carryover for this one direct question. Defaults to none, so this measurement is independent of earlier Study questions. last5 is only for a conversational/adaptive question that requires respondent continuity; it costs roughly 2.4x wall-clock for about 0.6pp of accuracy. followup_only carries history only when the submitted question is classified as a conversational follow-up.",
      -  "enum": [
      -    "last5",
      -    "followup_only",
      -    "none"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / keywords
      Removed value: -{
      -  "description": "Search keywords used to gather evidence for this question through v1 /studies/{studyId}/runs.",
      -  "items": {
      -    "properties": {
      -      "id": {
      -        "type": "string"
      -      },
      -      "label": {
      -        "description": "Search keyword or phrase",
      -        "type": "string"
      -      },
      -      "url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "label"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / links
      Removed value: -{
      -  "description": "Web pages given to every Mind as evidence for this question through v1 /studies/{studyId}/runs.",
      -  "items": {
      -    "properties": {
      -      "id": {
      -        "type": "string"
      -      },
      -      "label": {
      -        "description": "Human-readable label for the link",
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "URL to fetch as evidence for this question",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "label"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • changedInput schema / properties / model / description
      Previous value: -"Optional per-request model override. Must be sent together with provider."New value: +"Model override for this question. Use connection for a verified team model connection, or name with provider; the two are mutually exclusive."
    • addedInput schema / properties / model / properties
      Added value: +{
      +  "connection": {
      +    "additionalProperties": false,
      +    "description": "Verified team model connection ID and current revision. Mutually exclusive with model/provider. Applies to Mind answers and verbatim rendering; supporting analysis retains platform models.",
      +    "properties": {
      +      "id": {
      +        "format": "uuid",
      +        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +        "type": "string"
      +      },
      +      "revision": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "revision"
      +    ],
      +    "type": "object"
      +  },
      +  "name": {
      +    "description": "Optional per-request model override. Must be sent together with provider.",
      +    "type": "string"
      +  },
      +  "provider": {
      +    "description": "Provider for the model override. Must be sent together with model.",
      +    "enum": [
      +      "anthropic",
      +      "openai",
      +      "google"
      +    ],
      +    "type": "string"
      +  }
      +}
    • changedInput schema / properties / model / type
      Previous value: -"string"New value: +"object"
    • removedInput schema / properties / modelConnection
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "Verified team model connection ID and current revision. Mutually exclusive with model/provider. Applies to Mind answers and verbatim rendering; supporting analysis retains platform models.",
      -  "properties": {
      -    "id": {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -      "type": "string"
      -    },
      -    "revision": {
      -      "exclusiveMinimum": 0,
      -      "maximum": 9007199254740991,
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "id",
      -    "revision"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / panelId
      Removed value: -{
      -  "description": "Study ID (UUID; legacy wire field name: panelId). Omit both panelId and panelName only when continuing the active Study from this MCP session.",
      -  "type": "string"
      -}
    • removedInput schema / properties / panelName
      Removed value: -{
      -  "description": "Study name (fuzzy matched; legacy wire field name: panelName). Omit both panelName and panelId only when continuing the active Study from this MCP session.",
      -  "type": "string"
      -}
    • removedInput schema / properties / provider
      Removed value: -{
      -  "description": "Provider for the model override. Must be sent together with model.",
      -  "enum": [
      -    "anthropic",
      -    "openai",
      -    "google"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / response
      Added value: +{
      +  "description": "Shape of each answer, and whether earlier Study questions carry over.",
      +  "properties": {
      +    "historyMode": {
      +      "description": "Controls prior Study-history carryover for this one direct question. Defaults to none, so this measurement is independent of earlier Study questions. last5 is only for a conversational/adaptive question that requires respondent continuity; it costs roughly 2.4x wall-clock for about 0.6pp of accuracy. followup_only carries history only when the submitted question is classified as a conversational follow-up.",
      +      "enum": [
      +        "last5",
      +        "followup_only",
      +        "none"
      +      ],
      +      "type": "string"
      +    },
      +    "responseForm": {
      +      "description": "How long and how shaped each qualitative answer should be: concise is one short message (5-20 words), standard is 1-3 sentences (25-90 words), expanded is 2-5 sentences (70-180 words). Omit to let the question itself decide. Set expanded when the researcher wants narrative depth (interviews, lived experience, reasoning) without editing the question wording, which a fixed instrument must keep exact. Ignored for scale, categorical and multiselect questions.",
      +      "enum": [
      +        "concise",
      +        "standard",
      +        "expanded"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / responseForm
      Removed value: -{
      -  "description": "How long and how shaped each qualitative answer should be: concise is one short message (5-20 words), standard is 1-3 sentences (25-90 words), expanded is 2-5 sentences (70-180 words). Omit to let the question itself decide. Set expanded when the researcher wants narrative depth (interviews, lived experience, reasoning) without editing the question wording, which a fixed instrument must keep exact. Ignored for scale, categorical and multiselect questions.",
      -  "enum": [
      -    "concise",
      -    "standard",
      -    "expanded"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / sourcePolicy
      Removed value: -{
      -  "description": "Use knowledge_only to forbid web/request sources and require every answer to be grounded in processed Mind knowledge.",
      -  "enum": [
      -    "auto",
      -    "knowledge_only"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / study
      Added value: +{
      +  "description": "Which Study to ask in. Omit entirely to continue the active Study from this MCP session.",
      +  "properties": {
      +    "id": {
      +      "description": "Study ID (UUID). Omit with studyName to continue the active Study from this MCP session.",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to continue the active Study from this MCP session.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / studyId
      Removed value: -{
      -  "description": "Study ID (UUID). Omit with studyName to continue the active Study from this MCP session.",
      -  "type": "string"
      -}
    • removedInput schema / properties / studyName
      Removed value: -{
      -  "description": "Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to continue the active Study from this MCP session.",
      -  "type": "string"
      -}
  5. Changed1 schema field changed
    • changedInput schema / properties / studyName / description
      Previous value: -"Study name (fuzzy matched). Omit with studyId to continue the active Study from this MCP session."New value: +"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to continue the active Study from this MCP session."
  6. 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"
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / responseForm
      Added value: +{
      +  "description": "How long and how shaped each qualitative answer should be: concise is one short message (5-20 words), standard is 1-3 sentences (25-90 words), expanded is 2-5 sentences (70-180 words). Omit to let the question itself decide. Set expanded when the researcher wants narrative depth (interviews, lived experience, reasoning) without editing the question wording, which a fixed instrument must keep exact. Ignored for scale, categorical and multiselect questions.",
      +  "enum": [
      +    "concise",
      +    "standard",
      +    "expanded"
      +  ],
      +  "type": "string"
      +}
  8. Changed4 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every participating Mind. 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 participating Mind. 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."
    • addedInput schema / properties / modelConnection
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Verified team model connection ID and current revision. Mutually exclusive with model/provider. Applies to Mind answers and verbatim rendering; supporting analysis retains platform models.",
      +  "properties": {
      +    "id": {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +      "type": "string"
      +    },
      +    "revision": {
      +      "exclusiveMinimum": 0,
      +      "maximum": 9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "revision"
      +  ],
      +  "type": "object"
      +}
  9. 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"
      +}
  10. Changed3 schema fields changed
    • changedInput schema / properties / attachments / description
      Previous value: -"Files/images processed once and given to every participating Mind. 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 participating Mind. 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."
  11. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds genuinely new context: the question text reaches the Minds and must exclude orchestration notes, classification of question types is automatic, and the result carries question id/status/workspace links. It does not, however, discuss execution cost or failure modes.

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

Conciseness4/5

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

Three short paragraphs, front-loaded with the core action and then the out-of-scope rule. Dense but each sentence carries a distinct constraint; the caution about what may appear in question text is restated twice between description and schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with an output schema and heavy annotation coverage, the description covers scope, exclusions, behavioral constraints on the question payload, and a hint at return contents. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter including the nested model/study/evidence/response objects is already documented. The description restates the 'one question only' constraint on the question field, which the schema also states, adding little beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Submits exactly one respondent-visible question in an existing Study') with an explicit scope boundary, immediately distinguishing it from the batch/questionnaire siblings like plan_study_questions and run_study_questions.

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

Usage Guidelines5/5

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

The 'Out of scope' paragraph names the exact condition that disqualifies this tool (two or more known questions) and routes that case to a planned multi-question block submitted once — a clear when-not rule with an alternative.

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.