Skip to main content
Glama

Minds: Synthetic Market Research

Get Study Status

get_study_status
Read-onlyIdempotent

Returns Study progress, per-Audience results, original Mind responses, links and export status. In-flight questions report zero Minds answered until completion; partial per-Mind progress is not persisted. questionId selects one question; runId selects a confirmed run with question-level counters. Without either, results cover the entire Study. Values and labels are written in the Study display locale, returned as locale: the language of its confirmed plan, else the stored Study locale, else English.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runIdNoMulti-question run ID from start_study_run. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view.
studyNoWhich Study to inspect. Omit entirely to use the active Study from this MCP session.
exportNoPoll one asynchronous export job created by the export operation.
questionIdNoReturn only this question: the questionId from ask_study or ask_audience, or from an activeQuestions/recentResults entry. Keeps the response small. Omit to cover every question the Study has run.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoStudy name.
runIdNoThe multi-question run, when one was requested.
localeNoStudy display locale.
apiBaseNoMinds base URL.
studyIdNoThe Study.
artifactsNoResults and artifacts of the requested run. A response artifact may carry answerConsistency {version, flags: [{mindId, withItem, reason}]}.
audiencesNoAudiences with their Minds.
createdAtNoCreation time (ISO 8601).
planLimitNoPresent when a plan limit refused, truncated or stopped Study work.
updatedAtNoLast update time (ISO 8601).
formationsNoAudience breakdowns available for the results.
exportStatusNoStatus of the requested asynchronous export job, if any.
messageCountNoNumber of Study messages.
workspaceUrlNoAuthenticated Minds workspace link for the Study.
publicShareIdNoPublic share identifier, or null.
recentResultsNoCompleted questions with their per-Audience outputData and stimuli (the media the Minds were shown: name, url, mediaType). For coded qualitative answers, audiences[].themeMentions counts Minds per theme (multi-label, can exceed 100% in total) while distribution counts only each answer's primary theme.
sharedStudyUrlNoPublic share link, or null when link sharing is off.
activeQuestionsNoQuestions still running: questionId, question, status, totalMinds, answeredCount.
failedQuestionsNoQuestions that failed, with an error; a question a plan limit kept from running also carries planLimit.
answerConsistencyNoRun with runId only: whether each Mind's answers were checked against each other. version, status (checked | incomplete | failed), checkedMinds, flaggedMinds, flagCount, uncheckedMinds, usage {calls, inputTokens, outputTokens}, and unsavedItems (question indexes whose flags could not be saved) when any. A failed check records only version and status.
studyPresentationNoSaved Study headings and original question context aligned by questionId; used by the response widget.
isLinkSharingEnabledNoWhether the public share link is on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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"
      +  }
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / runId / description
      Previous value: -"Multi-question run ID from run_study_questions. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view."New value: +"Multi-question run ID from start_study_run. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view."
    • 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"
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / study / properties / name / description
      Previous value: -"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study."New value: +"Study name (exact or partial, case-insensitive; fuzzy fallback for typos). Omit with studyId to use the active Study."
  4. Changed1 schema field changed
    • changedInput schema / properties / export / properties / jobId / description
      Previous value: -"Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact."New value: +"Export job ID returned by export_study. Pass it with the export kind and format of that job to poll that exact artifact."
  5. 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"
      +  }
      +]
  6. Changed26 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 / createdAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / createdAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / isLinkSharingEnabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / isLinkSharingEnabled / 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"
      +]
    • removedOutput schema / properties / messageCount / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messageCount / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / name / 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 / publicShareId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / publicShareId / 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 / studyId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / studyId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / studyPresentation
      Added value: +{
      +  "description": "Saved Study headings and original question context aligned by questionId; used by the response widget."
      +}
    • removedOutput schema / properties / updatedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / updatedAt / 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"
      +]
  7. Changed1 schema field changed
    • changedOutput schema / properties / recentResults / description
      Previous value: -"Completed questions with their per-Audience outputData."New value: +"Completed questions with their per-Audience outputData and stimuli (the media the Minds were shown: name, url, mediaType). For coded qualitative answers, audiences[].themeMentions counts Minds per theme (multi-label, can exceed 100% in total) while distribution counts only each answer's primary theme."
  8. Changed2 schema fields changed
    • changedOutput schema / properties / failedQuestions / description
      Previous value: -"Questions that failed, with an error."New value: +"Questions that failed, with an error; a question a plan limit kept from running also carries planLimit."
    • 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."
      +}
  9. Changed2 schema fields changed
    • addedOutput schema / properties / answerConsistency
      Added value: +{
      +  "description": "Run with runId only: whether each Mind's answers were checked against each other. version, status (checked | incomplete | failed), checkedMinds, flaggedMinds, flagCount, uncheckedMinds, usage {calls, inputTokens, outputTokens}, and unsavedItems (question indexes whose flags could not be saved) when any. A failed check records only version and status."
      +}
    • changedOutput schema / properties / artifacts / description
      Previous value: -"Results and artifacts of the requested run."New value: +"Results and artifacts of the requested run. A response artifact may carry answerConsistency {version, flags: [{mindId, withItem, reason}]}."
  10. Changed12 schema fields changed
    • addedInput schema / properties / export
      Added value: +{
      +  "description": "Poll one asynchronous export job created by the export operation.",
      +  "properties": {
      +    "format": {
      +      "description": "Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs.",
      +      "enum": [
      +        "pdf",
      +        "html",
      +        "png",
      +        "docx",
      +        "pptx",
      +        "csv",
      +        "xls",
      +        "sav",
      +        "md"
      +      ],
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "description": "Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact.",
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "kind": {
      +      "description": "Asynchronous export kind whose status should be returned (defaults to full_report).",
      +      "enum": [
      +        "executive_brief",
      +        "full_report",
      +        "raw_data"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / exportFormat
      Removed value: -{
      -  "description": "Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs.",
      -  "enum": [
      -    "pdf",
      -    "html",
      -    "png",
      -    "docx",
      -    "pptx",
      -    "csv",
      -    "xls",
      -    "sav",
      -    "md"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / exportJobId
      Removed value: -{
      -  "description": "Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact.",
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / exportKind
      Removed value: -{
      -  "description": "Asynchronous export kind whose status should be returned (defaults to full_report).",
      -  "enum": [
      -    "executive_brief",
      -    "full_report",
      -    "raw_data"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / panelId
      Removed value: -{
      -  "description": "Study ID (UUID; legacy wire field name: panelId). Omit both panelId and panelName only for the active Study from this MCP session.",
      -  "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"
      -}
    • removedInput schema / properties / panelName
      Removed value: -{
      -  "description": "Study name (fuzzy matched; legacy wire field name: panelName). Omit both panelName and panelId only for the active Study from this MCP session.",
      -  "type": "string"
      -}
    • addedInput schema / properties / runId
      Added value: +{
      +  "description": "Multi-question run ID from run_study_questions. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view.",
      +  "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"
      +}
    • addedInput schema / properties / study
      Added value: +{
      +  "description": "Which Study to inspect. Omit entirely to use the active Study from this MCP session.",
      +  "properties": {
      +    "id": {
      +      "description": "Study ID (UUID). Omit with studyName to use the active Study.",
      +      "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"
      +    },
      +    "name": {
      +      "description": "Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / studyId
      Removed value: -{
      -  "description": "Study ID (UUID). Omit with studyName to use the active Study.",
      -  "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"
      -}
    • 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 use the active Study.",
      -  "type": "string"
      -}
    • addedOutput schema / properties / artifacts
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Results and artifacts of the requested run."
      +}
    • addedOutput schema / properties / runId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The multi-question run, when one was requested."
      +}
  11. Changed1 schema field changed
    • changedInput schema / properties / studyName / description
      Previous value: -"Study name (fuzzy matched). Omit with studyId to use the active Study."New value: +"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study."
  12. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "activeQuestions": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Questions still running: questionId, question, status, totalMinds, answeredCount."
      +    },
      +    "apiBase": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Minds base URL."
      +    },
      +    "audiences": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Audiences with their Minds."
      +    },
      +    "createdAt": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Creation time (ISO 8601)."
      +    },
      +    "exportStatus": {
      +      "description": "Status of the requested asynchronous export job, if any."
      +    },
      +    "failedQuestions": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Questions that failed, with an error."
      +    },
      +    "formations": {
      +      "description": "Audience breakdowns available for the results."
      +    },
      +    "isLinkSharingEnabled": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Whether the public share link is on."
      +    },
      +    "locale": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study display locale."
      +    },
      +    "messageCount": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Number of Study messages."
      +    },
      +    "name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study name."
      +    },
      +    "publicShareId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Public share identifier, or null."
      +    },
      +    "recentResults": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Completed questions with their per-Audience outputData."
      +    },
      +    "sharedStudyUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Public share link, or null when link sharing is off."
      +    },
      +    "studyId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The Study."
      +    },
      +    "updatedAt": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Last update time (ISO 8601)."
      +    },
      +    "workspaceUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Authenticated Minds workspace link for the Study."
      +    }
      +  },
      +  "type": "object"
      +}
  13. Changed1 schema field changed
    • addedInput schema / properties / questionId
      Added value: +{
      +  "description": "Return only this question: the questionId from ask_study or ask_audience, or from an activeQuestions/recentResults entry. Keeps the response small. Omit to cover every question the Study has run.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
  14. Changed1 schema field changed
    • changedInput schema / properties / exportFormat / description
      Previous value: -"Asynchronous export format whose status should be returned (defaults to pdf)."New value: +"Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs."
  15. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely non-obvious behavior: in-flight questions report zero Minds answered until completion, partial per-Mind progress is not persisted, and the locale resolution order (confirmed plan language, else stored Study locale, else English). These directly shape how an agent interprets the returned values.

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?

Front-loaded with what is returned, then behavioral caveats, then parameter selection, then locale. Four sentences with little waste; the locale sentence is dense but precise and earns its place. No filler or repetition of the name.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. For a zero-required-parameter status tool with nested objects, the description supplies the missing pieces an agent needs: scope selection, in-flight caveats, and locale resolution.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter interaction semantics the schema does not state on its own: questionId narrows to one question, runId returns the confirmed run with question-level counters, and supplying neither yields the whole-Study view. It also reinforces the locale behavior of returned labels.

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

Purpose4/5

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

States a specific verb and resource and enumerates exactly what is returned (progress, per-Audience results, original Mind responses, links, export status), which is more than a restatement of the name. It never names a sibling (get_study_plan, read_study_summary, export_study) to draw the boundary explicitly, so sibling differentiation is implied rather than stated.

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?

Gives clear context for how to select scope: 'questionId selects one question; runId selects a confirmed run... Without either, results cover the entire Study.' It also notes questionId 'keeps the response small.' It stops short of naming alternatives (e.g., read_study_summary or get_study_plan) or when not to use this tool, so it is clear context without exclusions.

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.