# User Intuition (npm · @userintuition-ai/mcp)

Run AI-moderated qualitative interviews with real people from any MCP client; cited findings.

- Trust score: 75/100 (medium)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.userintuition.ai`: 36/100, [markdown](https://verifymcp.io/servers/ai-userintuition-research/mcp.md), [page](https://verifymcp.io/servers/ai-userintuition-research/mcp)
- npm · `@userintuition-ai/mcp`: 75/100 (this document), [markdown](https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp.md), [page](https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp)

## Channel facts

- Registry: `npm`
- Package: `@userintuition-ai/mcp`
- Version: `0.18.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 42 of 133 dependencies flagged as unhealthy (1 deprecated).
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 7 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 65/100
  - 70% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 9586 tokens (~110/item across 87 items; 79 tools + 8 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 82/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 36% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 13 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 81 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the User Intuition MCP server?

User Intuition runs locally as an npm package, launched with npx -y @userintuition-ai/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add ai-userintuition-research -- npx -y @userintuition-ai/mcp
```

### Cursor

```json
{
  "mcpServers": {
    "ai-userintuition-research": {
      "command": "npx",
      "args": [
        "-y",
        "@userintuition-ai/mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ai-userintuition-research": {
      "command": "npx",
      "args": [
        "-y",
        "@userintuition-ai/mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add ai-userintuition-research -- npx -y @userintuition-ai/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-userintuition-research": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@userintuition-ai/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-userintuition-research --command npx --arg -y --arg @userintuition-ai/mcp
```

### Hermes

```yaml
mcp_servers:
  ai-userintuition-research:
    command: "npx"
    args: ["-y", "@userintuition-ai/mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "ai-userintuition-research": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@userintuition-ai/mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add ai-userintuition-research -t stdio -c npx -a -y @userintuition-ai/mcp
```

### Other

```json
{
  "mcpServers": {
    "ai-userintuition-research": {
      "command": "npx",
      "args": [
        "-y",
        "@userintuition-ai/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-30 (score 75, 0)

- [security] Stability: 0.97 → pass

### 2026-10-29 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 74, −1)

- [security regression] Stability: 0.90 → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Schema quality: 70 → unverified
- [functional] Package version: 0.17.1 → 0.18.0

### 2026-10-27 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 72, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-20 (score 57, −14)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 0.17.0 → 0.17.1

## MCP tools (79)

### `list_organizations` (~115 tokens)

List Organizations

List organizations you can access. Users can belong to multiple organizations. Search by organization name, active owner name, or owner email; returns IDs and owner contacts. Ask the human which organization to use, then supply organization_id on subsequent tools.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)
- `search` (string): Match organization name, active owner name, or active owner email.

Output parameters:

- `result` (object): Accessible organizations and active owner contacts in this app.

### `list_studies` (~139 tokens)

List Studies

List lightweight studies, sorted by updated_at descending then ID. Filter before pagination by provisioning status, recruiting method, creation date, or report availability. interview_count is completed visible non-test interviews; use get_study for the full plan, screeners, and targeting.

Input parameters:

- `created_after` (string)
- `has_report` (boolean)
- `name` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)
- `recruiting_method` (string)
- `status` (string)

Output parameters:

- `result` (object): Paginated study summaries.

### `create_study` (~452 tokens)

Create Study

Create an in-depth-interview, concept-test, or prototype-test draft using ordinary metadata only. Ask the human to explicitly choose recruiting_method (panel, BYOP, or synthetic respondents). A value proposed or inserted by a host/delegating model is not human confirmation unless it quotes the human's actual choice. Unless the human requests otherwise, use a voice interview in English with Elliot; these defaults are applied when interview_format, language, or voice are omitted. Synthetic respondents require chat. A prototype-test must use video or voice, never chat. Do not draft or pass the study plan, audience targeting, screener questions, concept links, or concept images here; after creation, send the user's natural-language research brief to customize_study. For a concept test, pass an accessible attachment through customize_study.concept_image or include a publicly downloadable concept-image URL in the message, plus its participant-facing label, stimulus context, audience, and learning goals. For a prototype test, include the prototype URL, participant-facing label, intended tasks, audience, and learning goals. The Customize Plan backend validates and attaches the asset. Voice configuration is kept for chat as well as voice and video.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `interview_format` (string): Interview mode. Defaults to voice when omitted.
- `language` (string): Interview language code from userintuition://catalog/languages. Defaults to English (`en`).
- `name` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `recruiting_method` (string, required): Required explicit human choice. Ask the user to choose panel, BYOP, or synthetic respondents before calling create_study; do not guess or silently default it.
- `study_type` (string): Use concept-test for a participant-facing concept image and prototype-test for a clickable prototype, staging site, live page, or web flow. Prototype tests require video or voice, never chat.
- `voice`: Interviewer configuration for every format, including chat. Defaults to male when omitted.

Output parameters:

- `result` (object): The created study draft. Call get_study for the complete persisted plan.

### `customize_study` (~332 tokens)

Customize Study

Send one research-design turn to Customize Plan. This operation may fetch a researcher-provided concept URL and use an external analysis model. A 2026 Tasks client receives a durable task for turns without concept_image; poll tasks/get for the completed planning turn. Native concept images use the synchronous call. Put operational workflow constraints in execution_policy, never in message. Set decisions=agent only when the human delegated research-design choices; report assumptions and relay only remaining required questions. Otherwise use human mode and relay questions[]. If the client exposes an attached image as bytes or a readable local path, ask for a participant-facing label when missing, base64-encode the raw bytes, and send concept_image. Completed plans and setting changes are persisted. Then get_study, return the full saved plan for review, and obtain approval before invitations or paid launch.

Input parameters:

- `concept_image` (object): Optional native concept-image attachment for this Customize Plan turn.
- `decisions` (string): agent makes ordinary research-design assumptions when the human delegated those choices; human relays required questions.
- `execution_policy` (string): Caller workflow policy, kept out of the participant-facing research brief. This call never starts recruitment.
- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `message` (string, required): The user's research brief, requested change, or answer to the previous Customize Plan question.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The next Customize Plan turn and current study state.

### `queue_customize_study` (~198 tokens)

Queue Study Customization

Queue one research-design turn that may fetch a researcher-provided concept URL and use an external analysis model. A 2026 Tasks client receives a durable task and polls tasks/get; other clients receive a job ID and poll get_customize_study_job. Then call get_study and show the full saved plan for human review. Reuse an idempotency_key after an uncertain response. Native concept images require the synchronous customize_study tool.

Input parameters:

- `concept_image`: Native images are only supported by customize_study.
- `decisions` (string)
- `execution_policy` (string)
- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `message` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Queued Customize Plan job.

### `get_customize_study_job` (~85 tokens)

Get Study Customization Job

Poll a queued study customization turn. On succeeded, inspect result and call get_study to return the persisted plan. On failed, inspect the saved study before retrying.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Customize Plan job status and completed planning turn.

### `get_study` (~205 tokens)

Get Study

Get the full persisted study, including the plan, audience targeting, screeners, and concept assets managed by customize_study. Call before metadata updates and after customization to verify the result. After customization, return the complete persisted study_plan to the user in a readable form. Panel launch approval happens in the launch_panel MCP App, or explicit human chat confirmation when the client does not support Apps. Obtain explicit approval of the current plan before BYOP participant creation; retain study_id and updated_at so unchanged approval survives a resumed workflow. When provisioning_status is provisioned, include both returned links in the completion response. dashboard_url is the researcher management link. study_link is the live participant interview link, not a test or preview link; opening it starts the participant experience. The public API does not expose a separate researcher-preview URL.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The full persisted study.

### `get_external_panel` (~81 tokens)

Get External Panel Configuration

Read the customer-supplied panel entry link, respondent ID parameters, and outcome redirects for one owned BYOP study. This is distinct from individual BYOP invitations and paid User Intuition Panel recruitment.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): External-panel entry and outcome configuration.

### `configure_external_panel` (~259 tokens)

Configure External Panel

Create or replace a customer-supplied panel bridge on an owned BYOP study. Supply completion and screen-out redirect URLs; set the provider's respondent ID query parameter and placeholder if the defaults differ. Optional session, external study, quota-full, and technical-failure mappings are supported. Before sharing entry_url with the provider, call get_study, verify provisioning_status=provisioned, and have the human approve the current plan and URL mapping. This does not recruit respondents or launch the paid User Intuition Panel. Repeating the same PUT preserves the current entry token.

Input parameters:

- `complete_redirect_url` (string, required)
- `external_study_id_param` (string|null)
- `external_study_id_placeholder` (string|null)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `provider` (string)
- `quota_full_redirect_url`
- `respondent_id_param` (string)
- `respondent_id_placeholder` (string)
- `screenout_redirect_url` (string, required)
- `session_id_param` (string|null)
- `session_id_placeholder` (string|null)
- `study_id` (string, required)
- `technical_redirect_url`

Output parameters:

- `result` (object): Created or replaced external-panel configuration.

### `regenerate_external_panel_token` (~132 tokens)

Regenerate External Panel Entry Token

Replace the external-panel entry token for an owned BYOP study. The old provider link stops working immediately; update the provider with the returned entry_url. Supply a unique idempotency_key and reuse it after an uncertain response; inspect the current link with get_external_panel if the replay is stale.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Configuration with a new entry URL.

### `delete_external_panel` (~77 tokens)

Delete External Panel Configuration

Disable the external-panel entry link for an owned BYOP study. Existing interviews remain; the provider can no longer send new respondents through this link. A repeated deletion returns 404.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): External-panel configuration disabled.

### `update_study` (~198 tokens)

Update Study

PATCH ordinary study metadata only. Use customize_study—not this tool—for the research plan, audience targeting, screener questions, concept links, or concept images. Only supplied fields change. Active panel studies must be paused or stopped first. Call get_study first.

Input parameters:

- `byop_config`
- `interview_format` (string): Interview mode. Defaults to voice when omitted.
- `language` (string)
- `name` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `recruiting_method` (string): Required explicit human choice. Ask the user to choose panel, BYOP, or synthetic respondents before calling create_study; do not guess or silently default it.
- `study_id` (string, required)
- `study_type` (string)
- `voice`: Interviewer configuration for every format, including chat. Defaults to male when omitted.

Output parameters:

- `result` (object): The updated study. Call get_study for full state.

### `delete_study` (~89 tokens)

Delete Study

Soft-delete a study and its linked invitations, interviews, and reports from normal reads. Participant links stop working. There is no public restore endpoint. Uploaded assets may have separate retention. Call only when the human explicitly requests deletion of this study.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The soft-deleted study.

### `pause_study` (~59 tokens)

Pause Study

Pause a study while preserving its panel survey, target cycle, progress, and reward hold.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The paused study.

### `resume_study` (~52 tokens)

Resume Study

Resume a paused study and continue its preserved panel recruitment.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The resumed study.

### `stop_study` (~74 tokens)

Stop Study

Stop panel recruitment, close the target cycle, and settle/release the active reward hold. Call only after the human explicitly chooses to end this study's fieldwork.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): The stopped study.

### `estimate_panel` (~196 tokens)

Estimate Panel

Read-only estimate for one Panel recruitment cycle. Returns per-interview and total credit cost, available balance and deficit, participant reward, card hold, recurrence, and a heuristic timeline. launch_panel shows this estimate for human App approval, or human chat confirmation in clients without Apps, before the paid request. The price and balance can change before launch; use submit_feasibility_request for incidence below 10% or more than 1,000 interviews.

Input parameters:

- `country_code` (string, required): Required explicit country code from userintuition://catalog/panel-countries. Never infer a country.
- `frequency` (string)
- `incident_rate` (number, required): Percentage points. Values below 10 require submit_feasibility_request instead of direct launch.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)
- `target` (integer, required)

Output parameters:

- `result` (object): Read-only panel estimate for one recruitment cycle.

### `generate_report` (~128 tokens)

Generate Study Report

Queue analysis of study responses using an external analysis model. A 2026 Tasks client receives a durable task and polls tasks/get for the completed job; other clients receive a job ID and poll get_report_job. Then call get_study_report. report.ready webhooks also signal completion.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Report generation job.

### `get_report_job` (~72 tokens)

Get Report Job

Poll an asynchronous report request. A succeeded job provides result_url; then fetch the report with get_study_report.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Report generation status.

### `queue_report_slides` (~128 tokens)

Queue Report Slides

Queue an editable PowerPoint deck from the latest saved report. Common text identifiers are masked by default. Poll get_report_slide_job for a private download URL, which expires after 15 minutes. The export is retained for seven days.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `redact_pii` (boolean)
- `study_id` (string, required)

Output parameters:

- `result` (object): Queued private PowerPoint export.

### `get_report_slide_job` (~79 tokens)

Get Report Slide Job

Poll an editable PowerPoint export. A succeeded job returns a fresh private download URL valid for 15 minutes. The export expires after seven days.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): PowerPoint export status and private signed URL.

### `get_fielding_progress` (~67 tokens)

Get Fielding Progress

Get qualifying completions versus the current target, completed interview quality counts, and a rate-based expected finish when enough progress exists.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)

Output parameters:

- `result` (object): Current fielding progress.

### `get_study_report` (~112 tokens)

Get Study Report

Get a small report overview by default. Set view to one section (study_findings, participant_profiles, participant_responses, evidence_coverage, recommended_next_steps, or references), or full when all data is needed. included_sections distinguishes omitted sections from empty ones. Findings include structured prevalence and source quotes when available.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string, required)
- `view` (string)

Output parameters:

- `result` (object): The latest persisted study report.

### `search_research` (~148 tokens)

Search Research

Search one or more studies. Results are grouped under studies[] with each study_id, index_status (ready, updating, or not_indexed), latest_report_id, indexed_report_id, and matching canonical content. No generated prose is returned. Pass next_cursor back with the same query, filters, and limit to continue; stop when it is null.

Input parameters:

- `cursor`: Opaque next_cursor from the previous search page. Use with unchanged query, filters, and limit.
- `filters` (object, required)
- `limit` (integer)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `query` (string, required)

Output parameters:

- `result` (object): Ranked canonical study and report JSON. Generated prose is never returned.

### `answer_research` (~86 tokens)

Answer Research

Answer a question across selected accessible studies using indexed research. Returns generated statements with numbered citations to canonical content IDs, plus source details and index status. Use search_research to inspect the underlying records.

Input parameters:

- `filters` (object, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `question` (string, required)

Output parameters:

- `result` (object): Generated research answer with validated citations and source records.

### `list_participants` (~128 tokens)

List Participants

List BYOP invitation records with each personal interview link, status and visible interview count. These are study participations, not deduplicated people; use list_interviews(participant_id) for the sessions. Panel and open-link respondents are anonymous interviews.

Input parameters:

- `email` (string)
- `external_id` (string): Exact customer ID; requires study_id.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)
- `study_id` (string)

Output parameters:

- `result` (object): Paginated BYOP participants.

### `create_participants` (~159 tokens)

Create Participants

Queue creation of 1–100 unique BYOP participants. Poll get_participant_job until succeeded, then list participants. Before creating participants, call get_study, require provisioning_status=provisioned, and verify or obtain explicit approval of the current plan. Carry a trusted unchanged approval forward using study_id and updated_at; changed plan or invitation settings invalidate it. Invitations send unless silent is true.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `participants` (array, required)
- `study_id` (string, required)

Output parameters:

- `result` (object): Participant creation job.

### `get_participant_job` (~61 tokens)

Get Participant Job

Poll a participant batch. On success, list_participants for the study to retrieve the invitations.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object): Participant creation status.

### `get_participant` (~92 tokens)

Get Participant

Read one BYOP invitation, including its current status, personal interview link, interview count, and reward state. Use it to verify the participant before changing their email, deleting the invitation, or sending a reward. Panel respondents are not returned by this tool.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `participant_id` (string, required)

Output parameters:

- `result` (object): The requested BYOP participant.

### `update_participant` (~103 tokens)

Update Participant

Change the email or CRM fields on one BYOP invitation with PATCH. Call get_participant first to verify the intended participant. Send email=null only when the user explicitly wants to clear it. Pass only fields to change.

Input parameters:

- `email`
- `external_id`
- `metadata` (object)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `participant_id` (string, required)

Output parameters:

- `result` (object): The updated BYOP participant.

### `send_participant_reward` (~117 tokens)

Send Participant Reward

Send the configured incentive to a BYOP participant when the human requests it. No separate MCP App approval is required. Reuse idempotency_key on uncertain retries; the backend prevents duplicate rewards for an already-paid participant.

Input parameters:

- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `participant_id` (string, required)

Output parameters:

- `result` (object): Reward delivery acknowledgement.

### `delete_participant` (~95 tokens)

Delete Participant

Soft-delete one BYOP invitation after the user explicitly requests it. Deletion also removes its personal link. If interviews exist, the request returns a conflict unless the user separately approves deleting those interviews and cascade_interviews is true.

Input parameters:

- `cascade_interviews` (boolean)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `participant_id` (string, required)

Output parameters:

- `result` (object): Participant deletion acknowledgement.

### `list_interviews` (~97 tokens)

List Interviews

List lightweight interview rows. Fetch an interview to get messages, recordings, and screener responses.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)
- `participant_id` (string)
- `quality` (array)
- `status` (string)
- `study_id` (string)

Output parameters:

- `result` (object): Paginated interview summaries.

### `get_interview` (~115 tokens)

Get Interview

Get interview timing, stored format, current configured study language, and up to 100 spoken transcript segments bounded to about 20 KB of text. Use next_message_offset to fetch the next page. Each segment keeps its original turn ID and text_offset; system prompts and internal metadata are excluded.

Input parameters:

- `interview_id` (string, required)
- `message_limit` (integer)
- `message_offset` (integer)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object): The full requested interview.

### `delete_interview` (~63 tokens)

Delete Interview

Soft-delete an interview owned by the authenticated user. Call only when the human explicitly requests deletion of this interview.

Input parameters:

- `interview_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object): Interview deletion acknowledgement.

### `list_targeting_attributes` (~88 tokens)

List Targeting Attributes

Search the panel targeting catalog by name or category. Use its qualification and option IDs when configuring a panel study. The full study response also resolves saved targeting to readable labels; age bands can be approximate.

Input parameters:

- `category` (string)
- `name` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (array): Panel qualification and option IDs with readable labels.

### `submit_feasibility_request` (~146 tokens)

Submit Feasibility Request

Submit a low-incidence, large, or specialized audience for manual feasibility review when direct panel launch is unavailable. This creates a review request, not a paid launch. Provide the target audience, target count, and incidence rate in percentage points; optionally link an accessible study. Use list_feasibility_requests or get_feasibility_request to follow its status.

Input parameters:

- `country_code` (array)
- `incident_rate` (number, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string)
- `target` (integer, required)
- `target_audience` (string, required)

Output parameters:

- `result` (object): The submitted feasibility request.

### `list_feasibility_requests` (~63 tokens)

List Feasibility Requests

List the account feasibility requests, newest first, in bounded pages.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)

Output parameters:

- `result` (object): A bounded page of account feasibility requests.

### `get_feasibility_request` (~53 tokens)

Get Feasibility Request

Get one feasibility request and its status or estimate.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `request_id` (string, required)

Output parameters:

- `result` (object): The requested feasibility request.

### `cancel_feasibility_request` (~57 tokens)

Cancel Feasibility Request

Withdraw a pending feasibility request. A request already answered cannot be cancelled.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `request_id` (string, required)

Output parameters:

- `result` (object): The withdrawn feasibility request.

### `create_webhook` (~92 tokens)

Create Webhook

Create a webhook for an account or one owned study. Choose interview, study lifecycle, participant lifecycle, or quota events. The signing secret is shown once; store it securely.

Input parameters:

- `event_types` (array)
- `hook_url` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `study_id` (string)

Output parameters:

- `result` (object): The created webhook. Its signing secret is shown only once.

### `list_webhooks` (~48 tokens)

List Webhooks

List account webhooks and their study scopes. Signing secrets are never included.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object): Registered webhooks.

### `get_webhook` (~52 tokens)

Get Webhook

Get a webhook by ID without revealing its signing secret.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `webhook_id` (string, required)

Output parameters:

- `result` (object): The requested webhook without its signing secret.

### `rotate_webhook_secret` (~67 tokens)

Rotate Webhook Secret

Replace a webhook signing secret. The new secret is shown only in this response; update the receiver before relying on further deliveries.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `webhook_id` (string, required)

Output parameters:

- `result` (object): The webhook and its newly rotated signing secret.

### `test_webhook` (~63 tokens)

Test Webhook

Send a signed test event containing no participant or study data. This makes an outbound request to the registered URL.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `webhook_id` (string, required)

Output parameters:

- `result` (object): Signed test delivery result.

### `list_webhook_deliveries` (~75 tokens)

List Webhook Deliveries

List bounded delivery attempts, status codes, and coarse failure reasons without payloads.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `page` (integer)
- `page_size` (integer)
- `webhook_id` (string, required)

Output parameters:

- `result` (object): Bounded webhook delivery attempts.

### `delete_webhook_by_id` (~58 tokens)

Delete Webhook by ID

Stop future deliveries to one registered webhook. A repeated deletion returns 404.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `webhook_id` (string, required)

Output parameters:

- `result` (object): Webhook deletion acknowledgement.

### `delete_webhook` (~74 tokens)

Delete Webhook by URL (Deprecated)

Deprecated compatibility tool. List webhooks, then use delete_webhook_by_id so deletion works through clients that omit DELETE request bodies. A repeated deletion returns 404.

Input parameters:

- `hook_url` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object): Webhook deletion acknowledgement.

### `create_research_session` (~76 tokens)

Create Research Session

Create an organization Hub session for selected studies and uploaded sources. Reuse the same idempotency key after an uncertain response.

Input parameters:

- `idempotency_key` (string, required)
- `name` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object)

### `rename_research_session` (~61 tokens)

Rename Research Session

Rename one organization Hub session without changing its sources or analysis.

Input parameters:

- `name` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `delete_research_session` (~55 tokens)

Delete Research Session

Delete one organization Hub session only when the user explicitly requests it.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `sync_research_study` (~74 tokens)

Sync Study to Research Session

Add or resync one study in a Hub session. Inspect existing sources and add only the study the user requested.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)
- `study_id` (string, required)

Output parameters:

- `result` (object)

### `remove_research_study` (~70 tokens)

Remove Study from Research Session

Remove one study source from a Hub session; the underlying study remains available in User Intuition.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)
- `study_id` (string, required)

Output parameters:

- `result` (object)

### `remove_research_source` (~78 tokens)

Remove Research Source

Remove one source from a Hub session by the opaque ID returned by inspect_research_session. The underlying study or uploaded file is not deleted.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)
- `source_id` (string, required)

Output parameters:

- `result` (object)

### `add_all_research_studies` (~69 tokens)

Add All Studies to Research Session

Legacy bulk selection: add every currently available study to this Hub session. Use sync_research_study for a selected study.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `clear_research_sources` (~71 tokens)

Clear Research Session Sources

Legacy bulk removal: remove all sources from this Hub session without deleting the underlying studies or files. Use only when the user requests clearing the session.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `start_research_analysis` (~212 tokens)

Start Research Analysis

Start a durable analysis across the session sources. exhaustive processes every eligible interview; quick retrieves verified evidence through File Search; aggregate computes exact counts; explore runs bounded computation. Poll get_research_analysis. Prefer chat_research_session or queue_research_chat for questions and generate_research_output for saved outputs. Completed or partial runs can produce presentations, clips or reels; retain coverage and limitations. Reuse the idempotency key on uncertain retries.

Input parameters:

- `call_budget` (integer)
- `codebook` (array)
- `group_by` (string)
- `idempotency_key` (string, required)
- `include_synthetic` (boolean)
- `mode` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_name` (string)
- `output_type` (string)
- `parent_run_id` (string)
- `question` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `resume_research_analysis` (~74 tokens)

Resume Research Analysis

Resume a paused or partial durable analysis run with an additional call allowance. Poll get_research_analysis for the updated result.

Input parameters:

- `additional_calls` (integer)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `run_id` (string, required)

Output parameters:

- `result` (object)

### `cancel_research_analysis` (~61 tokens)

Cancel Research Analysis

Cancel one durable analysis run only when the user requests it. Existing results remain available for inspection.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `run_id` (string, required)

Output parameters:

- `result` (object)

### `get_research_analysis` (~125 tokens)

Inspect Research Analysis

Read a run and verified claims, its evidence, eligible timed highlights, exports, source coverage or session history. Follow next_cursor until exhausted. Evidence includes canonical transcript locators; audio eligibility requires a complete participant turn and owned recording. Authorization is checked on every read.

Input parameters:

- `after` (string)
- `evidence_id` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `run_id` (string)
- `session_id` (string)
- `view` (string)

Output parameters:

- `result` (object)

### `queue_research_deliverable` (~274 tokens)

Create Research Deliverable

Use report_video for Highlights: generate one retained MP4 from the studies' default reports, with branded logo bookends, learning-goal chapters and their cited Quotes. Repeated requests return the saved video. No evidence selection is needed. Also supports an editable PowerPoint, an individual audio clip or a legacy audio reel ZIP from a completed/partial Hub run. Use exact evidence_ids returned by get_research_analysis highlights; presentations include all findings. Audio requires explicit export instruction. Text masking defaults on. Poll get_research_deliverable or tasks/get for Tasks clients. Private links last 15 minutes; temporary audio and presentation files expire in seven days; report videos are retained while their source remains available. Reuse the idempotency key after a timeout.

Input parameters:

- `acknowledge_unredacted_audio` (boolean): True only when the researcher has instructed you to export these recordings. Speech is not anonymized.
- `evidence_ids` (array)
- `idempotency_key` (string, required)
- `kind` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `padding_seconds` (number)
- `redact_pii` (boolean)
- `run_id` (string, required)
- `title` (string)

Output parameters:

- `result` (object)

### `get_research_deliverable` (~75 tokens)

Get Research Deliverable

Poll a Hub export. A succeeded job returns a fresh private download_url with source access rechecked at download. Expired or revoked sources cannot be downloaded.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object)

### `cancel_research_deliverable` (~60 tokens)

Cancel Research Deliverable

Cancel a queued or running Hub export. A cancelled worker cannot publish its file.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.

Output parameters:

- `result` (object)

### `inspect_research_session` (~149 tokens)

Inspect Research Session

Read organization Hub sessions, one session, sources, chronological chat history, a durable job, or Studio outputs. Set session_id except when view=sessions; job needs job_id, output needs output_id. Follow next_cursor unchanged as after. Job success includes answer/references or output_id; partial remains explicit. Read the existing output before editing it.

Input parameters:

- `after` (string)
- `job_id` (string)
- `limit` (integer)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_id` (string)
- `session_id` (string)
- `view` (string, required)

Output parameters:

- `result` (object)

### `upload_research_source` (~130 tokens)

Upload Research Source

Attach external evidence to an organization Hub session: TXT, Markdown, CSV, JSON, text PDF or DOCX, up to 10 MB. Send user-provided file bytes as base64. Uploading again creates another source; list sources after an uncertain response before retrying.

Input parameters:

- `data_base64` (string, required): Raw file bytes encoded as standard base64; never a server path or URL.
- `file_name` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `chat_research_session` (~254 tokens)

Chat with Research Session

Wait for a chat answer; if still running, return the same durable job without cancelling it. For study findings, feedback, comparisons and quotations, use this tool with primary File Search and verified quotations. Resolve ambiguous study names first. Reuse the selected Hub session; if absent create one with create_research_session and a stable retry key, inspect sources and add only missing requested studies. Do not resync unchanged sources or broaden the session silently. After completion always call view_research_answer to display the answer and clickable quote/recording cards inside this conversation, without redirecting to a dashboard; preserve the answer and citation labels. Poll inspect_research_session view=job. Set parent_job_id for a follow-up in the same session. Reuse the same idempotency_key and prompt after a timeout; sync and async share the job.

Input parameters:

- `idempotency_key` (string, required)
- `include_synthetic` (boolean)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `parent_job_id` (string)
- `prompt` (string, required)
- `session_id` (string, required)
- `wait_seconds` (integer)

Output parameters:

- `result` (object)

### `queue_research_chat` (~233 tokens)

Queue Research Chat

Queue a chat turn immediately. For study findings, feedback, comparisons and quotations, use this tool with primary File Search and verified quotations. Resolve ambiguous study names first. Reuse the selected Hub session; if absent create one with create_research_session and a stable retry key, inspect sources and add only missing requested studies. Do not resync unchanged sources or broaden the session silently. After completion always call view_research_answer to display the answer and clickable quote/recording cards inside this conversation, without redirecting to a dashboard; preserve the answer and citation labels. Poll inspect_research_session view=job. Set parent_job_id for a follow-up in the same session. Reuse the same idempotency_key and prompt after a timeout; sync and async share the job.

Input parameters:

- `idempotency_key` (string, required)
- `include_synthetic` (boolean)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `parent_job_id` (string)
- `prompt` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `generate_research_output` (~174 tokens)

Generate Research Output

Queue a report, native PowerPoint or saved Highlights video in an organization Hub session. Reuses saved reports and findings; no need to run exhaustive analysis first. Highlights follow default-report learning goals/quotes, with original audio when available and no artificial narration for chat studies; prompt does not select different quotes. Poll inspect_research_session view=job until succeeded; then read its output_id. Retry with the same key.

Input parameters:

- `idempotency_key` (string, required)
- `include_synthetic` (boolean)
- `name` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `prompt` (string, required)
- `session_id` (string, required)
- `template_id` (string)
- `type` (string, required)

Output parameters:

- `result` (object)

### `edit_research_output` (~127 tokens)

Edit Research Output

Apply the requested prompt to an existing report or PowerPoint in place. Read the output first. Retains its ID and reuses saved evidence; default reports and Highlights cannot be edited. Poll inspect_research_session view=job and read the original output after success. Reuse the key on retry.

Input parameters:

- `idempotency_key` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_id` (string, required)
- `prompt` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `rename_research_output` (~77 tokens)

Rename Research Output

Rename an existing Studio output in its session. Default reports cannot be renamed. Read the output first.

Input parameters:

- `name` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_id` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `delete_research_output` (~72 tokens)

Delete Research Output

Permanently delete an existing Studio output in its session only when the user requests deletion. Read the output first.

Input parameters:

- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_id` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `upload_research_template` (~145 tokens)

Upload Research Template

Upload a template up to 5 MB: report Markdown/TXT/DOCX with {{title}} and/or {{findings}} placeholders; presentation 16:9 PPTX theme/layout. Send raw file bytes as base64; pass the returned template id to generate_research_output. Repeated uploads create separate templates.

Input parameters:

- `data_base64` (string, required): Raw file bytes encoded as standard base64; never a server path or URL.
- `file_name` (string, required)
- `kind` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `download_research_output` (~127 tokens)

Download Research Output

Retrieve a saved report as Markdown, PowerPoint as PPTX/PDF, or Highlights as a short-lived private MP4 link. Files return filename, mime_type and data_base64 (up to 64 MB); decode to an artifact rather than showing base64 to the user. Access is checked again. Preserve verified references; never invent download URLs.

Input parameters:

- `format` (string)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `output_id` (string, required)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `get_account` (~86 tokens)

Get Account

Read the effective workspace, role, available credit balance, payment method readiness, and incentive limits before a paid action. A payment method on file does not approve a Panel launch; use the current estimate and its MCP App for human approval.

Input parameters:

- `organization_id` (string): Select an organization you belong to and inspect its account and billing readiness. Use list_organizations when you have multiple memberships.

Output parameters:

- `result` (object): The effective account, workspace, and payment readiness.

### `get_interview_usage_stats` (~110 tokens)

Interview Usage Stats

Aggregate eligible non-test interview counts and billed units over a date range. The backend resolves the default app and a 30-day UTC range when omitted. The response includes the applied scope.

Input parameters:

- `app_id` (string): Optional app scope.
- `cadence` (string)
- `end_date` (string): ISO date.
- `organization_id` (string): Select an organization you belong to for usage totals. Users can belong to multiple organizations.
- `start_date` (string): ISO date.

Output parameters:

- `result` (object): Eligible interview counts, billed units, and resolved query scope.

### `review_study` (~56 tokens)

Review Study Plan

Open an interactive, read-only view of the saved study plan and current fielding progress. The view does not approve a plan or launch recruitment. Ask the human for approval separately before fieldwork.

Input parameters:

- `study_id` (string, required)

Output parameters:

- `progress`
- `study`

### `view_research_answer` (~144 tokens)

View Research Answer

Show the full answer in this MCP chat with clickable verified quotes and original recordings. Always use this App after research chat; never substitute an external dashboard link. Use after chat_research_session or queue_research_chat; pending jobs can be checked here. Keep session_id and job_id for follow-ups. Set reference_label to read one cited quotation and its transcript/recording context. Preserves backend citation labels; never invent sources.

Input parameters:

- `job_id` (string, required)
- `organization_id` (string): Organization for this operation and billing. Use list_organizations to choose an active membership.
- `reference_label` (string)
- `session_id` (string, required)

Output parameters:

- `result` (object)

### `launch_panel` (~285 tokens)

Review Panel Launch

Open the MCP App for human review of the saved study plan and complete current panel estimate. The first call only previews and does not spend. For App clients, a human must click Approve and launch in the App. For clients without MCP Apps, return the saved plan and quote in chat, ask the human to confirm, then call this tool again with the returned chat_approval_nonce and human_confirmed=true. Never infer confirmation from a prior study or quote. The estimate must match the study, country, inputs, balance and price at approval time.

Input parameters:

- `chat_approval_nonce` (string)
- `country_code` (string, required): Required explicit country code from userintuition://catalog/panel-countries. Never infer a country.
- `estimate_id` (string, required): Current estimate identifier from estimate_panel. Paid launch fails if the study, inputs, balance, or price changed, or the estimate expired.
- `frequency` (string)
- `human_confirmed` (boolean)
- `idempotency_key` (string): Reuse the same key and inputs if a prior call timed out. A different operation needs a new key.
- `incident_rate` (number, required): Percentage points. Values below 10 require submit_feasibility_request instead of direct launch.
- `organization_id` (string)
- `study_id` (string, required)
- `target` (integer, required)

Output parameters:

- `approval_method` (string)
- `chat_approval_nonce` (string)
- `estimate`
- `launch`
- `result`
- `status` (string)
- `study`

### `approve_panel_launch` (~45 tokens)

Approve and Launch Panel

MCP App button action. Consumes one short-lived approval challenge, rechecks the saved study and price, then launches one paid panel cycle.

Input parameters:

- `approval_nonce` (string, required)

Output parameters:

- `result`

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp#diagnostics

## Score history

- 2026-11-05: 75
- 2026-11-04: 75
- 2026-11-03: 75
- 2026-11-02: 75
- 2026-11-01: 75
- 2026-10-31: 75
- 2026-10-30: 75
- 2026-10-29: 75
- 2026-10-28: 74
- 2026-10-27: 75
- 2026-10-26: 74
- 2026-10-25: 74
- 2026-10-24: 73
- 2026-10-23: 73
- 2026-10-22: 72
- 2026-10-21: 72
- 2026-10-20: 57
- 2026-10-19: 71
- 2026-10-18: 72
- 2026-10-17: 71
- 2026-10-16: 71
- 2026-10-15: 70
- 2026-10-14: 70
- 2026-10-13: 33
- 2026-10-12: 33
- 2026-10-11: 33
- 2026-10-05: 67
- 2026-10-04: 66
- 2026-10-03: 40
- 2026-10-02: 40

## Common questions

### What is the User Intuition MCP server?

User Intuition is an MCP server listed in the public MCP registry as ai.userintuition/research. Run AI-moderated qualitative interviews with real people from any MCP client; cited findings. This page covers its npm package (@userintuition-ai/mcp).

### Is the User Intuition MCP server safe to use?

User Intuition scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the User Intuition MCP server expose?

User Intuition exposes 79 tools: list_organizations, list_studies, create_study, customize_study, queue_customize_study, and 74 more. Their descriptions and schemas cost roughly 9,178 tokens of context every time the server is loaded.

### Is the User Intuition MCP server still maintained?

User Intuition is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the User Intuition MCP server under?

User Intuition declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@userintuition-ai/mcp
- Socket report: https://socket.dev/npm/package/@userintuition-ai/mcp
- Changelog RSS feed: https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp.json
- HTML version of this page: https://verifymcp.io/servers/ai-userintuition-research/userintuition-ai-mcp
