---
title: "Minds MCP Tools Reference"
description: "[ja] Canonical Minds MCP tool reference for Audiences and Studies."
canonical_url: "https://getminds.ai/mcp/ja/tools"
last_updated: "2026-09-30T15:36:04.721Z"
---

# Minds MCP Tools Reference

ツールの提供数はデプロイ設定によります。通常は23個が公開され、`list_model_connections` が有効な場合は24個です。登録済みの正規ツールはそれぞれ42個または43個です。接続先サーバーの `tools/list` 応答を基準にしてください。

The [Minds MCP server](/mcp/overview) advertises 23–24 curated tools through ordinary `tools/list` discovery and registers 42–43 canonical tools in total. The product model is deliberately small: an **Audience** is a reusable collection of Minds, while a **Study** is the research workspace that contains one or more Audiences, questions, evidence, results, and exports. Compatibility names containing `group` or `panel` remain callable, but new integrations must use the Audience and Study names documented here.

The **Advertised** label below means ordinary clients discover the tool automatically. **Explicit** means the canonical tool is registered and callable by integrations that can configure or invoke a known tool name, but it is omitted from the curated discovery surface. Read the [agent operating guide](/mcp/agents) before autonomous use.

MCP は、API が `isPublic: true` または `isLinkSharingEnabled: true` と共有 ID を返した場合にのみ、Study または Audience の公開リンクを返します。共有解除後に残った ID は有効なリンクを意味しません。返された URL は変更せずに使用してください。

名前による検索は、閲覧可能な最新の Minds、Audiences、Studies をそれぞれ最大1,000件まで調べます。それより古いレコードは、対応する一覧ツールを `limit` と `offset` で参照し、正確な ID を指定してください。不完全または不正な一覧応答は、一致するレコードが存在しないと断定せず、エラーを返します。

## Curated advertised surface

<table>
<thead>
  <tr>
    <th>
      Domain
    </th>
    
    <th>
      Tools
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Minds
    </td>
    
    <td>
      <code>
        export_mind
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Audiences
    </td>
    
    <td>
      <code>
        list_audiences
      </code>
      
      , <code>
        import_audience_sources
      </code>
      
      , <code>
        get_audience_limits
      </code>
      
      , <code>
        create_audience_from_brief
      </code>
      
      , <code>
        ask_audience
      </code>
      
      , <code>
        export_audience
      </code>
      
      , <code>
        duplicate_audience
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Studies
    </td>
    
    <td>
      <code>
        list_studies
      </code>
      
      , <code>
        list_model_connections
      </code>
      
      , <code>
        create_study
      </code>
      
      , <code>
        ask_study
      </code>
      
      , <code>
        get_study_status
      </code>
      
      , <code>
        export_study
      </code>
      
      , <code>
        duplicate_study
      </code>
      
      , <code>
        export_heatmap
      </code>
      
      , <code>
        study_heatmap
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Guided research
    </td>
    
    <td>
      <code>
        plan_study_questions
      </code>
      
      , <code>
        run_study_questions
      </code>
      
      , <code>
        get_study_run
      </code>
      
      , <code>
        list_research_methods
      </code>
      
      , <code>
        list_study_drafts
      </code>
      
      , <code>
        save_study_draft
      </code>
      
      , <code>
        list_study_templates
      </code>
      
      , <code>
        manage_study_template
      </code>
      
      , <code>
        get_study_summary
      </code>
    </td>
  </tr>
</tbody>
</table>

## Minds & Audiences

### list_minds

Browse Minds owned by the authenticated user one page at a time. Preserve `nextOffset` to continue; `searchQuery` returns the best fuzzy match among the newest 1,000 Minds.

**Parameters:**

- `searchQuery` (optional): Best fuzzy name match among the newest 1,000 Minds
- `limit` (optional): Page size, default 20, maximum 100
- `offset` (optional): Entries to skip, default 0; use the previous result’s `nextOffset`

**Example:**

```text
"List my AI minds about marketing"
```

### create_mind

Create a new Mind — a synthetic expert, consumer persona, or digital twin.

**Parameters:**

- `name` (required): Name of the Mind
- `mode` (required): Training mode — `keywords`, `clone`, `link`, or `manual`
- `type` (optional): Type — `creative`, `expert`, or `user` (default: `expert`)
- `discipline` (optional): Area of expertise
- `keywords` (optional): Topics for training (required for `keywords` mode)
- `personaContext` (optional): Person to model (required for `clone` mode)
- `contextLink` (optional): URL to train from (required for `link` mode)
- `description` (optional): What this Mind specializes in
- `includeWebSearch` (optional): Set `false` to skip automatic web research; use `manual` for a strictly source-only Mind
- `idempotencyKey` (optional UUID): Choose one key before creating and reuse it with the same inputs for retries, including after timeouts. Use a fresh key for another Mind. The result returns the operation key in `structuredContent.idempotencyKey`. Without an explicit key, only identical calls within 10 seconds in the same server process are coalesced; cross-process or later retries need the returned key.

<table>
<thead>
  <tr>
    <th>
      Mode
    </th>
    
    <th>
      Description
    </th>
    
    <th>
      Required Fields
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        keywords
      </code>
    </td>
    
    <td>
      Train from topic keywords
    </td>
    
    <td>
      <code>
        keywords
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        clone
      </code>
    </td>
    
    <td>
      Create a digital twin of a person
    </td>
    
    <td>
      <code>
        personaContext
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        link
      </code>
    </td>
    
    <td>
      Train from website content
    </td>
    
    <td>
      <code>
        contextLink
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        manual
      </code>
    </td>
    
    <td>
      Manual configuration
    </td>
    
    <td>
      None
    </td>
  </tr>
</tbody>
</table>

### chat_with_mind

Send one message to a Mind and get its response. Use `mindId` for an exact selection or `mindName` for the best fuzzy match among the newest 1,000 Minds. Browse `list_minds` by offset to find older Minds and pass their exact IDs. Use `manage_chat` for a persistent multi-turn conversation.

**Parameters:**

- `mindId` (optional): Mind UUID (use this OR `mindName`)
- `mindName` (optional): Name with fuzzy matching (e.g., "my marketing expert")
- `message` (required): Message to send
- `sourcePolicy` (optional): `auto` or `knowledge_only`
- `modelConnection` (optional): Verified caller-team connection ID and revision

### get_mind_status

Check training progress after creating a Mind.

**Parameters:**

- `mindId` (required): Mind UUID

### export_mind

Export a Mind profile. This tool is **Advertised**.

**Parameters:**

- `mindId` or `mindName`: Exact UUID or the best fuzzy name match among the newest 1,000 Minds; use an exact UUID for older Minds
- `format` (optional): `md`/`markdown` (default, returned inline), `pdf`, `docx`, or `pptx`

The tool polls asynchronous generation internally. A successful result includes `filename`, `mimeType`, and either inline Markdown `content` or binary `contentBase64`, plus the Mind’s workspace link. Preserve these fields when saving the export.

### list_audiences

List visible Audiences one page at a time. Preserve `nextOffset` to continue; `searchQuery` returns the best fuzzy match within the newest 1,000 entries.

**Parameters:**

- `searchQuery` (optional): Filter by name using fuzzy search
- `limit` (optional): Page size, default 20, maximum 100
- `offset` (optional): Number of entries to skip, default 0
- `includeMinds` (optional): Include member Minds, default `false`

### create_audience

Create a reusable Audience from existing Minds.

**Parameters:**

- `name` (required): Audience name (e.g., "Marketing Experts")
- `mindIds` (required): Mind IDs to add — use `list_minds` to find IDs

### import_audience_sources

結果は非公開で、キャッシュされません。成功を報告する前に、ファイル数と順序、ソースポリシー、スナップショットのチェックサム、分布のソース参照を検証します。プレビューや作成には返されたスナップショットを変更せず使用してください。存在しないファイルや別アカウントのファイルは入力エラーです。ストレージ障害はプロバイダーの内部情報を含まない `502` を返します。障害や無効な確認応答の後は同じインポートを再試行できます。内容に基づくアップロードにより既存ファイルは保持されます。

The MCP HTTP request body is limited to 24 MiB, including JSON escaping and protocol fields; oversized requests return HTTP `413` with a JSON-RPC error. Source-import file and total-content limits still apply separately.

`files: [{ name, content }]` で UTF-8 の `.txt`、`.md`、`.csv`、`.json` を取り込みます。`existingFiles` と `groundingJson` は任意です。公開検出されるこのツールは Audience を作成せず、提供された分布を独立検証しません。

### get_audience_limits

ツールは、アカウント・チームへの帰属、数値上限、重複のない完全な作成モード一覧を検証してから制限を提示します。Audience ごとの上限がゼロの場合はワークスペースのロックであり、データ欠落ではありません。応答は非公開でキャッシュされません。認証情報のブロック状態を再確認し、利用枠を取得できない場合は無料プランの枠を推測せず `503` を返します。

人数を決める前に、アカウントの Audience サイズと作成モードの上限を取得します。`mode` で絞り込めます。自動決定の上限と明示指定の上限を区別してください。このツールは公開検出されます。

### create_audience_from_brief

Create a grounded synthetic audience from a population brief, source links, keywords, and research files. This tool is **Advertised** and private by default.

Important parameters include:

- `brief` (preferred) or legacy `text`: Population description
- `name`: Audience name
- `links`, `keywords`, `files`: Research context
- `includeWebSearch`: Set `false` for file-only grounding
- `memberCount`: Requested cohort size, subject to plan allowance
- `audienceCreationMode`: `balanced`, `segment_coverage`, or `benchmark_depth`
- `datasetSegmentation`: Reviewed output from `preview_audience_dataset_segmentation`
- `cohortAllocation`: Deterministic marginal/joint allocation configuration
- `isLinkSharingEnabled`: Enable only after an explicit request for a public link

Identical arguments are idempotent for approximately six hours. After a timeout, retry the same arguments to recover the original Audience. Deeper creation modes are Team-plan workflows; inspect the effective mode returned by the server rather than assuming the request was accepted unchanged.

While creation runs, every open workspace for the authenticated owner is notified through the user-scoped lifecycle stream and re-reads the same durable creation state. The UI therefore displays the same Drafting, Creating, and Ready states for UI, REST, and MCP creation. Repeating identical arguments reuses that lifecycle instead of duplicating the Audience.

`groundingPreview: true` で、作成前にプロフィールと出典の調査結果を確認します。同じ入力と `memberCount` に、変更していない `reviewedGroundingJson` と `reviewedGroundingSha256` を添えて作成してください。処理中の `structuredContent.operation` が返された場合は、その `jobId` を `operationId` に設定し、その引数だけで `create_audience_from_brief` を再度呼び出します。既存の処理を継続するため、別の Audience の作成や二重課金は発生しません。完了した結果には `structuredContent.preview` または `structuredContent.audience` が含まれます。

作成された Audience は、Web リサーチがバックグラウンドで続いている間も数秒で使えるようになります。作成された Audience の構造化フィールド `research` がこれを示し（`phase: "researching"`）、操作を読み直したときは `readiness.research` が報告します。Study はすぐに実行できます。出典のあるエビデンスが Audience の明示された仮定を自動的に置き換え、Minds は実行の合間に再キャリブレーションされ、実行中に行われることはありません。詳しくは [2段階の作成](/docs/api/audiences) を参照してください。

### preview_audience_dataset_segmentation

プレビュー要求の JSON 上限は 256 KiB です。拒否を含む応答は非公開・キャッシュ不可です。不正な JSON やフィールドは `400`、要求やデータセットの上限超過は `413`、Team の利用資格やアップロードへのアクセス拒否は `403` を返します。権限情報の取得失敗は `503`、予期しないダウンロード・分類・分析の失敗は汎用の `500` になります。`segmentationColumns` を省略すると既定の母集団・セグメンテーション変数を選び、識別子以外の全フィールドは選びません。MCP は完全な集計応答を検証し、行数合計、選択変数、報告された発見数を照合してから分析を説明します。未定義フィールドは除外します。古い応答に関係数や依存関係数がない場合は、ゼロではなく未報告と示します。これは元データの確認であり、コホートの作成や将来の割り当ての検証ではありません。

許可された Minds のアップロードはストレージのアクセス確認を通して読み込まれます。Minds ホストの URL を含むすべてのネットワークへのフォールバックは公開 URL の保護機構を使い、リダイレクト先を検証します。同一オリジンでもプライベートネットワーク保護を回避しません。ダウンロードのストリーミング上限は 50 MiB、タイムアウトは 30 秒です。失敗した HTTP 応答はエラーを返す前にキャンセルされます。

Inspect a CSV, XLS, or XLSX respondent dataset before representative cohort creation. This is an **Explicit** Enterprise workflow.

**Parameters:**

- `file.name`: Original spreadsheet filename
- `file.url`: Public, signed, or Minds workspace-upload URL
- `segmentationColumns` (optional): Reviewed column keys from a previous preview

The tool classifies file content, uses all completed respondent rows, identifies structural versus held-out variables, and recommends a representative Mind count. It never creates one Mind per respondent. Screeners and questionnaire programming grids are rejected as respondent data and should be passed directly to `create_audience_from_brief`.

### get_audience

Read an Audience's members, grounding, source metadata, sharing state, and Formations. This is an **Explicit** tool.

**Parameters:** pass `audienceId` or `audienceName`. Name lookup is fuzzy, so do not call `list_audiences` first solely to resolve a natural user reference.

結果には、Audience のカバレッジ件数（`sourced`、`proxy`、`assumed`、`missing` の次元）と、バックグラウンドリサーチの状態（`research`）が表示されます。

### ask_audience

Ask one existing Audience a direct research question. This tool is **Advertised**. It creates a private one-Audience Study, submits the question, and returns immediately; poll `get_study_status` for results.

**Parameters:**

- `audienceId` or `audienceName`
- `question` (required)
- `name` (optional): Internal Study name
- `attachments` (optional): Reusable file/image context with a `url` or storage `path`

Use `ask_study` when the user already has a multi-Audience Study. Each `ask_audience` call creates a new private wrapper Study.

### recalibrate_audience

Refresh and replace an Audience's stored grounding from authoritative web research, then re-allocate the members' cohort profiles to match the refreshed distributions — the same distributions-to-members logic the drafting flow uses. The instruction's reach decides how deeply members change, covering demographic, psychographic, behavioral, and firmographic amendments alike: composition or evidence edits ("make men 40%", "add an income distribution") touch only members whose allocation cell actually changed; trait changes ("now they're all vegan", "SMB owners instead of enterprise buyers") make members evolve in place — same Mind, same name and portrait, rewritten role and description, knowledge retrained; population pivots ("now African consumers") rebuild every member in place — same Mind, new persona and portrait, knowledge wiped and retrained — so studies, shares, and chat history keep working while the Minds genuinely become the new audience. No Minds are deleted; retraining runs asynchronously and the Audience shows build progress until it finishes. An additive instruction ("and now add 10 African consumers") grows the roster instead: new members are generated for the added audience within the plan's member limits. While the research runs the Audience reports a **Calibrating…** state in the app and via `get_audience`. This is an **Explicit** tool and owner-only.

**Parameters:** `audienceId` or `audienceName`, plus optional `instruction` for a user adjustment on top of the original brief (for example "add an income distribution"), or `query` only when the user wants to steer research away from the original brief entirely.

`deepen: { topics? }` を渡すと、ツールは Audience を深掘りします。カバレッジが欠落または仮定と報告している標準の各次元と、指定した最大8件のトピック（各120文字以内）をリサーチし、結果を保存されたグラウンディングに追加し（同じ次元ではより強いエビデンスが弱いものを置き換え、その他のチャートはすべて保持されます）、メンバーを再キャリブレーションします。`deepen` は `query` や分布と組み合わせられず、Audience のバックグラウンドリサーチの実行中は拒否されます。

### list_formations

最初のページ（`offset: 0`）では、保留中のビルドを古い順に最大100件まで復旧の対象として確認します。1件が失敗しても、選択された他のビルドの試行や一覧の返却は続行されます。ビルドの状態を確認し、最初のページを再度開くと保留中の処理を再試行できます。

`list_formations` と `action: "list"` の `manage_formation` は任意の `limit` と `offset` を受け付けます。各呼び出しは既定・最大 100 件の 1 ページを返します。`hasMore` が true の間は `pagination.nextOffset` を使用してください。`list_formations` の `totalCount` は表示件数ではなく、表示可能な全件数です。末尾を超えた空ページは、Audience に Formation が存在しないことを意味しません。不正な継続メタデータはツールエラーになります。アプリと Study ウィジェットは全概要ページを取得してから一覧を表示し、途中の取得失敗を完全な内訳として扱いません。

閲覧できる Audience では、共有 Formation と自分の非公開 Formation を一覧できます。MCP は不正な一覧や欠落したメンバー数を、空の一覧やゼロとして報告せずに拒否します。件数が確定するのは `ready` のみで、`building` と `failed` は暫定値です。`total: 0` の空の最初のページは閲覧可能な Formation がないことを意味し、一覧を開いて既定の分割が作成されるのは Audience の編集者のみです。v1 の一覧応答は拒否時も非公開・キャッシュ不可です。アクセス確認、初期化、一覧ストレージの予期しない障害は汎用の `500` を返します。

List persisted Formations for an Audience. This is an **Explicit** tool. Pass `audienceId` or `audienceName`.

### export_audience

Export an Audience brief through the canonical v1 API and unified branded renderer. This tool is **Advertised**.

**Parameters:**

- `audienceId` or `audienceName`: Exact UUID or fuzzy-matched Audience name
- `format` (optional): `md`/`markdown` (default), `pdf`, `docx`, or `pptx`
- `force` (optional): Regenerate instead of returning a cached artifact

ツールは元のエクスポートジョブをポーリングし、完全なファイルが利用可能な場合にのみ成功を返します。`filename`、`mimeType`、Markdown の `content` またはバイナリの `contentBase64` を保持してください。インライン Markdown は100,000文字までで、省略時には `_[truncated]_` が付きます。キャンセルするとポーリングは停止します。未完了のエクスポートはエラーになるため、`force=true` を指定せずに再確認してください。

### duplicate_audience

Copy an Audience through `POST /api/v1/audiences/{audienceId}/duplicate`. This tool is **Advertised**.

**Parameters:**

- `audienceId`: Audience to duplicate; you must be able to edit it
- `name` (optional): Name of the copy; defaults to `<name> (copy)`
- `idempotencyKey` (optional): Reuse the key a failed or timed-out call returned, so a retry cannot create a second copy

Returns the new Audience in `data`, its `audienceUrl` and the `idempotencyKey`. Every member Mind is copied as a new, independent Mind with its knowledge and embeddings, together with the Audience's grounding, sources, Formations and finished validations. The copied Minds count toward the plan's Mind allowance. An Audience that is still being built is refused; retry once it is ready.

## Studies (Multi-Mind Research)

### list_model_connections

認証済みチームの有効なモデル接続を一覧表示します。一覧にある接続が検証済みとは限りません。選択前に機能フラグと `verifiedAt` を確認してください。次のリクエストでは `pagination.nextCursor` を `cursor` として渡します。定義済みの接続メタデータと機能フィールドのみを返し、プロバイダーの認証情報、生のプローブ結果、未定義の診断情報は除外します。不正な応答や進まないカーソルはエラーです。接続一覧の取得で予期しないストレージ障害が起きた場合は一般的な `500` を返します。接続先サーバーでモデル接続が有効な場合のみ、ツールが公開されます。

### create_study

Create a Study workspace and attach one or more existing or inline Audiences.

**Parameters:**

- `name` (required): Study name
- `audienceConfigs` (optional): New Audiences to create inline — each with `name` and `mindIds`
- `audienceIds` (optional): Existing Audience IDs to attach

**Example:**

```text
"Create a Study called 'Brand Perception Study' with two Audiences:
 - 'Marketing Experts' containing my SEO and Content Marketing minds
 - 'Consumer Insights' containing my Gen Z and Millennial minds"
```

### ask_study

Submit exactly one standalone research question to all selected Audiences in a Study. Treat the entire `question` value as respondent-visible input. The system may classify or reformat it, but any text in this field can reach the selected Minds and influence their answers. Put only the question, stimulus, and respondent-facing instructions here. For a questionnaire, survey, battery, section, cohesive question set, or any request with two or more known questions, use `plan_study_questions` once with the complete set—never call `ask_study` question by question.

**Parameters:**

- `studyId` (optional): Study UUID
- `studyName` (optional): Study name (fuzzy matched)
- `question` (required): Research question
- `audienceIds` (optional): Only query specific Audiences

### list_studies

List Studies with their Audience composition and question counts, one page at a time. Preserve `nextOffset` to continue; `searchQuery` returns the best fuzzy match within the newest 1,000 entries.

**Parameters:**

- `searchQuery` (optional): Filter by name using fuzzy search
- `limit` (optional): Page size, default 20, maximum 100
- `offset` (optional): Number of entries to skip, default 0

### get_study_status

`questionId` は個別回答の読み込みと返される結果をその質問に限定します。Study の履歴メタデータは引き続き読み込みます。実行状態の取得では、関連するすべてのカーソルページを読み込みます。一覧の取得に失敗した場合や不完全な場合は、部分的な状態を成功として返さず、ツールエラーを返します。

Get detailed Study information including in-progress questions, completed results, and export status.

**Parameters:**

- `studyId` (optional): Study UUID
- `studyName` (optional): Study name (fuzzy matched)
- `questionId` (optional): Return one question's results
- `exportKind`, `exportFormat`, `exportJobId` (optional): Use the exact kind, format and job ID returned by `export_study` to inspect that artifact

Report queued, running, failed and partial work as such. A polling timeout does not authorize a new submission.

### get_study_analytics

Compute statistical analytics across a Study's question history.

**Returns:**

- **Scale questions**: Mean, median, standard deviation, consensus, Audience rankings
- **Categorical questions**: Distribution, dominant category, cross-Audience divergence
- **Qualitative questions**: Theme clustering, shared themes, diversity index

**Parameters:**

- `studyId` (optional): Study UUID
- `studyName` (optional): Study name (fuzzy matched)

### export_study

Export Study results as a report.

**Parameters:**

- `studyId` (optional): Study UUID
- `studyName` (optional): Study name (fuzzy matched)
- `format` (optional): `pdf` (default), `docx`, `pptx`, `csv`, `xls`, `sav`, `md`, or `markdown`
- `kind` (optional): `executive_brief`, `full_report` (default), or `raw_data`
- `length` (optional): `brief`, `standard`, or `detailed`
- `force` (optional): Regenerate instead of returning a cached artifact

<table>
<thead>
  <tr>
    <th>
      Format
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        pdf
      </code>
    </td>
    
    <td>
      Branded PDF report
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        docx
      </code>
    </td>
    
    <td>
      Editable Word report
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        pptx
      </code>
    </td>
    
    <td>
      Editable presentation
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        csv
      </code>
    </td>
    
    <td>
      CSV workbook export
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        xls
      </code>
    </td>
    
    <td>
      Excel workbook export
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        sav
      </code>
    </td>
    
    <td>
      SPSS raw-data export
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        md
      </code>
      
       / <code>
        markdown
      </code>
    </td>
    
    <td>
      Markdown report
    </td>
  </tr>
</tbody>
</table>

### duplicate_study

Copy a Study through `POST /api/v1/studies/{studyId}/duplicate`. This tool is **Advertised**.

**Parameters:**

- `studyId`: Study to duplicate; you must be able to open it
- `name` (optional): Name of the copy; defaults to `<name> (copy)`
- `idempotencyKey` (optional): Reuse the key a failed or timed-out call returned, so a retry cannot create a second copy

Returns the new Study in `data`, its `workspaceUrl` and the `idempotencyKey`. The copy keeps every question, answer, chart, heatmap, summary and finished run over the same Audiences; a schedule is copied paused. Audiences are referenced, not copied; use `duplicate_audience` to copy them. A Study with a live run is refused.

### study_heatmap

`studyId` または `studyName`、`messageId`、`action: "get"`（既定）または `"start"` でヒートマップを取得または開始します。`assetKey` は質問に割り当てられた画像/動画を選びます。開始には Premium が必要で、Mind ごとに回答1回を消費します。完了済み分析は再利用されます。このツールは公開検出されます。

### export_heatmap

Export a completed website heatmap as the same ZIP archive available in the web app. The archive includes a unified-renderer PDF report, Markdown, source images, and metadata. This tool is **Advertised**.

**Parameters:**

- `studyId` or `studyName`: Study identifier
- `messageId` (required): Completed Study message containing the website heatmap
- `force` (optional): Regenerate instead of returning the cached archive

## Guided Research Planning

### plan_study_questions

Create or revise one durable, versioned research-plan draft. Use it for every broader objective, questionnaire, survey, battery, section, cohesive question set, visual-asset analysis, structured research output, or named method. Put every question already known into one `request`; the planner may organize them into named modules or sections, but the agent must never create one plan or run per question. Do not use it for a standalone export or a request to show existing results differently; use `export_study` or `get_study_summary` for those requests.

The free-form `request` is planner input and is not sent verbatim to Minds. The tool returns one cohesive plan with the exact proposed respondent-visible question text, named modules when useful, captured intent, main source, methods, semantic outputs, and explicit `confirmationQuestions`. The assistant must present the complete draft and those questions—including any framing warning—and must not claim the research has started. If the user changes anything, call the tool again with `draftPlanId` and `revision`.

### run_study_questions

明示的な承認後にのみ最新の草案を実行します。高度な方法には `advancedMethodOptIn: true` が必要です。Conjoint、MaxDiff、NPS、top/bottom box、キードライバー、TURF、Gabor-Granger、Van Westendorp、Kano、選好順位、セグメント比較は実行可能です。実行を約束する前に `list_research_methods`、`executable: true`、必須設定を確認してください。

If the Study-answer allowance is already exhausted, the tool returns a structured `plan_limited` error and the study does not start. Tell the user plainly that an upgrade is required; do not describe the survey as queued or completed.

### get_study_run

Read durable status, question progress, the immutable confirmed plan, the separate server-prepared execution plan, the exact respondent-visible question audit, method stages, response artifacts, and deterministic method calculations for a study started by `run_study_questions`.

`plan_limited` means an in-progress survey stopped before all questions completed. Preserve its partial artifacts, state how many questions completed, and tell the user to upgrade before starting a follow-up run for the remainder.

### list_research_methods

`preparesQuestionsAtExecution: true` は、実行時にメソッドの設定から決定論的な質問と回答仕様を生成することを意味します。テンプレートに保存された質問は、実際に実行される質問票の全体ではありません。不正なカタログ応答は空のカタログではなくエラーになります。`includePlanned: false` は計画中のメソッドを除外しますが、実験的メソッドは実行不可の状態とともに表示します。

List versioned methods with `executable`, availability, complexity, configuration requirements, semantic outputs, and fallbacks. Use this when the user explicitly asks for MaxDiff, NPS, Kano, TURF, pricing methods, Conjoint, or methodological options. A represented method is not necessarily runnable; only `executable: true` is an execution promise. Keep the default workflow simple when users do not ask for methodological complexity.

`visual-asset-analysis` と `recommendation-synthesis` は実験的なカタログ項目であり、その名前の計画手法としては実行できません。`fallbackMethodId` は確認すべき代替案であり、無断での置き換えを許可しません。画像、動画、Web サイトの研究と素材のヒートマップには別の対応経路があります。Study の質問に割り当て済みの素材には `study_heatmap` を使います。この項目の状態は、MCP に視覚分析能力がないという意味ではありません。

### list_study_drafts

アクティブな Study ドラフトを一覧表示するか、`draftId` で保存済みの完全な計画を取得します。`draft` は保存されたステップとリビジョンから再開できます。`starting` は起動処理中です。ID 指定の取得では、再開できない `consumed` の完了記録が返ることもあります。不正または不完全な API 応答はエラーであり、空の一覧や保存成功を意味しません。

### save_study_draft

作成時は、最初のリクエスト前に任意の `idempotencyKey`（前後の空白除去後 1～200 文字）を選び、結果が不明な場合は同じキーを再利用してください。同じキーを使うと、新しい計画入力を適用せず既存の保存済みドラフトを返します。更新時にはキーを省略し、代わりに `draftId` と現在の `expectedRevision` を使います。キーがない場合、作成リクエストの繰り返しで別々のドラフトが作成されることがあります。

Create or revise a durable Study planning draft without starting research. A revision requires the exact `draftId` and `expectedRevision`; the tool saves a closed set of planning inputs into the same versioned Custom planner state used by the Minds sidebar.

背後の v1 エンドポイントは、非公開でキャッシュ不可の応答を返します。作成・更新の JSON リクエストは最大1 MiB、バージョン付き `payload` は別途512 KiB、consume は4 KiBまでです。不正な入力は `400`、サイズ超過は `413`、予期しないストレージ障害は汎用の `500` を返します。変更のないスナップショットは `revision` と `updatedAt` を維持します。保存結果が不明な場合は再試行前に保存状態を確認してください。保存自体は調査を開始しません。

### get_study_summary

Retrieve the persisted semantic summary, or refresh it when `refresh: true`. Blocks are flexible evidence descriptors rather than fixed UI components. Preserve heatmap outputs for website, image, ad, and video analysis.

### list_study_templates

応答には、テンプレートの完全な ID、リビジョン、権限、有効な設定が必要です。正確な `templateId` による読み取りは、同じテンプレートを返す必要があります。応答の欠落、不正、不一致はエラーです。有効な空の一覧だけが、テンプレートが返されなかったことを意味します。

List owned and team-shared Study templates, or supply `templateId` to read one template including its current revision and stored configuration. This tool is **Advertised**. Reading a template does not launch research.

### manage_study_template

v1 のテンプレートエンドポイントは、非公開でキャッシュ不可の応答を返します。保存・更新の JSON 本文は 1 MiB、使用の本文は 4 KiB までです（超過時は `413`）。保存する設定は引き続き 512 KiB までです。不正な JSON や入力は `400` になります。所有権・リビジョン・ファイルに関する想定済みの拒否は規定のステータスを維持し、予期しないストレージやプロバイダーの障害は汎用の `500` を返します。

ツールは成功を報告する前に各書き込みの確認応答を検証します。保存・更新には期待する完全なテンプレート、削除には `success: true`、使用には Study の下書きが必要です。使用の再試行では、既存の `starting` または `consumed` の下書きが返る場合があり、新しい編集可能な下書きとは案内しません。確認応答が不完全な場合は、再試行の前に保存済みテンプレートや下書きを確認し、元のリクエスト ID を維持してください。

Save, update, use or delete a Custom Study template. This tool is **Advertised**. Set `action` to `save`, `update`, `use` or `delete`; non-save actions require `templateId`. Provide the matching `save`, `update` or `use` object for that action. Only owners can update, delete or change team sharing.

Use the current revision for updates and use. Preserve `save.requestId` for retry-safe creation; `use.requestId` must be a fresh UUID for each intended draft and reused only for a retry of that same request. `use` creates an independent editable draft to finish in the web app; it never starts research. Audiences and context are entered fresh. Review changes and confirm destructive actions before executing them.

## Explicit lifecycle tools

These seven registered canonical tools expose the remaining v1 research lifecycle. They are intentionally omitted from the 23–24-tool curated discovery list until their product presentation is reviewed. An integration that calls one explicitly must supply the canonical schema and honor destructive/confirmation annotations.

### manage_mind

`regenerate_image` で既存のポートレートを置き換えるには `force: true` を指定します。指定しない場合、画像がある Mind はスキップされます。任意の `personaContext`（前後の空白除去後 1～16,000 文字）は、システムプロンプトを変更せずポートレートを調整します。API の確認応答がない、または応答の構造が不正な場合は、再試行前に現在の状態を確認するよう案内するエラーになります。リクエストへの応答は、バックグラウンドの学習、画像生成、知識取り込み、セグメンテーションの完了を意味しません。返された状態と件数を確認してください。

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Required
    </th>
    
    <th>
      Effect
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        get
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Read one Mind
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        update
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Update supported <code>
        name
      </code>
      
      , <code>
        description
      </code>
      
      , <code>
        discipline
      </code>
      
      , <code>
        systemPrompt
      </code>
      
      , <code>
        sourcePolicy
      </code>
      
      , <code>
        tags
      </code>
      
      , or sharing state
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
      
      , explicit confirmation
    </td>
    
    <td>
      Delete one Mind through canonical cleanup
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete_many
      </code>
    </td>
    
    <td>
      <code>
        mindIds
      </code>
      
       (1–100), explicit confirmation
    </td>
    
    <td>
      Batch-delete confirmed Minds and report independent outcomes
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        retrain
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Queue retraining with a complete stored knowledge-index rebuild
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        regenerate_image
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Regenerate the profile image
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        regenerate_prompt
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Regenerate the system prompt
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        regenerate_embeddings
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Queue a full rebuild of the stored knowledge vectors
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        get_training
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Read training status
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        get_patterns
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Read raw patterns when permitted
    </td>
  </tr>
</tbody>
</table>

### manage_mind_knowledge

`action: "list"` では `limit`（1～100）と `offset`（0以上）を任意で指定できます。既定のページは最大100件です。`data.pagination.hasMore` を確認し、offset を進めて続きを取得してください。`data.total` は全件数です。並び順と整合性の制限は[ナレッジのページ取得](/docs/api/ja/knowledge)を参照してください。

All actions require `mindId`.

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Additional inputs
    </th>
    
    <th>
      Effect
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        list
      </code>
    </td>
    
    <td>
      <code>
        limit
      </code>
      
      , <code>
        offset
      </code>
    </td>
    
    <td>
      List items
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        add
      </code>
    </td>
    
    <td>
      One of <code>
        link
      </code>
      
      , <code>
        keywords
      </code>
      
      , or <code>
        file
      </code>
      
      ; optional <code>
        description
      </code>
      
      , <code>
        regeneratePrompt
      </code>
    </td>
    
    <td>
      Queue knowledge ingestion
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        update
      </code>
    </td>
    
    <td>
      <code>
        itemId
      </code>
      
       and supported fields
    </td>
    
    <td>
      Update an item
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        itemId
      </code>
      
      , explicit confirmation
    </td>
    
    <td>
      Delete an item
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        status
      </code>
    </td>
    
    <td>
      <code>
        itemId
      </code>
    </td>
    
    <td>
      Read processing status
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        enrich
      </code>
    </td>
    
    <td>
      <code>
        keywords
      </code>
    </td>
    
    <td>
      Run keyword enrichment
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        patterns
      </code>
    </td>
    
    <td>
      —
    </td>
    
    <td>
      Read knowledge patterns
    </td>
  </tr>
</tbody>
</table>

`file` has `{ name, url, type? }`. The URL must be public, short-lived signed, or a Minds workspace-upload URL. Retrieval is SSRF-guarded, time-bounded, and limited to 50 MB; do not embed base64 binary data.

### manage_audience

All actions require `audienceId`.

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Additional inputs
    </th>
    
    <th>
      Effect
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        get
      </code>
    </td>
    
    <td>
      —
    </td>
    
    <td>
      Read Audience details and grounding
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        get_progress
      </code>
    </td>
    
    <td>
      —
    </td>
    
    <td>
      Read settled build progress
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        follow
      </code>
      
       / <code>
        unfollow
      </code>
    </td>
    
    <td>
      —
    </td>
    
    <td>
      Save or unsave a visible Audience
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        update
      </code>
    </td>
    
    <td>
      <code>
        name
      </code>
      
      , visibility/team-sharing fields as needed
    </td>
    
    <td>
      Update supported Audience fields
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete
      </code>
    </td>
    
    <td>
      Explicit confirmation
    </td>
    
    <td>
      Delete the Audience
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        add_member
      </code>
      
       / <code>
        remove_member
      </code>
    </td>
    
    <td>
      <code>
        mindId
      </code>
    </td>
    
    <td>
      Change Audience membership
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        regenerate_images
      </code>
    </td>
    
    <td>
      Optional <code>
        force
      </code>
      
      , <code>
        limit
      </code>
      
      , <code>
        dry
      </code>
    </td>
    
    <td>
      Regenerate member images or preview the operation
    </td>
  </tr>
</tbody>
</table>

### manage_formation

`preview` の `userInput` と `priorHypothesis` はどちらも省略可能です。空欄では既定の要求を使い、テキストは前後の空白を除いて最大 2000 文字です。転送する JSON は 64 KiB 以内に収めてください。MCP は返された件数、フラグ、段階と作成条件を満たす仮説を検証し、不明な項目を除き、不正な応答にはツールエラーを返します。プレビューは Formation を保存しません。

`get` では MCP が返された Formation ID と詳細項目を検証し、保存された診断情報を除き、安全なエラーメッセージを使います。不正な応答や ID が一致しない応答はツールエラーになります。所属情報を使う前に `status` を確認してください。再計算中も前回完成したグループが残る場合があります。

`create` では、空でないテキストを持つ 2～15 個のグループを確認し、空白除去後の ID とラベルを一意にしてください。予約済み ID の `unanswered`、`__unanswered`、`__other` は使えません。`name` は任意です。転送する JSON は 64 KiB 以内にしてください。ユーザーによる分割で、メンバーを持つ主要グループが二つ未満なら失敗します。利用前に状態を確認してください。作成時のエラーは [Audience API](/docs/api/audiences) を参照してください。

All actions require `audienceId`.

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Additional inputs
    </th>
    
    <th>
      Effect
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        list
      </code>
    </td>
    
    <td>
      —
    </td>
    
    <td>
      List Formations
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        get
      </code>
    </td>
    
    <td>
      <code>
        formationId
      </code>
    </td>
    
    <td>
      Read a Formation
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        preview
      </code>
    </td>
    
    <td>
      <code>
        userInput
      </code>
      
      , <code>
        priorHypothesis
      </code>
      
       (省略可能)
    </td>
    
    <td>
      Return a non-persisted JSON hypothesis
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        create
      </code>
    </td>
    
    <td>
      <code>
        name
      </code>
      
      , reviewed <code>
        hypothesis
      </code>
    </td>
    
    <td>
      Persist and compute a Formation
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        formationId
      </code>
      
      , explicit confirmation
    </td>
    
    <td>
      Delete a Formation
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        recompute
      </code>
    </td>
    
    <td>
      <code>
        formationId
      </code>
    </td>
    
    <td>
      Recompute assignments
    </td>
  </tr>
</tbody>
</table>

A hypothesis contains `intent` and `subgroups[]` with `id`, `label`, and `definition`. The UI consumes NDJSON progress and this tool requests JSON from the same v1 preview endpoint.

### manage_study

Requires `studyId`. `action: "get"` reads a Study and returns its workspace link. `action: "delete"` requires explicit confirmation and deletes it.

所有者は、必須の真偽値 `isLinkSharingEnabled` を指定した `action: "set_link_sharing"`、または1～100件の `emails` と任意の `role`（既定は `member`、または `admin`）を指定した `action: "invite"` も使用できます。公開共有はユーザーから明示的な依頼がある場合にのみ有効にしてください。関連する Audiences と Minds も公開閲覧可能になります。公開アクセスが有効な場合、結果には `sharedStudyUrl` が含まれます。招待結果の `emailFailures` を確認してください。API の成功応答は、すべてのメールの配信成功を保証しません。

### manage_chat

<table>
<thead>
  <tr>
    <th>
      Action
    </th>
    
    <th>
      Required
    </th>
    
    <th>
      Effect
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        create
      </code>
    </td>
    
    <td>
      One of <code>
        mindId
      </code>
      
      , <code>
        mindIds
      </code>
      
      , or <code>
        audienceIds
      </code>
      
      ; optional <code>
        name
      </code>
      
      , <code>
        description
      </code>
    </td>
    
    <td>
      Create a stateful chat
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        send_message
      </code>
    </td>
    
    <td>
      <code>
        chatId
      </code>
      
      , <code>
        message
      </code>
      
      ; optional <code>
        role
      </code>
    </td>
    
    <td>
      Append a message and get the next response
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        chatId
      </code>
      
      , explicit confirmation
    </td>
    
    <td>
      Delete chat history
    </td>
  </tr>
</tbody>
</table>

既存の Study 回答を続ける場合、`create` は単一の `mindId` と `responseThread: { studyId, messageId }` も受け付けます。サーバーは、アクセスが許可された以前のコンテキストとファイルを保持します。

### manage_study_draft

`draftId` にドラフトの UUID が必要です。`action: "delete"` はドラフトを削除し、本文のない成功した API 応答を必要とします。`action: "consume"` には正の `expectedRevision` が必要で、`studyId` に Study の UUID を任意で指定できます。この操作は計画状態を終了させますが、調査の開始や確認は行いません。有効なドラフトの古いリビジョンは拒否されます。消費済みドラフトへの再試行は、関連する Study を変更せず既存の終了記録を返します。ツールは対象ドラフトに一致する `consumed` 応答を要求し、不正な確認応答をエラーとして扱います。結果が不明な場合は、再試行前に保存状態を確認してください。

## Deliberate exclusions

API credential creation, rotation, and revocation are not exposed through MCP because an MCP session must not control its own bearer credential. Manage keys only in authenticated [account settings](/settings/api-keys) or through an independently authenticated REST administration flow.
