Skip to main content
Glama

Minds: Synthetic Market Research

Get Study Status

get_study_status
Read-onlyIdempotent

Returns a Study's current state: progress for in-flight questions, completed per-Audience results, the linked Minds, the Study links, and the status of a requested asynchronous export job. Values can be numeric answers or classified summary labels, and message fields carry the original Mind responses where available. locale is the Study's display locale, not a guarantee of the language of every answer.

An in-flight question reports zero Minds answered for its whole run — partial per-Mind progress is not persisted — and then jumps straight to the finished table, so zero is not evidence that a run is stuck.

Pass questionId to follow a single question, or runId to follow one confirmed multi-question run, which reports question-level counters only. With neither, the response covers every question the Study has run and grows with questions x Audiences x Minds x answer length.

Study deletion is not available here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runIdNoMulti-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.
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).
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.
sharedStudyUrlNoPublic share link, or null when link sharing is off.
activeQuestionsNoQuestions still running: questionId, question, status, totalMinds, answeredCount.
failedQuestionsNoQuestions that failed, with an error.
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.
isLinkSharingEnabledNoWhether the public share link is on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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}]}."
  2. 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."
      +}
  3. 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."
  4. 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"
      +}
  5. 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"
      +}
  6. 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."
  7. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, and the description adds credible behavioral context: in-flight questions report zero Minds without indicating a stuck run, locale is only the display locale, and response size grows with questions × Audiences × Minds × answer length. This exceeds what the annotations alone convey.

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

Conciseness4/5

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

Four short paragraphs front-load purpose and then add caveats and parameter-selection guidance; almost every sentence contributes behavioral or routing information. The 'Study deletion is not available here' note is somewhat tangential, keeping this from a perfect conciseness score.

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?

Complexities are well handled: async export polling is described, the in-flight zero-edge case is explained, parameter combinations are specified, and return values are covered by an output schema. Given the nested schema and 22 siblings, nothing essential for selecting or invoking this tool is missing.

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?

Input schema has 100% description coverage, so the baseline is high; the description adds combination semantics such as passing either questionId or runId and the response-size warning when both are omitted. This goes beyond the per-field schema docs but is not exhaustive for every nested field, hence a 4.

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?

Description uses a specific verb and resource ('Returns a Study's current state') and lists substantial return contents including progress, per-Audience results, linked Minds, Study links, and export job status. It is clearly not just a summary, but it never names or contrasts the sibling get_study_summary, so it stops short of explicit sibling differentiation.

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?

Explicitly describes when to pass questionId vs runId and what happens with neither, which is strong selection guidance within the tool. It does not, however, contrast this read tool with siblings like get_study_summary or route export creation to export_study, so cross-tool usage guidance is missing.

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.