{"schema_version":"verify.compare.v1","generated_at":"2026-09-29T04:40:31.747711+00:00","count":1,"missing_servers":[],"results":[{"server_id":"ai.getminds/minds","display_name":"Minds: Synthetic Market Research Panels","profile_url":"https://verify.sentinelsignal.io/servers/ai.getminds/minds","compare_url":"https://verify.sentinelsignal.io/compare?server=ai.getminds%2Fminds","trust_summary_url":"https://verify.sentinelsignal.io/v1/servers/ai.getminds/minds/trust-summary","claimed":false,"verified_publisher":false,"claim_status":"unclaimed","badge_url":"https://verify.sentinelsignal.io/badge/ai.getminds/minds.svg","report_url":"https://verify.sentinelsignal.io/v1/servers/ai.getminds/minds/report","policy_url":"https://verify.sentinelsignal.io/v1/servers/ai.getminds/minds/policy","evidence_url":"https://verify.sentinelsignal.io/api/v1/servers/ai.getminds/minds/evidence","commerce_signal":null,"payment_capable":null,"delegation_level":null,"risk_flags":[],"strengths":["report_available","policy_available","badge_available"],"limitations":["unclaimed_profile","publisher_not_verified"],"last_seen":null,"last_scored":"2026-09-28T17:02:55.860613+00:00","recommended_agent_action":"allow_with_policy_review","observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"}}],"servers":[{"namespace":"ai.getminds","name":"minds","title":"Minds: Synthetic Market Research Panels","description":"Run AI market research: synthetic customer panels for concept testing, message testing, segments.","homepage_url":"https://getminds.ai/mcp","docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://getminds.ai/mcp","server_card_url":null,"latest_version":"2.0.0","current_status":"unverified","current_score":37.8,"transport_type":"streamable-http","has_oauth":true,"has_dcr":true,"has_prompts":false,"tool_count":24,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-09-28T17:02:55.860613+00:00","registry_source":"official_registry","registry_identifier":"ai.getminds/minds","canonical_identifier":null,"current_score_components":{"auth_operability_score":4.0,"error_contract_score":1.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":0.0,"backward_compatibility_score":4.0,"slo_health_score":1.0,"security_hygiene_score":0.0,"task_success_score":0.0,"trust_confidence_score":2.0,"prompt_contract_score":2.0,"resource_contract_score":4.0,"discovery_metadata_score":2.0,"registry_consistency_score":2.0,"installability_score":1.0,"session_semantics_score":1.0,"tool_surface_design_score":0.0,"result_shape_stability_score":0.0,"oauth_interop_score":4.0,"recovery_semantics_score":1.0,"maintenance_signal_score":3.0,"adoption_signal_score":3.0,"freshness_confidence_score":1.0,"transport_fidelity_score":3.0,"spec_recency_score":0.0,"session_resume_score":0.0,"step_up_auth_score":3.0,"transport_compliance_score":2.0,"utility_coverage_score":3.0,"advanced_capability_coverage_score":1.0,"connector_publishability_score":0.0,"tool_snapshot_churn_score":0.0,"connector_replay_score":0.0,"request_association_score":0.0,"interactive_flow_safety_score":4.0,"official_registry_presence_score":4.0,"safety_transparency_score":3.0,"tool_capability_clarity_score":0.0,"data_exfiltration_resilience_score":0.0,"dependency_supply_chain_signal_score":1.0,"input_sanitization_safety_score":0.0,"tool_namespace_clarity_score":0.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first.","badge":"score-low","critical_alerts":4,"high_or_critical_alerts":4,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":66.25,"label":"medium","reason":"Based on 1 recent validations, 11 captured checks, and validation age of 11.6 hours.","live_check_count":11,"validation_age_hours":11.63,"basis":{"evidence_bearing_validations":1,"affirmative_live_check_count":11,"validation_age_hours":11.63,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":254.49,"details":{"url":"https://getminds.ai/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8","set-cookie":"__cf_bm=n_qZgV_hHtbM1pLLESso6m9.1fCMrz69XkS2FlF6a.8-1790614973.5139976-1.0.1.1-j_GIadoL67SyUYPWRabGR19ZreIDIGshiFYTkXSxBsDMLAIJxoLb_WhUeSl8Or5cu.SgSM1tGeNsSIyPTxnlGaYxfD5GsycqVAyakiWdT7x.QjIWWltZrDzIwaAXhLaS; HttpOnly; SameSite=None; Secure; Path=/; Domain=ondigitalocean.app; Expires=Mon, 28 Sep 2026 17:32:53 GMT"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"ok","latency_ms":332.26,"details":{"url":"https://getminds.ai/.well-known/mcp/server-card.json","payload":{"serverInfo":{"name":"minds-ai","title":"Minds: Synthetic Market Research","version":"2.0.0","description":"Build synthetic Audiences and run Studies for concept testing, message testing, and segment comparison."},"transport":{"type":"streamable-http","endpoint":"https://getminds.ai/mcp"},"capabilities":{"tools":{},"resources":{}},"authorization":{"type":"oauth2","required":true,"protectedResourceMetadata":"https://getminds.ai/.well-known/oauth-protected-resource/mcp"},"documentation":"https://getminds.ai/mcp/setup","iconUrl":"https://getminds.ai/android-chrome-512x512.png","tools":[{"name":"create_study","title":"Create a Study","description":"Creates a Study workspace from existing Audiences or inline Audience configurations. It does not ask questions or run research, and follow-up research inside an existing Study needs no new Study.\n\nThis always creates: a matching name never attaches to an existing Study, and only a byte-identical repeat of the same call replays the Study the first one made, reported as replayed: true. Settle the Audience set before calling — nothing adds an Audience to an existing Study afterwards, and Studies cannot be deleted here, so calling again with one extra Audience leaves a permanent duplicate.\n\nAny request with two or more known questions belongs in one planned and confirmed multi-question block inside the Study, submitted once rather than as separate direct questions.\n\nCreation is atomic and rolls back partial Audience failures. Studies are private; enabling link sharing also publishes the attached Audiences and their Minds.","inputSchema":{"type":"object","properties":{"name":{"description":"Name for the Study workspace (e.g., \"Brand Perception Study\", \"Q4 Market Research\")","type":"string","minLength":1},"audienceConfigs":{"description":"Preferred field for new Audiences to create and attach atomically.","type":"array","items":{"type":"object","properties":{"name":{"description":"Audience name (optional — defaults to \"Audience N\").","type":"string"},"mindIds":{"description":"IDs of existing Minds to add to this Audience.","type":"array","items":{"type":"string"}}}}},"audienceIds":{"description":"Preferred field for existing Audience IDs to attach — use list_audiences to find IDs.","type":"array","items":{"type":"string"}},"isLinkSharingEnabled":{"description":"Set true ONLY when the user explicitly asked for a public/shareable Study link. Defaults to false: the Study is private to its owner and no share URL is generated. Enabling this ALSO publishes every attached Audience and every Mind inside them at world-readable URLs — including pre-existing Audiences passed via audienceIds. Do not enable it to \"be helpful\".","default":false,"type":"boolean"}},"required":["name"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Created Study.","anyOf":[{"type":"string"},{"type":"null"}]},"name":{"description":"Study name.","anyOf":[{"type":"string"},{"type":"null"}]},"replayed":{"description":"True when an identical request returned the Study created earlier.","anyOf":[{"type":"boolean"},{"type":"null"}]},"audiences":{"description":"Audiences attached to the Study.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"isLinkSharingEnabled":{"description":"Whether the public share link is on.","anyOf":[{"type":"boolean"},{"type":"null"}]},"publicShareId":{"description":"Public share identifier, or null.","anyOf":[{"type":"string"},{"type":"null"}]},"workspaceUrl":{"description":"Authenticated Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]},"sharedStudyUrl":{"description":"Public share link, or null when link sharing is off.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Create a Study","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/toolInvocation/invoking":"Building your Study...","openai/toolInvocation/invoked":"Study created!"}},{"name":"ask_study","title":"Ask One Standalone Question in a Study","description":"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.\n\nOut 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.\n\nThe 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.","inputSchema":{"type":"object","properties":{"question":{"description":"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.","type":"string","minLength":1},"audienceIds":{"description":"Optional subset of the Study's Audiences to ask; defaults to all Audiences.","type":"array","items":{"type":"string"}},"study":{"description":"Which Study to ask in. Omit entirely to continue the active Study from this MCP session.","type":"object","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"}}},"evidence":{"description":"Material given to every participating Mind for this question, and the policy governing what else it may use.","type":"object","properties":{"sourcePolicy":{"description":"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.","type":"string","enum":["auto","knowledge_only"]},"links":{"description":"Web pages given to every Mind as evidence for this question through v1 /studies/{studyId}/runs.","type":"array","items":{"type":"object","properties":{"label":{"description":"Human-readable label for the link","type":"string"},"url":{"description":"URL to fetch as evidence for this question","type":"string"},"id":{"type":"string"}},"required":["label"]}},"keywords":{"description":"Search keywords used to gather evidence for this question through v1 /studies/{studyId}/runs.","type":"array","items":{"type":"object","properties":{"label":{"description":"Search keyword or phrase","type":"string"},"url":{"type":"string"},"id":{"type":"string"}},"required":["label"]}},"attachments":{"description":"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.","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable asset ID used by questionAttachments to assign this file to specific planned questions.","type":"string","minLength":1,"maxLength":255},"url":{"description":"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.","type":"string","minLength":1},"path":{"description":"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.","type":"string","minLength":1},"name":{"description":"File name visible in the Study.","type":"string","minLength":1},"type":{"description":"MIME type when known.","type":"string","minLength":1}}}}}},"response":{"description":"Shape of each answer, and whether earlier Study questions carry over.","type":"object","properties":{"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.","type":"string","enum":["concise","standard","expanded"]},"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.","type":"string","enum":["last5","followup_only","none"]}}},"model":{"description":"Model override for this question. Use connection for a verified team model connection, or name with provider; the two are mutually exclusive.","type":"object","properties":{"connection":{"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.","type":"object","properties":{"id":{"type":"string","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)$"},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","revision"],"additionalProperties":false},"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.","type":"string","enum":["anthropic","openai","google"]}}}},"required":["question"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"status":{"description":"queued once submitted, or planning_required when the request needs a reviewed multi-question plan (nothing was submitted).","anyOf":[{"type":"string"},{"type":"null"}]},"studyId":{"description":"Study the question was asked in.","anyOf":[{"type":"string"},{"type":"null"}]},"questionId":{"description":"Identifier of this question; pass it to get_study_status to follow only this question.","anyOf":[{"type":"string"},{"type":"null"}]},"runId":{"description":"Durable run identifier.","anyOf":[{"type":"string"},{"type":"null"}]},"question":{"description":"The submitted question.","anyOf":[{"type":"string"},{"type":"null"}]},"locale":{"description":"Study display locale.","anyOf":[{"type":"string"},{"type":"null"}]},"proposedQuestions":{"description":"For planning_required: the respondent questions detected or proposed.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"executionStarted":{"description":"False when nothing was submitted.","anyOf":[{"type":"boolean"},{"type":"null"}]},"apiBase":{"description":"Minds base URL.","anyOf":[{"type":"string"},{"type":"null"}]},"workspaceUrl":{"description":"Authenticated Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]},"sharedStudyUrl":{"description":"Public share link, or null when link sharing is off.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Ask One Standalone Question in a Study","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"ui":{"resourceUri":"ui://widget/response.c228ee629e0f.html"},"openai/outputTemplate":"ui://widget/response.c228ee629e0f.html","ui/resourceUri":"ui://widget/response.c228ee629e0f.html"}},{"name":"export_study","title":"Export Study Results","description":"Starts an asynchronous export of Study results and returns an export job ID. Supports executive briefs and full reports in PDF, DOCX, PPTX, or Markdown, plus raw data in CSV, XLS, or SPSS SAV.","inputSchema":{"type":"object","properties":{"format":{"description":"Export format: \"pdf\" (default), \"docx\", \"pptx\", \"csv\", \"xls\", \"sav\", or \"md\" (also accepts \"markdown\"). Executive-summary and full-report PPTX exports use a slide-native 16:9 layout.","type":"string","enum":["pdf","docx","pptx","csv","xls","sav","md","markdown"]},"kind":{"description":"Report kind. Defaults to full_report, except CSV/XLS/SAV which default to raw_data.","type":"string","enum":["executive_brief","full_report","raw_data"]},"length":{"description":"Requested report detail for executive_brief and full_report exports.","type":"string","enum":["brief","standard","detailed"]},"force":{"description":"Regenerate instead of returning a cached artifact.","type":"boolean"},"scheduledRunId":{"description":"Export only the messages produced by one scheduled run of this Study, instead of the whole timeline. Use the run ID from the Study schedule history.","type":"string"},"study":{"description":"Which Study to export. Omit entirely to use the active Study from this MCP session.","type":"object","properties":{"id":{"description":"Study ID (UUID). Omit with studyName to export the active Study.","type":"string"},"name":{"description":"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to export the active Study.","type":"string"}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Exported Study.","anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"description":"Export kind."},"format":{"description":"Export format."},"jobId":{"description":"Asynchronous export job; poll it with get_study_status."},"status":{"description":"Export job status."},"downloadUrl":{"description":"Download link, once the export is ready."},"workspaceUrl":{"description":"Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Export Study Results","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/toolInvocation/invoking":"Exporting Study results...","openai/toolInvocation/invoked":"Export request processed"}},{"name":"export_mind","title":"Export Mind Persona Profile","description":"Generates a branded profile for one existing Mind, identified by exact ID or the best fuzzy name match among the newest 1,000 Minds. Markdown is returned inline by default; PDF, DOCX, and PPTX artifacts are returned as base64 with a workspace link.","inputSchema":{"type":"object","properties":{"mindId":{"description":"Mind ID (UUID)","type":"string","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)$"},"mindName":{"description":"Mind name (fuzzy matched)","type":"string"},"format":{"description":"Export format: \"md\" (default) markdown persona profile (returned inline), \"pdf\" portrait branded profile, \"docx\" Word document, \"pptx\" editable branded deck","type":"string","enum":["md","markdown","pdf","docx","pptx"]},"force":{"description":"Regenerate instead of returning a cached artifact.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"mindId":{"description":"Exported Mind.","anyOf":[{"type":"string"},{"type":"null"}]},"format":{"description":"Export format.","anyOf":[{"type":"string"},{"type":"null"}]},"filename":{"description":"Suggested file name.","anyOf":[{"type":"string"},{"type":"null"}]},"mimeType":{"description":"MIME type of the file.","anyOf":[{"type":"string"},{"type":"null"}]},"content":{"description":"Inline Markdown content, for Markdown exports.","anyOf":[{"type":"string"},{"type":"null"}]},"contentBase64":{"description":"Base64 file content, for binary formats.","anyOf":[{"type":"string"},{"type":"null"}]},"mindUrl":{"description":"Minds workspace link for the Mind.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Export Mind Persona Profile","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/toolInvocation/invoking":"Exporting Mind profile...","openai/toolInvocation/invoked":"Profile ready!"}},{"name":"export_audience","title":"Export Audience Brief","description":"Exports an Audience brief, or with kind \"validation_report\" the report of its validations (overall score calculation, every KPI, per-question answer shares, provenance), through the same renderer used by the web app. Brief: Markdown, PDF, DOCX, PPTX. Validation report: Markdown, PDF, DOCX, XLSX. Binary artifacts are returned as base64.","inputSchema":{"type":"object","properties":{"audience":{"description":"Which Audience to export.","type":"object","properties":{"id":{"description":"Audience ID (UUID).","type":"string"},"name":{"description":"Audience name (fuzzy matched).","type":"string"}}},"kind":{"description":"What to export: \"brief\" (default), the Audience brief; or \"validation_report\", every scored validation of the Audience with the overall score calculation, every KPI with its 95% interval, per-question answer shares and provenance. A validation report needs edit access and a scored validation.","type":"string","enum":["brief","validation_report"]},"format":{"description":"Export format: \"md\" (default), \"pdf\", \"docx\"; \"pptx\" for a brief only; \"xlsx\" (every table as a sheet) for a validation report only.","type":"string","enum":["md","markdown","pdf","docx","pptx","xlsx"]},"force":{"description":"Regenerate instead of returning a cached artifact.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"audienceId":{"description":"Exported Audience.","anyOf":[{"type":"string"},{"type":"null"}]},"format":{"description":"Export format.","anyOf":[{"type":"string"},{"type":"null"}]},"filename":{"description":"Suggested file name.","anyOf":[{"type":"string"},{"type":"null"}]},"mimeType":{"description":"MIME type of the file.","anyOf":[{"type":"string"},{"type":"null"}]},"content":{"description":"Inline Markdown content, for Markdown exports.","anyOf":[{"type":"string"},{"type":"null"}]},"contentBase64":{"description":"Base64 file content, for binary formats.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Export Audience Brief","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/toolInvocation/invoking":"Exporting Audience brief...","openai/toolInvocation/invoked":"Audience brief ready!","openai/scopes":["sparks:read"]}},{"name":"export_heatmap","title":"Export Website Heatmap","description":"Exports a completed website heatmap from a Study result, identified by the message ID reported with the completed result. Returns the same ZIP archive as the web app, including its unified-renderer PDF report, Markdown, images, and metadata.","inputSchema":{"type":"object","properties":{"messageId":{"description":"ID of the completed Study result containing the website heatmap. Completed Study results report this identifier when the answer carries a heatmap.","type":"string","minLength":1},"force":{"description":"Regenerate the ZIP archive instead of returning the cached artifact.","type":"boolean"},"study":{"description":"Which Study the heatmap belongs to.","type":"object","properties":{"id":{"description":"Study ID (UUID).","type":"string"},"name":{"description":"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records).","type":"string"}}}},"required":["messageId"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Study that ran the heatmap.","anyOf":[{"type":"string"},{"type":"null"}]},"messageId":{"description":"Heatmap result exported.","anyOf":[{"type":"string"},{"type":"null"}]},"format":{"description":"Export format."},"studyUrl":{"description":"Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Export Website Heatmap","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/toolInvocation/invoking":"Exporting website heatmap...","openai/toolInvocation/invoked":"Heatmap archive ready!","openai/scopes":["flows:read"]}},{"name":"run_study_heatmap","title":"Run Study Asset Heatmap","description":"Read or start a question asset heatmap, with the same behavior as Minds UI. For a specific video or image pass assetKey: its saved upload path (chat/...) or normalized URL. Only assets assigned to that question can be analyzed. GET returns assetHeatmaps keyed by asset identity; start with assetKey reuses completed analysis for that asset, while start without assetKey can rerun analysis. Website analysis visits the assigned public URL. Starting analysis uses one response per Mind and requires Premium. Selecting a different video does not change the question results.","inputSchema":{"type":"object","properties":{"studyId":{"type":"string"},"studyName":{"type":"string"},"messageId":{"type":"string","minLength":1},"action":{"default":"get","type":"string","enum":["get","start"]},"assetKey":{"type":"string","minLength":1}},"required":["messageId"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Study the heatmap belongs to.","anyOf":[{"type":"string"},{"type":"null"}]},"messageId":{"description":"Heatmap result.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Run Study Asset Heatmap","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/scopes":["flows:read","flows:write"]}},{"name":"list_studies","title":"List Studies","description":"Lists the authenticated user's Studies, most recently updated first, one page at a time: limit (default 20) and offset, with nextOffset to continue. Each row carries the Study's Audiences with their Mind counts, stored message count, sharing state and links. searchQuery returns the best fuzzy name match instead of a page.\n\nA Study is the persistent workspace holding its Audiences, questions, multi-question blocks, results, exports and history. Its Minds and per-question results come from the Study status rather than this listing. Study deletion is not available here.","inputSchema":{"type":"object","properties":{"searchQuery":{"description":"Search for a Study by name (fuzzy matching supported). Returns the best match.","type":"string"},"limit":{"description":"Studies per page, newest first (default 20, max 100).","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Number of Studies to skip; pass nextOffset from the previous page to continue.","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studies":{"description":"Studies: id, name, question count, dates, sharing state, Audiences with Mind counts, and links.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"totalCount":{"description":"Total number of items available.","anyOf":[{"type":"number"},{"type":"null"}]},"shownCount":{"description":"Number of items in this response.","anyOf":[{"type":"number"},{"type":"null"}]},"limit":{"description":"Page size used.","anyOf":[{"type":"number"},{"type":"null"}]},"offset":{"description":"Offset of this page.","anyOf":[{"type":"number"},{"type":"null"}]},"nextOffset":{"description":"Offset of the next page; absent on the last page.","anyOf":[{"type":"number"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"List Studies","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["flows:read"]}},{"name":"get_study_status","title":"Get Study Status","description":"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.\n\nAn 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.\n\nPass 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.\n\nStudy deletion is not available here.","inputSchema":{"type":"object","properties":{"questionId":{"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.","type":"string","minLength":1,"maxLength":200},"runId":{"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.","type":"string","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)$"},"study":{"description":"Which Study to inspect. Omit entirely to use the active Study from this MCP session.","type":"object","properties":{"id":{"description":"Study ID (UUID). Omit with studyName to use the active Study.","type":"string","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)$"},"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"}}},"export":{"description":"Poll one asynchronous export job created by the export operation.","type":"object","properties":{"kind":{"description":"Asynchronous export kind whose status should be returned (defaults to full_report).","type":"string","enum":["executive_brief","full_report","raw_data"]},"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.","type":"string","enum":["pdf","html","png","docx","pptx","csv","xls","sav","md"]},"jobId":{"description":"Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact.","type":"string","minLength":1}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"The Study.","anyOf":[{"type":"string"},{"type":"null"}]},"runId":{"description":"The multi-question run, when one was requested.","anyOf":[{"type":"string"},{"type":"null"}]},"artifacts":{"description":"Results and artifacts of the requested run. A response artifact may carry answerConsistency {version, flags: [{mindId, withItem, reason}]}.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"answerConsistency":{"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."},"name":{"description":"Study name.","anyOf":[{"type":"string"},{"type":"null"}]},"locale":{"description":"Study display locale.","anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"description":"Creation time (ISO 8601).","anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"description":"Last update time (ISO 8601).","anyOf":[{"type":"string"},{"type":"null"}]},"messageCount":{"description":"Number of Study messages.","anyOf":[{"type":"number"},{"type":"null"}]},"audiences":{"description":"Audiences with their Minds.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"activeQuestions":{"description":"Questions still running: questionId, question, status, totalMinds, answeredCount.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"recentResults":{"description":"Completed questions with their per-Audience outputData.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"failedQuestions":{"description":"Questions that failed, with an error.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"exportStatus":{"description":"Status of the requested asynchronous export job, if any."},"formations":{"description":"Audience breakdowns available for the results."},"isLinkSharingEnabled":{"description":"Whether the public share link is on.","anyOf":[{"type":"boolean"},{"type":"null"}]},"publicShareId":{"description":"Public share identifier, or null.","anyOf":[{"type":"string"},{"type":"null"}]},"apiBase":{"description":"Minds base URL.","anyOf":[{"type":"string"},{"type":"null"}]},"workspaceUrl":{"description":"Authenticated Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]},"sharedStudyUrl":{"description":"Public share link, or null when link sharing is off.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Get Study Status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["flows:read"],"ui":{"visibility":["model","app"]},"openai/widgetAccessible":true}},{"name":"list_audiences","title":"List Audiences","description":"Lists the authenticated user's Audiences, most recently updated first, one page at a time (limit, default 20, and offset; nextOffset continues), with Mind counts, sharing state, and workspace or shared links. includeMinds adds each Audience's member Minds. searchQuery returns the best fuzzy name match instead of a page. Each Audience carries a workspaceUrl, the authenticated workspace link that stays valid verbatim, plus the top-level workspaceUrl for the Audience list; sharedAudienceUrl, when present, is the public share link for recipients.","inputSchema":{"type":"object","properties":{"searchQuery":{"description":"Search for an Audience by name (fuzzy matching supported). Returns the best match.","type":"string"},"limit":{"description":"Audiences per page, most recently updated first (default 20, max 100).","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Number of Audiences to skip; pass nextOffset from the previous page to continue.","type":"integer","minimum":0,"maximum":9007199254740991},"includeMinds":{"description":"Also return each Audience's member Minds (id, name, discipline). Default false: Audiences carry a Mind count only.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"workspaceUrl":{"description":"Minds workspace link.","anyOf":[{"type":"string"},{"type":"null"}]},"audiences":{"description":"Audiences: id, name, workspaceUrl, mindCount, sharing state, and member Minds when includeMinds was set.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"totalCount":{"description":"Total number of items available.","anyOf":[{"type":"number"},{"type":"null"}]},"shownCount":{"description":"Number of items in this response.","anyOf":[{"type":"number"},{"type":"null"}]},"limit":{"description":"Page size used.","anyOf":[{"type":"number"},{"type":"null"}]},"offset":{"description":"Offset of this page.","anyOf":[{"type":"number"},{"type":"null"}]},"nextOffset":{"description":"Offset of the next page; absent on the last page.","anyOf":[{"type":"number"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"List Audiences","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["sparks:read"]}},{"name":"get_audience_limits","title":"Get Audience Limits","description":"Returns the Audience size ceilings that apply to the authenticated account before an Audience is created: the per-Audience plan cap including any configured team allowance, the custom-size maximum, and the per-mode ceilings. Relevant whenever a size is named, \"as many as possible\" is asked for, or a creation mode is chosen.\n\nThe two mode ceilings are different things. `automaticSizingCeiling` bounds the size the server picks when memberCount is omitted; `explicitCountCeiling` bounds a size you state, and only \"balanced\" has one — exceeding it is refused with MODE_CAP. In the deeper modes a stated size is bounded by `memberCap` alone.\n\nThese are sizes for each Audience, not workspace capacity, remaining credits, or a reservation. The response names the account and team the allowance belongs to, which can differ from another connector or browser login.","inputSchema":{"type":"object","properties":{"mode":{"description":"Report only this creation mode. Omit to see every mode.","type":"string","enum":["balanced","segment_coverage","benchmark_depth"]}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"creationModes":{"description":"Audience creation modes and their limits, when a mode was requested."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Get Audience Limits","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["sparks:read"]}},{"name":"create_audience_from_brief","title":"Create a Grounded Audience from a Brief","description":"Creates an Audience from a free-text brief. The server researches the population, derives its defensible dimensions, and builds Minds with an explicit profile each and exact segment allocation.\n\n`grounding.preview` returns the quota axes for review before any Mind exists; passing the reviewed grounding back with its checksum creates the Audience from exactly what was reviewed. `composition.memberCount` states a size, and the mode ceilings that bound it come from the Audience-limits operation.\n\nCreation is asynchronous: the result carries the operation to poll while it runs. Audiences are private unless link sharing is enabled.","inputSchema":{"type":"object","properties":{"brief":{"description":"Free-text brief describing the population the Audience should represent. E.g. \"California high school students grades 9-12\", \"Berlin Späti customers\", \"Spanish lawyers\", \"management team of Coca Cola\". The server runs deep web research on this brief to find demographic / psychographic distributions from authoritative sources, then generates personas that proportionally reflect those distributions.","type":"string","minLength":1,"maxLength":200000},"name":{"description":"Optional Audience name override. When omitted, the server names the Audience from the brief or the LLM detection result.","type":"string","maxLength":100},"operationId":{"description":"Resume a queued preview or creation by its returned jobId. Reads its v1 operation status without creating or charging anything. Supply this alone; do not repeat the creation brief to check progress.","type":"string","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)$"},"isLinkSharingEnabled":{"description":"Set true ONLY when the user explicitly asked for a public/shareable link. Defaults to false: the Audience is private to its owner and no share URL is generated. Enabling this publishes the Audience — including its grounding, sources and personas — at a world-readable URL that needs no login. Do not enable it to \"be helpful\".","default":false,"type":"boolean"},"research":{"description":"Extra material the grounding research reads alongside the brief, and whether web search runs at all.","type":"object","properties":{"links":{"description":"Optional URLs scraped server-side for additional context (e.g. an article describing the population).","maxItems":10,"type":"array","items":{"type":"string"}},"keywords":{"description":"Optional Exa web-search seeds added alongside the brief.","maxItems":10,"type":"array","items":{"type":"string"}},"files":{"description":"Optional already-uploaded research files. 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. The server analyzes these through the same extended screener/questionnaire path as the in-app New Audience uploader, including study roles, screening and quota rules, review distributions, and grounding provenance.","maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"description":"File name","type":"string"},"url":{"description":"URL of an already-uploaded file. 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.","type":"string","minLength":1}},"required":["name","url"]}},"includeWebSearch":{"description":"Set false to skip Exa web search and extraction completely. The Audience is then grounded only on the brief and supplied files, links, keywords, and structurally parsed respondent data. Note that a study report, questionnaire, screener or respondent dataset grounds the Audience but is deliberately withheld from the members' own knowledge, so it cannot be the evidence they answer from; with nothing left to ground on, creation is refused rather than producing Minds with no evidence. Leave it true unless the supplied sources include material the members themselves should read.","default":true,"type":"boolean"}}},"composition":{"description":"How many Minds to create and how the cohort is allocated across the grounded axes.","type":"object","properties":{"memberCount":{"description":"Exact number of Minds to create. Pass this whenever the user states a size (\"exactly 50 per region\", \"genau 50 Minds je Zelle\") instead of relying on the server to parse the number out of the brief. When omitted, the size is inferred from the brief and, failing that, from the creation mode's evidence-based automatic sizing. Two separate refusals apply: 403 MODE_CAP above 20 in \"balanced\" mode (switch to segment_coverage or benchmark_depth), and 403 PLAN_LIMIT above your plan's per-Audience cap. The 6000 accepted here is the absolute system ceiling, not your allowance — call get_audience_limits for the real one. The Audience is never created at a partial size.","type":"integer","exclusiveMinimum":0,"maximum":6000},"audienceCreationMode":{"description":"How the Audience is sized. \"balanced\" (default): compact and representative for everyday research. It is the only mode with a hard wall on a size you state — a memberCount above 20 is refused with 403 MODE_CAP. \"segment_coverage\": two representatives per limiting grounded cell, from a 10-Mind floor; automatic sizing stops at 50, but a memberCount you state is bounded only by your plan. \"benchmark_depth\": repeated representation of limiting grounded cells for validation-ready segmentation; bounded by your plan allowance. The deeper two require a Team (enterprise) plan — on other plans the server SILENTLY downgrades to \"balanced\" and echoes the effective mode in structuredContent.audience.audienceCreationMode. Call get_audience_limits to see the ceilings that apply to your account.","type":"string","enum":["balanced","segment_coverage","benchmark_depth"]},"cohortAllocation":{"description":"Deterministic allocation controls. Reviewed respondent datasets default to observed, which preserves the strongest privacy-safe structural relationships while keeping exact marginals; other sources default to independence. Use distributionNames/maxDistributions to choose axes, minSegmentCount for a feasible floor, and seed for reproducible external runs.","type":"object","properties":{"enabled":{"type":"boolean"},"seed":{"type":"string","maxLength":200},"distributionNames":{"maxItems":500,"type":"array","items":{"type":"string"}},"maxDistributions":{"type":"integer","minimum":1,"maximum":500},"minSegmentCount":{"type":"integer","minimum":0,"maximum":20},"targetOverrides":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"distribution":{"type":"string"},"segments":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"pct":{"type":"number","minimum":0,"maximum":100}},"required":["label","pct"]}}},"required":["distribution","segments"]}},"jointStrategy":{"type":"string","enum":["independent","aligned","observed"]},"includeProfilesInResponse":{"type":"boolean"}}},"datasetSegmentation":{"description":"Reviewed variable roles, distributions, and privacy-safe pairwise relationships returned by preview_audience_dataset_segmentation. Requires audienceCreationMode=\"benchmark_depth\". Structural variables shape one generalizable representative cohort; outcomes remain held out and joint combinations remain audit evidence only. Copy `respondentCount` and `recommendedMindCount` through from the preview — they cap the cohort size.","type":"object","properties":{"fileName":{"type":"string"},"sheetName":{"type":"string"},"respondentCount":{"description":"Total respondent rows in the reviewed sheet, copied from the preview.","type":"integer","minimum":0,"maximum":9007199254740991},"recommendedMindCount":{"description":"Preview-recommended cohort size. Caps how many Minds the benchmark run creates.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"variables":{"description":"Variable-level distributions from the preview (preferred over `columns` when present).","maxItems":200,"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"distribution":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"value":{"default":"","type":"string"},"respondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sharePct":{"type":"number","minimum":0}},"required":["value","respondentCount","sharePct"]}},"validRespondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"otherRespondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","label","distribution"]}},"columns":{"description":"Column-level distributions from the preview. Used when `variables` is absent.","maxItems":200,"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"distribution":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"value":{"default":"","type":"string"},"respondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sharePct":{"type":"number","minimum":0}},"required":["value","respondentCount","sharePct"]}},"validRespondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"otherRespondentCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","label","distribution"]}},"segmentationColumns":{"description":"Keys of the variables the user kept after review. These are the only ones that shape the cohort.","minItems":1,"maxItems":200,"type":"array","items":{"type":"string"}},"combinations":{"description":"Observed joint profiles as audit counts. Copy the ids and counts from the preview; per-cell values are not needed.","maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"respondentCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sharePct":{"type":"number","minimum":0}},"required":["id","respondentCount","sharePct"]}},"retainedCombinationIds":{"maxItems":5000,"type":"array","items":{"type":"string"}}},"required":["fileName","segmentationColumns","combinations"]},"excludeDistributions":{"description":"Exact axis names whose composition quotas should be removed. Age remains as one eligibility range without within-range shares; explicit gender membership remains enforced. Include required eligibility axes in cohortAllocation.distributionNames. Original evidence stays in reviewDistributions.","maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}}},"grounding":{"description":"Review the quota axes before any Mind exists, and pass a reviewed snapshot back unchanged to create from it.","type":"object","properties":{"preview":{"description":"Review the quota axes BEFORE any Mind exists. When true, the server runs research grounding and deterministic cohort allocation without creating an Audience or Minds or consuming a generation allowance. To revise a saved preview without repeating research, pass its unchanged reviewedGroundingJson/SHA pair together with groundingPreview and the revised exclusion/allocation options. Fresh research uses the same durable operation as the public REST API; this tool polls it to completion. The response includes effective target percentages and integer counts; explicit allocation targets that do not match grounded axes fail closed. Present the plan to the user, then call again without groundingPreview and pass reviewedGroundingJson plus reviewedGroundingSha256 unchanged with the same allocation options.","type":"boolean"},"reviewedJson":{"description":"Exact reviewedGroundingJson returned by groundingPreview or import_audience_sources. Pass it unchanged together with reviewedGroundingSha256 on a re-preview or creation call; the server reuses this reviewed snapshot instead of rerunning grounding research.","type":"string","minLength":1,"maxLength":2000000},"reviewedSha256":{"description":"SHA-256 returned by the same groundingPreview. Required together with reviewedGroundingJson; any mismatch is rejected before Audience or Mind materialisation.","type":"string","pattern":"^[0-9a-f]{64}$"}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"status":{"description":"Creation state of the Audience."},"audience":{"description":"The created or previewed Audience with its Minds and grounding."},"operation":{"description":"Durable creation operation, while creation is still running."},"workspaceUrl":{"description":"Minds workspace link for the Audience.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Create a Grounded Audience from a Brief","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["sparks:write"]}},{"name":"import_audience_sources","title":"Import Audience Research Sources","description":"Imports supplied UTF-8 text, Markdown, CSV and JSON research files into account-owned storage. Accepts file contents rather than local paths. Identical file imports are safe to retry. Optional caller-reviewed grounding JSON binds distributions to existingFiles followed by files in sourceIdx order, returning a normalized snapshot and checksum for audience preview and creation. This operation creates no Audience or Minds and performs no web search or independent verification of supplied percentages.","inputSchema":{"type":"object","properties":{"files":{"default":[],"maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\.(txt|md|csv|json)$"},"content":{"type":"string","minLength":1,"maxLength":5242880}},"required":["name","content"],"additionalProperties":false}},"existingFiles":{"default":[],"maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","minLength":1,"maxLength":2000}},"required":["name","url"],"additionalProperties":false}},"groundingJson":{"description":"Optional explicitly supplied distribution JSON (the grounding object, not respondent rows). Sources are bound to the files in request order: existingFiles followed by files. Import does not assert independent verification of the supplied percentages.","type":"string","minLength":1,"maxLength":2000000}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false},"outputSchema":{"type":"object","properties":{"data":{"description":"Import result from the Minds API: accepted sources and their processing state."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Import Audience Research Sources","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"},"_meta":{"openai/visibility":"public","openai/scopes":["sparks:write"]}},{"name":"ask_audience","title":"Ask One Standalone Audience Question","description":"Asks exactly one standalone question of one existing Audience. It creates a private Study for that Audience, starts asynchronous answers from its Minds, and returns the Study identifier and its links.\n\nAutomatic classification may reformulate a context-dependent question. The accepted task and its answer contract are returned together, with the original request retained separately. Requests needing clarification or generated questions return planning_required before execution.\n\nOut of scope: a questionnaire, battery, section or any request with two or more known questions. That complete set runs as one planned multi-question block inside a Study.\n\nAttachments must be fetchable HTTP(S) URLs or existing Minds workspace uploads; the Study refuses to start if its Minds cannot read one.","inputSchema":{"type":"object","properties":{"audience":{"description":"Which Audience to ask. Give the id when known, otherwise the name.","type":"object","properties":{"id":{"description":"Audience ID (UUID). Preferred when known.","type":"string"},"name":{"description":"Audience name to fuzzy-match among the newest 1,000 visible Audiences. Use an exact audienceId for older records.","type":"string"}}},"question":{"description":"Exactly one respondent-visible standalone question for every Mind in the Audience. The system may classify or reformat it, but any text in this field can reach the Minds and influence their answers. Include only the concept, question, and instructions the Minds should receive. Never place planner-only or MCP-client orchestration instructions here. If the question offers a fixed set of answer options, say so in the text as the respondent would read it. The research reader identifies the question and its answer contract together. Include the complete authored labels, ordering and selection instructions. Numbered answer options do not by themselves make a request a multi-question battery. An invalid or ambiguous reading stops for retry or planning before execution.","type":"string","minLength":1},"name":{"description":"Optional name for the Study created to ask this question. Defaults to the Audience name.","type":"string"},"attachments":{"description":"Files/images processed once and given to every Audience member as context. Pass a fetchable HTTP(S) URL, or an existing Minds workspace upload under chat/<userId>/ (that storage path or its /api/uploads/chat/ URL; request the signed upload with folder \"chat\"). MCP cannot read a local path, and a file the user attached in the chat client is NOT reachable either unless that client also exposes a public URL for it — most do not. When it is not: send the file CONTENTS to import_audience_sources (UTF-8 text, Markdown, CSV, JSON), which takes contents rather than paths. A PDF or image with no public URL has no MCP route at all — it must be uploaded in the Minds app first; say so instead of retrying. Study tools import external file URLs into durable Minds storage before saving or running. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset.","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable asset ID used by questionAttachments to assign this file to specific planned questions.","type":"string","minLength":1,"maxLength":255},"url":{"description":"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.","type":"string","minLength":1},"path":{"description":"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.","type":"string","minLength":1},"name":{"description":"File name visible in the Study.","type":"string","minLength":1},"type":{"description":"MIME type when known.","type":"string","minLength":1}}}}},"required":["question"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"status":{"description":"queued once submitted, or planning_required when the request needs a reviewed multi-question plan (nothing was submitted).","anyOf":[{"type":"string"},{"type":"null"}]},"studyId":{"description":"Study the question was asked in.","anyOf":[{"type":"string"},{"type":"null"}]},"questionId":{"description":"Identifier of this question; pass it to get_study_status to follow only this question.","anyOf":[{"type":"string"},{"type":"null"}]},"runId":{"description":"Durable run identifier.","anyOf":[{"type":"string"},{"type":"null"}]},"question":{"description":"The submitted question.","anyOf":[{"type":"string"},{"type":"null"}]},"locale":{"description":"Study display locale.","anyOf":[{"type":"string"},{"type":"null"}]},"proposedQuestions":{"description":"For planning_required: the respondent questions detected or proposed.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"executionStarted":{"description":"False when nothing was submitted.","anyOf":[{"type":"boolean"},{"type":"null"}]},"apiBase":{"description":"Minds base URL.","anyOf":[{"type":"string"},{"type":"null"}]},"workspaceUrl":{"description":"Authenticated Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]},"sharedStudyUrl":{"description":"Public share link, or null when link sharing is off.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Ask One Standalone Audience Question","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"ui":{"resourceUri":"ui://widget/response.c228ee629e0f.html"},"openai/outputTemplate":"ui://widget/response.c228ee629e0f.html","ui/resourceUri":"ui://widget/response.c228ee629e0f.html"}},{"name":"plan_study_questions","title":"Plan a Multi-Question Block in a Study","description":"Creates or revises a non-executing draft for a multi-question plan inside an existing Study. Saving never starts research. To change a draft, pass `draft.id` with its current `draft.revision` — re-sending a reworded `request` creates a SECOND draft instead of revising; a stale revision is rejected.\n\nThis is the setup operation for any questionnaire, survey, battery, section or request containing two or more known questions: include every question known now in this one draft, grouped into cohesive named modules in respondent order. A one-question draft is only for genuinely standalone research, or a follow-up whose wording depends on results that do not exist yet.\n\nIt records respondent-visible questions, response formats and confirmation questions for review.\n\nPass `request` to have the planner design the questions, or `questions` for a fixed instrument, which is transcribed exactly and bypasses the planner; a question sent as qualitative whose own text lists its answers becomes the choice question that text states.\n\nItems are answered in order: each Mind sees its own earlier answers in the run (never another Mind's), so an item may build on an earlier one. For skip logic, give an item `askIf` instead of \"if not, answer N/A\" wording: only respondents whose own earlier answer matches are asked.\n\nWith 2+ attachments, map each question in `stimulus.questionAttachments` (`[]` = none); an omitted question gets every attachment, an unused attachment goes with every question.","inputSchema":{"type":"object","properties":{"request":{"description":"Planner input containing the research objective, questionnaire, survey, battery, section, cohesive question set, audit request, or analysis request. Required for a new draft. Include EVERY question already known in this one request so the planner can group the complete set into cohesive named modules for one confirmed multi-question run inside the Study; never create one planning request per known question. This request is not sent verbatim to Minds; the exact proposed respondent-visible questions are returned in the draft for review.","type":"string","minLength":1},"questions":{"description":"Fixed instrument: use INSTEAD of request when the user supplies a pre-registered or fixed questionnaire whose wording, order, and response formats must not change. The planner is bypassed; every question is stored verbatim, in this order, with exactly this response contract. Cannot be combined with refinement, answers, questionResponses, or suggestQuestionStimuli. Repeated question texts or colliding ids are rejected.","minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"description":"Stable item id (lower-cased to a slug). Defaults to q<position>.","type":"string","minLength":1,"maxLength":80},"text":{"description":"Exact respondent-visible question text, including any anchors or labels. Stored as given. Answer options do NOT belong here: list them in response.categoricalOptions instead. A question whose text spells out its choices but is typed qualitative is answered as free text, every Mind converges on the same most likely wording, and the chart shows one option at 100%. State the options here only as a respondent would read them, and always carry the same options in response.categoricalOptions so the contract and the wording agree. Skip and filter instructions (\"No -> go to Q12\", \"only if Q3 = Yes\") do not belong in the text either: transcribe each as askIf. A jump from an answer of item G to item N gives every item between G and N answerNotIn [that answer]; a filter gives answerIn. Tell the person about any instruction you cannot map to exact items and options instead of guessing it.","type":"string","minLength":1,"maxLength":2000},"module":{"description":"Optional module (battery) label. Consecutive questions with the same label form one module.","type":"string","minLength":1,"maxLength":200},"response":{"description":"Exact execution contract for this item. Pick by what the question asks of a respondent: a fixed set of choices is categorical (exactly one) or multiselect (several, with maxSelections); putting every option in order is ranking; a numeric judgement is scale with an inclusive finite numeric scaleRange; only a genuinely open answer in the respondent's own words is qualitative. categorical, multiselect and ranking all carry the choices in categoricalOptions, which keep their exact labels and order even with attachments; files are evidence and do not generate replacement A/B options.","type":"object","properties":{"type":{"type":"string","enum":["qualitative","categorical","multiselect","ranking","scale"]},"scalePoints":{"description":"Exhaustive allowed scale answers in authored order, each with its literal label and numeric value. Omit for an unenumerated range; never fill missing intermediate points.","minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"number"}},"required":["label","value"],"additionalProperties":false}},"scaleRange":{"description":"Inclusive finite numeric response bounds as [minimum, maximum], only when specified. Numeric responses may be unbounded. Fractional and wide ranges retain their authored values.","minItems":2,"maxItems":2,"type":"array","items":{"type":"number"}},"categoricalOptions":{"description":"Predefined answer choices; only valid for categorical, multiselect or ranking responses. A ranking orders all of them.","minItems":2,"maxItems":100,"type":"array","items":{"type":"string"}},"maxSelections":{"description":"Maximum choices a respondent may select; only valid for multiselect responses.","type":"integer","minimum":1,"maximum":100}},"required":["type"],"additionalProperties":false},"askIf":{"description":"Routing: ask this item only of respondents whose own answer to an earlier item (questionId) matched. Give exactly one of: answerIn or answerNotIn with an earlier categorical or multiselect item's exact option labels; or categoryIn or categoryNotIn for an earlier open (qualitative) item, whose answers are coded into the categories named for it (one frame per item, at most 12) once it has been answered; an answer fitting none of them counts as none. Scale and ranking items cannot gate. Respondents not asked are recorded as not asked and excluded from this item's results.","type":"object","properties":{"questionId":{"type":"string","minLength":1,"maxLength":80},"answerIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"answerNotIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"categoryIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"categoryNotIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["questionId"],"additionalProperties":false}},"required":["text","response"],"additionalProperties":false}},"idempotencyKey":{"description":"Optional stable retry key. When omitted the tool derives one from its own arguments, so a repeated identical call (including a host retry after a timeout) returns the draft revision that was already saved instead of planning again. Pass a fresh key to force a new plan for identical input.","type":"string","minLength":1,"maxLength":200},"study":{"description":"Which Study the plan belongs to. Omit entirely to continue the active Study from this MCP session.","type":"object","properties":{"id":{"description":"Study ID (UUID). Omit with studyName to continue the active Study.","type":"string","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)$"},"name":{"description":"Study name to fuzzy-match among the newest 1,000 visible Studies; use studyId for older records. Omit with studyId to continue the active Study.","type":"string"}}},"draft":{"description":"Revising an existing draft: which draft and revision, and how it should change. Omit for a new draft.","type":"object","properties":{"id":{"description":"Existing draft ID to revise after the user answers a confirmation question.","type":"string","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)$"},"revision":{"description":"Current draft revision; required with draftPlanId.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"loadLatest":{"description":"Read the latest saved revision of draftPlanId, without generating, saving or executing. Do not combine with edits or planner inputs.","type":"boolean"},"edits":{"description":"Save exact edits to draftPlanId and revision without a model call. Preserves method configuration, source policy, item IDs and exact wording. Questions are the complete selected instrument in module order, including each item's askIf (omitted means none); method-specific batteries are read-only. Cannot combine with planner inputs.","type":"object","properties":{"objective":{"type":"string","minLength":1,"maxLength":2000},"promptContent":{"type":"string","maxLength":20000},"questions":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9_-]+$"},"moduleId":{"type":"string","minLength":1,"maxLength":120},"text":{"type":"string","minLength":1,"maxLength":2000},"response":{"type":"object","properties":{"type":{"type":"string","enum":["qualitative","categorical","multiselect","ranking","scale"]},"scalePoints":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"number"}},"required":["label","value"],"additionalProperties":false}},"scaleRange":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"number"}},"categoricalOptions":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"maxSelections":{"type":"integer","minimum":1,"maximum":100}},"required":["type"],"additionalProperties":false},"attachmentIds":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}},"askIf":{"type":"object","properties":{"questionId":{"type":"string","minLength":1,"maxLength":80},"answerIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"answerNotIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"categoryIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"categoryNotIn":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["questionId"],"additionalProperties":false}},"required":["id","moduleId","text","response"],"additionalProperties":false}}},"additionalProperties":false},"refinement":{"description":"How the user wants the existing draft changed.","type":"string"},"answers":{"description":"Answers to the draft confirmation questions.","type":"array","items":{"type":"object","properties":{"questionId":{"description":"Confirmation question ID from the latest draft.","type":"string","minLength":1},"answer":{"description":"The user's answer to that confirmation question.","type":"string"}},"required":["questionId","answer"],"additionalProperties":false}},"questionResponses":{"description":"Explicit response-format edits, one entry per question. Each entry needs questionId (from the latest draft) plus the type the question actually calls for: categorical for one choice, multiselect for several (with maxSelections), ranking when every Mind orders all categoricalOptions, scale with an inclusive finite numeric scaleRange, and qualitative only for a genuinely open answer. Use this to correct an item whose options ended up inside its text.","type":"array","items":{"type":"object","properties":{"questionId":{"description":"Question ID from the latest draft plan.","type":"string","minLength":1,"maxLength":80},"type":{"type":"string","enum":["qualitative","categorical","multiselect","ranking","scale"]},"scalePoints":{"description":"Exhaustive allowed scale answers in authored order, each with its literal label and numeric value. Omit for an unenumerated range; never fill missing intermediate points.","minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"number"}},"required":["label","value"],"additionalProperties":false}},"scaleRange":{"description":"Inclusive finite numeric response bounds as [minimum, maximum], only when specified. Numeric responses may be unbounded. Fractional and wide ranges retain their authored values.","minItems":2,"maxItems":2,"type":"array","items":{"type":"number"}},"categoricalOptions":{"description":"Predefined answer choices; only valid for categorical, multiselect or ranking responses. A ranking orders all of them.","minItems":2,"maxItems":100,"type":"array","items":{"type":"string"}},"maxSelections":{"description":"Maximum choices a respondent may select; only valid for multiselect responses.","type":"integer","minimum":1,"maximum":100}},"required":["questionId","type"],"additionalProperties":false}}}},"stimulus":{"description":"Respondent-visible material for the planned block, and how it is assigned to questions.","type":"object","properties":{"source":{"description":"The one main source this study is about. When Minds must evaluate pasted text, use kind prompt and put the exact respondent-visible material in content. Keep research objectives, requested questions, and planner-only instructions in request. 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.","type":"object","properties":{"kind":{"type":"string","enum":["prompt","website","image","video","document","questionnaire","other"]},"label":{"type":"string","minLength":1},"url":{"description":"Fetchable source 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.","type":"string","minLength":1},"mimeType":{"type":"string"},"content":{"description":"Exact respondent-visible pasted text. Use only with kind prompt when Minds must evaluate a concept, message, description, or other text. Do not include planner-only instructions.","type":"string","minLength":1,"maxLength":20000}},"required":["kind","label"]},"attachments":{"description":"Files and websites available to the planned Study (one question block, at most 100). With multiple assets, map every question explicitly (use [] for no assets); an asset no question uses is shown with every question. Give each scoped file a stable id. Remote URLs are copied into durable Minds storage before the draft is saved. 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.","maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"description":"Stable asset ID used by questionAttachments to assign this file to specific planned questions.","type":"string","minLength":1,"maxLength":255},"url":{"description":"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.","type":"string","minLength":1},"path":{"description":"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.","type":"string","minLength":1},"name":{"description":"File name visible in the Study.","type":"string","minLength":1},"type":{"description":"MIME type when known.","type":"string","minLength":1},"mimeType":{"type":"string","maxLength":255},"kind":{"description":"Use website for a page to read as a website rather than download as a file.","type":"string","const":"website"}}}},"questionAttachments":{"description":"Question-to-file mapping. In multi-asset blocks map every question, using [] for no assets; an omitted question receives every asset and an asset on no question is shown with every question. Each question at most once; every referenced attachment id must resolve.","minItems":1,"type":"array","items":{"type":"object","properties":{"questionNumber":{"description":"One-based question position in the returned plan, across modules in order.","type":"integer","minimum":1,"maximum":9007199254740991},"attachmentIds":{"description":"Stable ids from attachments that this question alone receives (at most 20).","maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":255}}},"required":["questionNumber","attachmentIds"],"additionalProperties":false}},"suggestQuestionStimuli":{"description":"Default true. Lets the planner assign each attached file or website to one or more questions (attachmentIds on those questions). Pass false to leave questions unassigned unless questionAttachments names them.","type":"boolean"}}},"policy":{"description":"Evidence policy and language stored in the draft revision and reviewed before execution.","type":"object","properties":{"sourcePolicy":{"description":"Evidence policy stored in the draft and reviewed before execution. Defaults to request_only for a controlled Study. Use auto only for an explicitly designed experiment that should allow relevant Mind-knowledge retrieval; response-mode rules still control live web search.","type":"string","enum":["request_only","auto"]},"mindSourcePolicyOverrides":{"description":"Experimental per-Mind treatment assignments stored in the exact draft revision. Each Mind may appear once; unlisted Minds use sourcePolicy. Use only for a preregistered source-policy experiment.","maxItems":2000,"type":"array","items":{"type":"object","properties":{"mindId":{"description":"Exact Mind UUID in the Study cohort.","type":"string","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)$"},"sourcePolicy":{"description":"Request-scoped evidence treatment for this Mind.","type":"string","enum":["request_only","auto"]}},"required":["mindId","sourcePolicy"],"additionalProperties":false}},"studyLocale":{"description":"Language for the plan, questions, responses, labels, and summary. Set this explicitly when the user requests a language.","type":"string","enum":["en","es","fr","de","zh","tr","ar","ja","ko"]}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Study the plan belongs to.","anyOf":[{"type":"string"},{"type":"null"}]},"draftPlanId":{"description":"Draft plan to confirm with run_study_questions."},"revision":{"description":"Draft revision to confirm."},"draftReview":{"description":"The saved draft as reviewed: questions, methods, outputs and confirmation choices."},"nextAction":{"description":"What to do next: show the draft and wait for explicit confirmation.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Plan a Multi-Question Block in a Study","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"ui":{"resourceUri":"ui://widget/plan.fb5dd9395c1c.html","visibility":["model","app"]},"openai/widgetAccessible":true,"openai/outputTemplate":"ui://widget/plan.fb5dd9395c1c.html","ui/resourceUri":"ui://widget/plan.fb5dd9395c1c.html"}},{"name":"run_study_questions","title":"Run a Confirmed Multi-Question Block","description":"Executes one stored draft revision inside its Study, after the person has explicitly confirmed that exact revision. One execution submits the whole draft — every named module and every question — as a single durable run; there is no per-question or per-module execution.\n\nBefore queuing, the server revalidates the revision, method availability and reviewed capabilities, and checks that required respondent-visible material is readable. It refuses the entire run if it is not, before any Mind is used or any quota spent.\n\nItems are answered in order, as one respondent would: every Mind answers an item in parallel, and each Mind sees its own earlier answers in this run, never another Mind's. So an item may build on an earlier one, and order effects can arise as in a fielded survey. Items with askIf are asked only of Minds whose own earlier answer matched. After the run, answers that contradict the same Mind's other answers are flagged for review, never changed.","inputSchema":{"type":"object","properties":{"confirmed":{"description":"Must be true only after the user explicitly confirms this exact draft revision.","type":"boolean","const":true},"advancedMethodOptIn":{"description":"Explicit opt-in for an advanced method. Omit or false to keep simple methods.","type":"boolean"},"audienceIds":{"description":"Optional subset of the Study's Audiences to include.","type":"array","items":{"type":"string","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)$"}},"idempotencyKey":{"description":"Stable UUID for safe retries.","type":"string","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)$"},"modelConnection":{"description":"Verified caller-team connection for Mind answers and verbatim rendering. Select only when the user requests it; confirmation pins this connection revision, and retries must keep it. Supporting analysis retains platform models.","type":"object","properties":{"id":{"type":"string","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)$"},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","revision"],"additionalProperties":false},"study":{"description":"Which Study to run in. Omit entirely to use the active Study from this MCP session.","type":"object","properties":{"id":{"description":"Study ID (UUID). Omit with studyName to run in the active Study.","type":"string","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)$"},"name":{"description":"Study name to fuzzy-match among the newest 1,000 visible Studies; use studyId for older records. Omit with studyId to run in the active Study.","type":"string"}}},"draft":{"description":"The exact confirmed draft revision to execute.","type":"object","properties":{"id":{"description":"Exact draft plan ID returned by plan_study_questions.","type":"string","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)$"},"revision":{"description":"Exact draft revision the user reviewed.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["id","revision"]}},"required":["confirmed","draft"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Study the block runs in.","anyOf":[{"type":"string"},{"type":"null"}]},"runId":{"description":"Durable run; poll it with get_study_run.","anyOf":[{"type":"string"},{"type":"null"}]},"status":{"description":"Run status, or stimulus_unavailable / plan_limited when nothing started."},"executionStarted":{"description":"False when nothing started."},"workspaceUrl":{"description":"Minds workspace link for the Study.","anyOf":[{"type":"string"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Run a Confirmed Multi-Question Block","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"execution":{"taskSupport":"forbidden"},"_meta":{"ui":{"visibility":["model","app"]},"openai/widgetAccessible":true}},{"name":"list_research_methods","title":"List Research Methods","description":"Lists Minds research methods with availability, complexity, executable status, and fallback metadata. Results distinguish currently executable methods from experimental or planned methods.","inputSchema":{"type":"object","properties":{"includePlanned":{"description":"Include methods that are currently planned/non-executable so the model can explain framework compatibility. Availability is dynamic; only entries with executable:true can run.","default":true,"type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"methods":{"description":"Research methods and whether each can run.","anyOf":[{"type":"array","items":{}},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"List Research Methods","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"list_study_drafts","title":"List Study Drafts","description":"Lists durable unfinished study drafts, or returns the complete saved planning state for one exact draft ID. Draft records are distinct from running or completed studies.","inputSchema":{"type":"object","properties":{"draftId":{"description":"Exact study draft ID to retrieve. Omit to list all resumable study drafts owned by the authenticated user.","type":"string","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)$"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"draft":{"description":"The requested draft, or null."},"drafts":{"description":"Resumable drafts.","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"totalCount":{"description":"Number of drafts returned.","anyOf":[{"type":"number"},{"type":"null"}]}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"List Study Drafts","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"save_study_draft","title":"Save Study Draft","description":"Creates or checkpoints an unfinished Quick or Custom Study draft without starting research. It saves the objective, context, selected Audiences, method, questions, sources, and current planner step. Revisions replace the saved planning state and require the exact draft ID and expected revision; stale writes are rejected. For a retryable creation, choose idempotencyKey before the first save and reuse it after an uncertain result.","inputSchema":{"type":"object","properties":{"name":{"description":"Sidebar name for the Study draft.","type":"string","minLength":1,"maxLength":200},"audienceIds":{"description":"Existing Audience IDs selected for the Study. Preferred.","type":"array","items":{"type":"string","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)$"}},"methodId":{"description":"Research method selected for the draft. Use list_research_methods as the availability authority.","default":"guided-research","type":"string","enum":["guided-research","single-question","questionnaire","guided-qualitative-exploration","ranked-preferences","segment-comparison","visual-asset-analysis","recommendation-synthesis","maxdiff","conjoint","nps","top-box","key-drivers","turf","gabor-granger","van-westendorp","kano"]},"questions":{"description":"Manual research questions in their intended order.","default":[],"type":"array","items":{"type":"string","minLength":1}},"draft":{"description":"Which durable draft to revise, and the retry key. Omit to create a new draft.","type":"object","properties":{"id":{"description":"Existing Study draft ID to revise. Omit to create a new durable draft.","type":"string","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)$"},"expectedRevision":{"description":"Exact current revision. Required with draftId so stale updates cannot overwrite newer planning state.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"description":"Creation only: choose a stable key before the first save and reuse it after an uncertain result. Reuse returns the existing draft; use draftId and expectedRevision to change it.","type":"string","minLength":1,"maxLength":200}}},"planner":{"description":"Planner state to restore when the draft is reopened.","default":{},"type":"object","properties":{"mode":{"description":"Planning mode to restore. Defaults to custom for agent-authored planning state.","default":"custom","type":"string","enum":["quick","custom"]},"currentStep":{"description":"Exact planner step to reopen, such as context, audiences, method, questions, or confirm. The legacy value groups remains accepted when reopening an older draft.","default":"context","type":"string","minLength":1,"maxLength":100}}},"context":{"description":"Research context captured so far.","default":{},"type":"object","properties":{"objective":{"description":"Research objective or intent captured so far.","type":"string"},"notes":{"description":"Additional research context or constraints.","type":"string"},"website":{"description":"Primary website associated with the research context.","type":"string","format":"uri"},"sourceUrls":{"description":"Ordered source URLs supplied as Study context.","default":[],"type":"array","items":{"type":"string","format":"uri"}}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"draft":{"description":"The saved draft."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Save Study Draft","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"list_study_templates","title":"List Study Templates","description":"Lists your own and team-shared Study templates, most used first, or returns one exact template including its revision, research method, questions, response settings and question attachments. configuration.methodId names the registered research method the Study runs under, and configuration.questions is a fixed, pre-registered instrument ready to be transcribed into a question plan.","inputSchema":{"type":"object","properties":{"templateId":{"description":"Omit to list your own and team-shared Study templates.","type":"string","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)$"}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"data":{"description":"Study templates."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"List Study Templates","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"manage_study_template","title":"Manage Study Template","description":"Saves, explicitly updates or uses a Custom research template. Deleting one is a separate operation.\n\nTemplates are private by default; an owner can share one with their current team, and teammates can read and use a shared template but cannot change it.\n\nA template stores its questions, response settings, question attachments and the research method in configuration.methodId. A calculator-backed method (Van Westendorp, Gabor-Granger, MaxDiff, conjoint, Kano, NPS, top-box, key drivers, TURF) designs its own tasks when the Study runs, and the saved questions are asked alongside them. Use creates an independent editable draft in the Minds web app and never starts research; that draft is finished in the app rather than over MCP. There, the questions of a predefined template are adapted to the Study's goal, context and Audiences, in the language of the brief; standardized instrument items keep their wording (a published validated translation, otherwise the original language), and when adaptation fails or would change the template structure, the saved questions are used as written. A custom template keeps its saved wording unless adaptation is requested. Updates and use require the current revision, and save.requestId makes creation retry-safe.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["save","update","use"]},"templateId":{"type":"string","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)$"},"save":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"requestId":{"type":"string","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)$"},"configuration":{"type":"object","properties":{"version":{"type":"number","const":1},"goal":{"type":"string","enum":["concept","comparison","website","pricing","market","explore"]},"studyLocale":{"type":"string","enum":["ar","de","en","es","fr","ja","ko","tr","zh"]},"questions":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":20000},"response":{"type":"object","properties":{"type":{"type":"string","enum":["qualitative","categorical","multiselect","ranking","scale"]},"scaleRange":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"number"}},"categoricalOptions":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":2000}},"maxSelections":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false},"attachments":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":500},"url":{"type":"string","minLength":1,"maxLength":4000},"path":{"type":"string","maxLength":2000},"kind":{"type":"string","const":"link"},"mimeType":{"type":"string","maxLength":200},"sizeBytes":{"type":"number","minimum":0},"mediaType":{"type":"string","const":"video"}},"required":["id","name","url"],"additionalProperties":false}}},"required":["text","response"],"additionalProperties":false}},"methodId":{"type":"string","enum":["guided-research","single-question","questionnaire","guided-qualitative-exploration","ranked-preferences","segment-comparison","maxdiff","conjoint","nps","top-box","key-drivers","turf","gabor-granger","van-westendorp","kano"]}},"required":["version","goal","studyLocale","questions","methodId"],"additionalProperties":false}},"required":["name","configuration"],"additionalProperties":false},"update":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"configuration":{"type":"object","properties":{"version":{"type":"number","const":1},"goal":{"type":"string","enum":["concept","comparison","website","pricing","market","explore"]},"studyLocale":{"type":"string","enum":["ar","de","en","es","fr","ja","ko","tr","zh"]},"questions":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":20000},"response":{"type":"object","properties":{"type":{"type":"string","enum":["qualitative","categorical","multiselect","ranking","scale"]},"scaleRange":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"number"}},"categoricalOptions":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":2000}},"maxSelections":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false},"attachments":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":500},"url":{"type":"string","minLength":1,"maxLength":4000},"path":{"type":"string","maxLength":2000},"kind":{"type":"string","const":"link"},"mimeType":{"type":"string","maxLength":200},"sizeBytes":{"type":"number","minimum":0},"mediaType":{"type":"string","const":"video"}},"required":["id","name","url"],"additionalProperties":false}}},"required":["text","response"],"additionalProperties":false}},"methodId":{"type":"string","enum":["guided-research","single-question","questionnaire","guided-qualitative-exploration","ranked-preferences","segment-comparison","maxdiff","conjoint","nps","top-box","key-drivers","turf","gabor-granger","van-westendorp","kano"]}},"required":["version","goal","studyLocale","questions","methodId"],"additionalProperties":false},"expectedRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"isSharedWithTeam":{"type":"boolean"}},"required":["expectedRevision"],"additionalProperties":false},"use":{"type":"object","properties":{"expectedRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"requestId":{"type":"string","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)$"}},"required":["expectedRevision","requestId"],"additionalProperties":false}},"required":["action"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"data":{"description":"The template after the requested change, or null."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Manage Study Template","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"delete_study_template","title":"Delete Study Template","description":"Permanently deletes one saved Study template owned by the authenticated user. The template and its stored configuration are gone; Studies and drafts already created from it are unaffected. Teammates with shared access cannot delete a template they do not own.","inputSchema":{"type":"object","properties":{"templateId":{"description":"Template to delete permanently. Owner only.","type":"string","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)$"}},"required":["templateId"],"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"data":{"description":"Deletion acknowledgement: { success: true }."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Delete Study Template","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"execution":{"taskSupport":"forbidden"}},{"name":"get_study_summary","title":"Get Study Summary","description":"Returns or refreshes the semantic summary for a Study as Markdown plus flexible evidence blocks. Website, image, and video analyses retain heatmap-compatible block metadata.","inputSchema":{"type":"object","properties":{"refresh":{"description":"Generate or refresh the summary instead of only reading the persisted summary.","default":false,"type":"boolean"},"force":{"description":"Regenerate even when the covered message range is unchanged.","default":false,"type":"boolean"},"length":{"default":"standard","type":"string","enum":["short","standard","detailed"]},"study":{"description":"Which Study to summarize. Omit entirely to use the active Study from this MCP session.","type":"object","properties":{"id":{"description":"Study ID (UUID). Omit with studyName to use the active Study.","type":"string","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)$"},"name":{"description":"Study name to fuzzy-match among the newest 1,000 visible Studies; use studyId for older records. Omit with studyId to use the active Study.","type":"string"}}}},"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"studyId":{"description":"Summarized Study.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"description":"Whole-Study summary."},"blocks":{"description":"Semantic summary blocks."},"metadata":{"description":"Summary metadata."}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":{}},"annotations":{"title":"Get Study Summary","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"execution":{"taskSupport":"forbidden"}}],"resources":[{"name":"response-widget","title":"Study Response","uri":"ui://widget/response.c228ee629e0f.html","description":"Shows Study results with bar diagrams, Audience comparisons, and Mind cycling.","mimeType":"text/html;profile=mcp-app"},{"name":"creation-widget","title":"Mind Creation Progress","uri":"ui://widget/creation.342d99923f4f.html","description":"Shows real-time training progress when creating a new Mind.","mimeType":"text/html;profile=mcp-app"},{"name":"plan-widget","title":"Research Plan Review","uri":"ui://widget/plan.fb5dd9395c1c.html","description":"Shows the saved draft revision, exact questions, methods, outputs and confirmation choices. Research has not started.","mimeType":"text/html;profile=mcp-app"}]},"http_status":200,"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload"}}},"oauth_protected_resource":{"status":"ok","latency_ms":195.44,"details":{"url":"https://getminds.ai/.well-known/oauth-protected-resource","payload":{"resource":"https://getminds.ai","resource_name":"Minds public content","authorization_servers":["https://getminds.ai"],"bearer_methods_supported":["header"],"scopes_supported":[],"resource_documentation":"https://getminds.ai/auth.md","public_access":true},"http_status":200,"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload"}}},"oauth_authorization_server":{"status":"ok","latency_ms":189.13,"details":{"url":"https://getminds.ai/.well-known/oauth-authorization-server","payload":{"issuer":"https://getminds.ai","authorization_endpoint":"https://getminds.ai/oauth/authorize","token_endpoint":"https://getminds.ai/oauth/token","registration_endpoint":"https://getminds.ai/oauth/register","jwks_uri":"https://wrndkbphjywvqrhztsml.supabase.co/.well-known/jwks.json","grant_types_supported":["authorization_code","refresh_token","urn:workos:agent-auth:grant-type:claim"],"response_types_supported":["code"],"code_challenge_methods_supported":["S256"],"scopes_supported":["openid","email","profile","sparks:read","sparks:write","sparks:chat","flows:read","flows:write"],"token_endpoint_auth_methods_supported":["none"],"claims_supported":["sub","iss","aud","exp","iat","email","email_verified"],"revocation_endpoint":"https://getminds.ai/oauth/revoke","revocation_endpoint_auth_methods_supported":["none"],"service_documentation":"https://getminds.ai/mcp/setup","agent_auth":{"skill":"https://getminds.ai/auth.md","register_uri":"https://getminds.ai/agent/register","claim_uri":"https://getminds.ai/agent/claim","identity_types_supported":["anonymous"],"anonymous":{"credential_types_supported":["access_token"],"pre_claim_scopes":["agent:status"],"post_claim_scopes":["sparks:read","flows:read"]}}},"http_status":200,"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload"}}},"openid_configuration":{"status":"ok","latency_ms":170.72,"details":{"url":"https://getminds.ai/.well-known/openid-configuration","payload":{"issuer":"https://getminds.ai","authorization_endpoint":"https://getminds.ai/oauth/authorize","token_endpoint":"https://getminds.ai/oauth/token","registration_endpoint":"https://getminds.ai/oauth/register","jwks_uri":"https://wrndkbphjywvqrhztsml.supabase.co/.well-known/jwks.json","grant_types_supported":["authorization_code","refresh_token","urn:workos:agent-auth:grant-type:claim"],"response_types_supported":["code"],"code_challenge_methods_supported":["S256"],"scopes_supported":["openid","email","profile","sparks:read","sparks:write","sparks:chat","flows:read","flows:write"],"token_endpoint_auth_methods_supported":["none"],"claims_supported":["sub","iss","aud","exp","iat","email","email_verified"],"service_documentation":"https://getminds.ai/mcp/setup","agent_auth":{"skill":"https://getminds.ai/auth.md","register_uri":"https://getminds.ai/agent/register","claim_uri":"https://getminds.ai/agent/claim","identity_types_supported":["anonymous"],"anonymous":{"credential_types_supported":["access_token"],"pre_claim_scopes":["agent:status"],"post_claim_scopes":["sparks:read","flows:read"]}}},"http_status":200,"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload"}}},"initialize":{"status":"auth_required","latency_ms":153.93,"details":{"url":"https://getminds.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://getminds.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","set-cookie":"minds_langfuse_session=0077e3db-7c58-4c76-8c0d-87ff580e91a8; Max-Age=86400; Path=/; HttpOnly; Secure; SameSite=Lax","strict-transport-security":"max-age=63072000; includeSubDomains; preload","www-authenticate":"Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","x-ratelimit-limit":"100","x-ratelimit-remaining":"99"}}},"protocol_version_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_protocol_version","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25"}},"tools_list":{"status":"auth_required","latency_ms":225.44,"details":{"url":"https://getminds.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://getminds.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload","www-authenticate":"Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","x-ratelimit-limit":"100","x-ratelimit-remaining":"98"}}},"prompts_list":{"status":"auth_required","latency_ms":230.64,"details":{"url":"https://getminds.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://getminds.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload","www-authenticate":"Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","x-ratelimit-limit":"100","x-ratelimit-remaining":"97"},"reason":"auth_required"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"auth_required","latency_ms":168.99,"details":{"url":"https://getminds.ai/mcp","error":"Client error '401 Unauthorized' for url 'https://getminds.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401","http_status":401,"payload":{},"headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload","www-authenticate":"Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","x-ratelimit-limit":"100","x-ratelimit-remaining":"95"},"reason":"auth_required"}},"resource_read":{"status":"missing","latency_ms":null,"details":{"reason":"no_resource_uri"}},"determinism_probe":{"status":"missing","latency_ms":null,"details":{"reason":"tools_list_unavailable"}},"instruction_tool_reference_probe":{"status":"not_assessed","latency_ms":null,"details":{"reason":"initialize_or_tools_unavailable"}},"session_resume_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":false,"protocol_version":null}},"step_up_auth_probe":{"status":"warning","latency_ms":null,"details":{"oauth_present":true,"auth_required_checks":["initialize","tools_list","prompts_list","resources_list"],"supported_scopes":["email","flows:read","flows:write","openid","profile","sparks:chat","sparks:read","sparks:write"],"scope_specificity_ratio":0.2727,"broad_scopes":["flows:write","sparks:write"],"challenge_headers":["Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\""],"step_up_signals":["Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\"","Bearer resource_metadata=\"https://getminds.ai/.well-known/oauth-protected-resource/mcp\", scope=\"sparks:read sparks:write sparks:chat flows:read flows:write\""],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"warning","latency_ms":167.25,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-03-26","bad_protocol_status_code":400,"bad_protocol_payload":{"jsonrpc":"2.0","id":null,"error":{"code":-32600,"message":"Unsupported MCP protocol version"}},"bad_protocol_headers":{"content-type":"application/json","strict-transport-security":"max-age=63072000; includeSubDomains; preload"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_protocol_header"]}},"utility_coverage_probe":{"status":"ok","latency_ms":126.38,"details":{"completions":{"advertised":true,"sample_target":{"type":"resource","uri":"ui://widget/response.c228ee629e0f.html"},"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":true,"probe_status":"auth_required","http_status":401},"initialize_capability_keys":[]}},"advanced_capabilities_probe":{"status":"ok","latency_ms":null,"details":{"capabilities":{"prompts":true,"resources":true,"completions":true,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":false,"resource_links":true},"enabled_count":4,"enabled":["completions","prompts","resource_links","resources"],"initialize_capability_keys":[]}},"tool_snapshot_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_tools"}},"connector_replay_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_tools"}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"ok","latency_ms":null,"details":{"risk_hits":[],"safe_hits":["oauth","login","browser"],"oauth_supported":true,"prompt_available":false}},"action_safety_probe":{"status":"not_assessed","latency_ms":null,"details":{"summary":{"tool_count":0,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":0,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":0,"annotation_conflict_tools":0,"risk_distribution":{"low":0,"medium":0,"high":0,"critical":0},"capability_distribution":{},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":true,"safeguard_count":0,"confirmation_signals":[],"reason":"empty_observation_set"}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.getminds/minds","direct_match":true,"official_peer_count":1}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":true,"registry_title":null,"server_card_title":"minds-ai","registry_version":null,"server_card_version":"2.0.0","registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":4,"compared_fields":["title","version","homepage","repository"],"readable_sources":["registry","server_card"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_live_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":"minds-ai","live_server_name":null,"server_version_mismatch":false,"card_server_version":"2.0.0","live_server_version":null,"auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"error","latency_ms":null,"details":{"transport":"streamable-http","tool_count":0,"high_risk_tools":0,"blockers":["tools_list","protocol_version","session_resume","step_up_auth","transport_compliance","connector_replay","request_association","action_safety","tool_surface"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":false,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":false,"request_association":false,"action_safety":false,"server_card":true,"tool_surface":false,"auth_flow":true}}}}},"active_alerts":[{"code":"score_drop","severity":"high","title":"Score dropped materially","message":"Score fell by 51.8 points versus the previous run.","addressee":"publisher"},{"code":"initialize_regressed","severity":"critical","title":"Initialize flow regressed","message":"A client-visible initialize behavior changed for the worse.","addressee":"publisher"},{"code":"tools_list_regressed","severity":"critical","title":"tools/list regressed","message":"Tool discovery became less reliable on the latest run.","addressee":"publisher"},{"code":"auth_mode_changed","severity":"high","title":"Auth mode changed","message":"Auth mode changed from unknown to oauth_required.","addressee":"publisher"}],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_9a5e3745a8a409f9","generated_at":"2026-09-29T04:40:31.838985+00:00","trust_evaluated_at":"2026-09-29T04:40:31.838985+00:00","evidence_revision":"9cb0c1bee541b1af96738b30","source":"current_snapshot","server":"ai.getminds/minds","last_validated_at":"2026-09-28T17:02:55.860613+00:00","validation_age_hours":11.63,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-28T17:02:55.860613+00:00","age_hours":11.63,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":37.8,"raw_score":37.8,"confidence_score":66.2,"confidence_weighted_score":25.0,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"unverified","current_score":37.8,"display_score":37.8,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Not assessed","why":"tool surface has not been observed by any completed validation run","next_action":"revalidate so the tool surface can be inspected before a production decision is made","reason_count":0},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":66.25,"label":"medium","validation_age_hours":11.63,"live_check_count":11,"basis":{"evidence_bearing_validations":1,"affirmative_live_check_count":11,"validation_age_hours":11.63,"freshness_threshold_hours":24}},"active_alerts":[{"code":"score_drop","severity":"high","title":"Score dropped materially"},{"code":"initialize_regressed","severity":"critical","title":"Initialize flow regressed"},{"code":"tools_list_regressed","severity":"critical","title":"tools/list regressed"},{"code":"auth_mode_changed","severity":"high","title":"Auth mode changed"}],"active_alert_summary":{"critical":2,"high":2,"medium":0,"low":0,"high_or_critical":4,"total":4},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-29T04:40:31.838985+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_9a5e3745a8a409f9","generated_at":"2026-09-29T04:40:31.838985+00:00","trust_evaluated_at":"2026-09-29T04:40:31.838985+00:00","evidence_revision":"9cb0c1bee541b1af96738b30","source":"current_snapshot","server":"ai.getminds/minds","last_validated_at":"2026-09-28T17:02:55.860613+00:00","validation_age_hours":11.63,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-09-28T17:02:55.860613+00:00","age_hours":11.63,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":37.8,"raw_score":37.8,"confidence_score":66.2,"confidence_weighted_score":25.0,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"unverified","current_score":37.8,"display_score":37.8,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Not assessed","why":"tool surface has not been observed by any completed validation run","next_action":"revalidate so the tool surface can be inspected before a production decision is made","reason_count":0},"production_readiness_class":{"code":"needs_remediation","label":"Needs remediation","reason":"Current validation evidence shows operational or discovery gaps that should be fixed first."},"evidence_confidence":{"score":66.25,"label":"medium","validation_age_hours":11.63,"live_check_count":11,"basis":{"evidence_bearing_validations":1,"affirmative_live_check_count":11,"validation_age_hours":11.63,"freshness_threshold_hours":24}},"active_alerts":[{"code":"score_drop","severity":"high","title":"Score dropped materially"},{"code":"initialize_regressed","severity":"critical","title":"Initialize flow regressed"},{"code":"tools_list_regressed","severity":"critical","title":"tools/list regressed"},{"code":"auth_mode_changed","severity":"high","title":"Auth mode changed"}],"active_alert_summary":{"critical":2,"high":2,"medium":0,"low":0,"high_or_critical":4,"total":4},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-29T04:40:31.838985+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-09-29T04:40:31.838985+00:00","evidence_revision":"9cb0c1bee541b1af96738b30","active_alert_summary":{"critical":2,"high":2,"medium":0,"low":0,"high_or_critical":4,"total":4},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-29T04:40:31.838985+00:00"},"owner_opted_out":false,"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"snapshot_id":"trustsnap_9a5e3745a8a409f9"}],"rows":[{"label":"Snapshot ID","values":["trustsnap_9a5e3745a8a409f9"]},{"label":"Status","values":["unverified"]},{"label":"Score","values":[37.8]},{"label":"Production readiness","values":["Needs remediation"]},{"label":"Production trust decision","values":["Not assessed"]},{"label":"Recommended policy","values":["Not assessed"]},{"label":"Observed Attention","values":["No observed attention"]},{"label":"Evidence confidence","values":[66.25]},{"label":"Freshness","values":["n/a"]},{"label":"Latency","values":["n/a"]},{"label":"Spec recency","values":[0.0]},{"label":"Session resume","values":[0.0]},{"label":"Step-up auth","values":[3.0]},{"label":"Transport compliance","values":[2.0]},{"label":"Utility coverage","values":[3.0]},{"label":"Publishability","values":[0.0]},{"label":"Connector replay","values":[0.0]},{"label":"Request association","values":[0.0]},{"label":"Action safety","values":[null]},{"label":"Registry presence","values":[4.0]},{"label":"Provenance divergence","values":[null]},{"label":"Client compatibility: ChatGPT","values":["unknown"]},{"label":"Client compatibility: Claude","values":["unknown"]},{"label":"Write-action publishing","values":["unknown"]},{"label":"Snapshot churn risk","values":["unknown"]},{"label":"Transport","values":["streamable-http"]},{"label":"Auth","values":["OAuth"]},{"label":"Tools","values":[24]},{"label":"Prompts","values":[0]},{"label":"Resources","values":[0]},{"label":"OAuth","values":[true]},{"label":"DCR","values":[true]},{"label":"Taxonomy","values":[""]},{"label":"Recommended for","values":["none"]},{"label":"Top alerts","values":["Score dropped materially, Initialize flow regressed"]}],"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"cache_note":"Compact compare fallback response; deep compare evidence is deferred to protect web capacity.","trust_evaluated_at":"2026-09-29T04:40:31.838985+00:00","materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-09-29T04:40:31.849719+00:00"}}