@somacheck/vibecheck 0.6.10 → 0.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,212 @@
1
+ ---
2
+ title: Great Question + SomaCheck Research Reflection
3
+ recipe_id: great-question-research-reflection-v1
4
+ status: P1 researcher-private, read-only partner-sandbox validation
5
+ audience: Researchers using Great Question with an MCP-capable agent
6
+ updated: 2026-09-05
7
+ required_mcp_servers:
8
+ - great-question
9
+ - vibecheck
10
+ ---
11
+
12
+ # Great Question + SomaCheck Research Reflection
13
+
14
+ This recipe gives a researcher one private SomaCheck check-in while reviewing a
15
+ participant-free Great Question test artifact provisioned by a product or
16
+ integration owner. The observable result is a copy-ready research plan informed
17
+ by the artifact's safe structure. Great Question remains unchanged. No
18
+ candidate, participant, transcript, response, session, highlight, or insight is
19
+ read, assessed, or changed.
20
+
21
+ The researcher interacting with the agent must hold the phone and be the subject
22
+ of the proposition. A reading is context for reflection—not truth, diagnosis,
23
+ authorization, evidence about another person, or a research decision.
24
+
25
+ ## Researcher experience
26
+
27
+ The product or integration owner supplies a partner sandbox and names one
28
+ participant-free test study. The researcher holds the phone and asks the agent
29
+ to review only that artifact's safe study structure. The agent drafts two
30
+ five-question framings, offers one optional SomaCheck check-in on the
31
+ researcher's own intended direction, receives Aligned or Unaligned plus
32
+ confidence, and uses that context with its judgment before asking what the
33
+ researcher chooses. The agent returns a signal-free, copy-ready research plan.
34
+ It does not create, update, launch, or delete anything in Great Question.
35
+
36
+ ## Starter prompt
37
+
38
+ ```text
39
+ Use Great Question and SomaCheck to help me reflect on a five-question test
40
+ survey plan without changing Great Question. I am the researcher and I am
41
+ holding the phone. The product or integration owner has provisioned a partner
42
+ sandbox and named this participant-free test study: [TEST STUDY NAME OR ID].
43
+ Read only that study's safe title, purpose, and question structure with
44
+ get_survey_study. Do not search or list the workspace, and do not read
45
+ candidates, participants, screeners, responses, sessions, transcripts,
46
+ recordings, highlights, insights, reels, or other workspace data. Propose two
47
+ neutral study framings and show their exact questions. Then offer one short
48
+ first-person proposition about my own preferred framing and wait for my
49
+ acceptance before any proactive SomaCheck ask. Give the agent the Aligned or
50
+ Unaligned result plus confidence as context and let it use that context with
51
+ its judgment. Ask what I choose in words. Keep the proposition, reading,
52
+ confidence, and my confirmation out of Great Question. Return a signal-free,
53
+ copy-ready research plan only. Do not create, update, delete, recruit, invite,
54
+ message, schedule, incentivize, launch, publish, or otherwise write to Great
55
+ Question. Do not ask me to sign up, upgrade, purchase, administer access, or
56
+ populate Great Question data.
57
+ ```
58
+
59
+ ## Prerequisites and account access
60
+
61
+ 1. A product or integration owner has provisioned an organization-authorized
62
+ Great Question connection or partner sandbox at
63
+ `https://greatquestion.co/api/mcp/v1`, with PII hiding enabled. Running this
64
+ recipe does not ask the researcher to sign up, upgrade, purchase, administer
65
+ access, or populate Great Question data.
66
+ 2. The owner has supplied one clearly named, participant-free test study and
67
+ granted read access to that exact artifact through `get_survey_study`.
68
+ 3. The client restricts the Great Question half to `get_survey_study` for that
69
+ owner-supplied ID. No discovery or mutation tool is approved.
70
+ 4. The `vibecheck` server is connected to the researcher's SomaCheck account
71
+ and exposes `request_vibecheck` and `get_vibecheck_result`.
72
+
73
+ ## Great Question tool policy
74
+
75
+ Great Question exposes a broad read/write MCP. This recipe uses an exact
76
+ allowlist.
77
+
78
+ | Purpose | Tool | Rule |
79
+ | --- | --- | --- |
80
+ | Read the supplied test artifact | `get_survey_study` | Read only the exact owner-supplied study ID and use only safe title, purpose, and question structure |
81
+ | Private reflection | `request_vibecheck`, optional `get_vibecheck_result` | One decision, one request, stable pending handle |
82
+ | Study discovery | `list_studies`, `search_studies`, `list_survey_studies`, `search_survey_studies` | Not needed; do not call |
83
+ | Candidates and recruitment | All candidate, participant, segment, screener-invitation, scheduling, moderator, and message tools | Prohibited |
84
+ | Human research data | All response, session, transcript, highlight, insight, reel, file, and recording tools | Prohibited |
85
+ | All mutations | Create, update, delete, template-apply, screener, recruitment, and unmoderated/interview tools | Prohibited |
86
+
87
+ Do not grant “always allow” to Great Question's whole server. Client-side tool
88
+ approval or an allowlist should restrict this test to `get_survey_study` for the
89
+ owner-supplied artifact.
90
+
91
+ ## Exact cross-MCP workflow
92
+
93
+ 1. **Confirm subject and scope.** State that the researcher is the phone holder
94
+ and proposition subject. Name the owner-supplied test study.
95
+ 2. **Read only the supplied artifact.** Call `get_survey_study` only for the
96
+ exact owner-supplied ID. Use only safe title, purpose, and question structure.
97
+ Do not search Great Question or retrieve any participant-bearing source.
98
+ 3. **Draft two options.** Provide two neutral framings, each with exactly five
99
+ questions, and explain the tradeoff. Label source facts, agent
100
+ interpretation, and suggestions separately.
101
+ 4. **Choose one proposition.** It must be short, first-person, and about the
102
+ researcher's own current direction, such as “I want this study to focus on
103
+ the moment a user decides whether to continue.” It must not include
104
+ participant claims, Great Question identifiers, or questionnaire text copied
105
+ from the platform.
106
+ 5. **Establish one-ask consent.** If the researcher requested SomaCheck in the
107
+ current message, use `consent_basis: "user_requested_vibecheck"`. Otherwise
108
+ display the exact proposition and wait for acceptance before using
109
+ `consent_basis: "user_approved_statement"`.
110
+ 6. **Request once.** Call `request_vibecheck` with the approved statement and a
111
+ fresh UUID `idempotency_key`. Reuse that key only after an ambiguous request
112
+ failure for the exact same statement.
113
+ 7. **Handle lifecycle accurately.** `request_vibecheck` reports a terminal
114
+ answer as `state: "completed"`; a later `get_vibecheck_result` reports it as
115
+ `status: "answered"`. If pending, keep the `live:<uuid>` handle and read it
116
+ once later. If still pending, expired, cancelled, or errored, continue
117
+ without a result. Never issue a replacement ask.
118
+ 8. **Use the signal as context.** Give the agent only the proposition, Aligned
119
+ or Unaligned reading, and confidence. Let it combine that context with the
120
+ conversation and its judgment. Keep observation, interpretation,
121
+ confirmation, and choice distinct.
122
+ 9. **Ask the researcher to choose in words.** Their typed answer controls what
123
+ follows and may differ from the signal.
124
+ 10. **Return a copy-ready plan.** Include only a test title, goal/purpose,
125
+ language, and the five questions. Do not attach an incentive, consent form,
126
+ screener, candidates, recruitment settings, or send settings.
127
+ 11. **End without a partner write.** State that Great Question remained
128
+ unchanged and name the single Great Question read tool called.
129
+
130
+ ## Proposition examples
131
+
132
+ Allowed:
133
+
134
+ - “I want this study to focus on initial comprehension.”
135
+ - “I want these two research questions kept separate.”
136
+ - “This wording reflects what I am trying to learn.”
137
+ - “I am ready to save this as a test study.”
138
+
139
+ Not allowed:
140
+
141
+ - “This candidate is suitable for the study.”
142
+ - “These participants will answer honestly.”
143
+ - “This response is high quality.”
144
+ - “This study proves users want the feature.”
145
+
146
+ ## Visible success condition
147
+
148
+ The end-to-end test passes only when:
149
+
150
+ - the researcher receives at most one optional SomaCheck request on their phone;
151
+ - the agent uses Aligned or Unaligned plus confidence as context and asks the
152
+ researcher for their choice;
153
+ - `get_survey_study` reads only the exact owner-supplied test artifact;
154
+ - the agent returns a signal-free, copy-ready five-question plan;
155
+ - Great Question remains unchanged; and
156
+ - no candidate, participant, response, transcript, scheduling, messaging,
157
+ incentive, invitation, or recruitment action occurred.
158
+
159
+ ## Failure and degraded paths
160
+
161
+ - **MCP access or owner-supplied artifact missing:** Do not ask the researcher to
162
+ sign up, upgrade, purchase, administer access, or populate Great Question.
163
+ Return a copy-ready plan from the supplied brief, tell the product or
164
+ integration owner what is missing, and label the platform half untested.
165
+ - **Permission denied:** Do not broaden workspace permissions. Preserve the
166
+ copy-ready plan and stop.
167
+ - **Runtime exposes only broad or write tools:** Do not call them. Return the
168
+ copy-ready plan and label the platform half untested.
169
+ - **SomaCheck unresolved:** Use the same handle once later, then proceed without
170
+ a reading if unresolved.
171
+ - **Unreadable capture:** Offer a retry only if the researcher wants it.
172
+ - **The researcher's words differ from the reading:** Follow their typed choice
173
+ without reconciliation or repetition.
174
+
175
+ ## Privacy boundary
176
+
177
+ - Raw phone motion never reaches Great Question or the agent.
178
+ - Great Question receives no proposition, reading, confidence, confirmation,
179
+ or gesture metadata.
180
+ - SomaCheck receives no Great Question study ID, questions, participant data,
181
+ transcript, recording, response, or credential.
182
+ - No participant or candidate data is read into the agent conversation.
183
+ - The copy-ready plan contains only researcher-approved, signal-free research
184
+ copy and is not written to Great Question.
185
+
186
+ ## Test checklist
187
+
188
+ - [ ] The researcher is the phone holder and proposition subject.
189
+ - [ ] A product or integration owner provisioned the partner sandbox, exact
190
+ participant-free test artifact, OAuth connection, and PII hiding.
191
+ - [ ] Client approval is limited to `get_survey_study` for the exact
192
+ owner-supplied artifact.
193
+ - [ ] No workspace discovery, candidate, participant, response, transcript,
194
+ other-artifact, scheduling, message, or invitation tool is called.
195
+ - [ ] The proposition is first-person and contains no platform or participant
196
+ content.
197
+ - [ ] At most one SomaCheck request is created for the choice.
198
+ - [ ] Observation, interpretation, confirmation, and choice remain separate.
199
+ - [ ] The researcher states a choice and receives a copy-ready, signal-free
200
+ five-question plan.
201
+ - [ ] No create, update, delete, publish, launch, or other partner write occurs.
202
+ - [ ] No incentive, screener, candidate, recruitment, invitation, session, or
203
+ participant contact exists.
204
+ - [ ] No SomaCheck field or text is present in Great Question.
205
+
206
+ ## Sources
207
+
208
+ - [Great Question MCP overview](https://greatquestion.co/support/integrations/mcp)
209
+ - [Great Question MCP setup](https://greatquestion.co/support/integrations/mcp-setup)
210
+ - [Great Question MCP tools and data handling](https://greatquestion.co/support/integrations/mcp-available-tools)
211
+ - [SomaCheck MCP setup and tool behavior](../README.md)
212
+ - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
@@ -0,0 +1,325 @@
1
+ ---
2
+ title: Maze + SomaCheck Research Reflection
3
+ recipe_id: maze-research-reflection-v1
4
+ status: P1 researcher-side read-only reflection; authenticated Maze MCP capability required
5
+ audience: Researchers using Maze with an MCP-capable agent
6
+ updated: 2026-09-05
7
+ required_mcp_servers:
8
+ - maze
9
+ - vibecheck
10
+ ---
11
+
12
+ # Maze + SomaCheck Research Reflection
13
+
14
+ This recipe gives a Maze researcher one private SomaCheck check-in while
15
+ shaping the researcher's own interpretation plan for one named Maze study.
16
+ The researcher stays the only person who reads, decides, or acts. The recipe
17
+ reads only study metadata or aggregate summary and performs no Maze write.
18
+
19
+ Maze is a hosted read-only MCP surface (`https://connect.maze.co/mcp`,
20
+ OAuth 2.1). Setup happens in the AI host rather than through a toggle in the
21
+ Maze product UI. Maze's current help pages are inconsistent about Maze-plan
22
+ eligibility, so the authenticated MCP capability response is authoritative for
23
+ the connected account. A team reporting `mcpAccess: true` is an eligible live
24
+ connection regardless of its displayed plan label.
25
+
26
+ The SomaCheck reading is context for the researcher's own interpretation
27
+ plan. It is not truth, diagnosis, authorization, evidence about a Maze
28
+ participant, or a research decision. The researcher remains the authority.
29
+
30
+ ## Capability and access boundary
31
+
32
+ Maze documents the hosted MCP as read-only and OAuth 2.1 authenticated at
33
+ `https://connect.maze.co/mcp`. The product or integration owner provisions it
34
+ in a supported MCP host and makes an authorized organization connection or
35
+ partner sandbox available to the researcher. Verify the provisioned access by
36
+ calling the runtime account/team-details capability and requiring
37
+ `mcpAccess: true` for the selected team. Do not infer access from a plan name
38
+ or look for a Maze-side MCP toggle. Running this recipe never asks the
39
+ researcher to sign up, upgrade, administer access, or populate Maze data.
40
+
41
+ This P1 recipe is researcher-side only. Do not use it to:
42
+
43
+ - ask a Maze participant, respondent, tester, employee, candidate, patient,
44
+ or student to complete a SomaCheck;
45
+ - retrieve transcripts, session recordings, heatmaps, click maps, mission
46
+ answers, participant identifiers, contact fields, demographic exports,
47
+ free-text fields, or any row-level Maze data;
48
+ - use a reading for participant recruitment, targeting, eligibility,
49
+ payment, ranking, stress detection, truth detection, deception
50
+ detection, preference quality, survey validity, research validity,
51
+ employee engagement, performance, mental health state, authenticity,
52
+ or quality scoring;
53
+ - write a SomaCheck reading, confidence, gesture, confirmation, or hidden
54
+ score into Maze, a hidden field, a webhook payload, a comment, a tag, a
55
+ highlight, an insight, an automation, or any analytics record;
56
+ - create, edit, publish, delete, archive, export, share, duplicate, or
57
+ otherwise mutate any Maze study, block, mission, prototype, folder,
58
+ report, insight, or theme; or
59
+ - run a live participant workflow.
60
+
61
+ Participant-facing use stays blocked until a `respondent_private`
62
+ architecture prevents researcher or platform access to individual readings,
63
+ methodology and ethics review is complete, and Sensie gives explicit
64
+ privacy/legal approval. Maze MCP access, plan status, or participant consent
65
+ alone does not satisfy these gates.
66
+
67
+ ## Experience a researcher can run
68
+
69
+ The researcher holds the phone and selects one existing study supplied by the
70
+ workspace owner. The agent reads only that study's safe metadata (name,
71
+ description, status, mission list, block list, settings) or one aggregate
72
+ summary (mission completion rates, time on task, success-rate aggregate,
73
+ summary counts). It does not open transcripts, response rows, participant
74
+ identifiers, recordings, or free-text fields. The agent offers two defensible
75
+ interpretation framings and one short first-person proposition about the
76
+ researcher's own interpretation plan. After the researcher's typed choice,
77
+ the agent stops. There is no Maze write.
78
+
79
+ ## Starter prompt
80
+
81
+ ```text
82
+ Use Maze and SomaCheck to help me reflect on my own interpretation plan
83
+ for one named Maze study. I am the researcher and I am holding the phone.
84
+ The study is: [STUDY NAME OR ID PROVIDED BY THE WORKSPACE OWNER]. Use only
85
+ the preconfigured official hosted read-only Maze MCP at
86
+ https://connect.maze.co/mcp. Read only that study's safe metadata (name,
87
+ description, status, mission list, block list, settings) or one aggregate
88
+ summary (mission completion rates, time on task, success-rate aggregates,
89
+ summary counts). Do not retrieve
90
+ transcripts, session recordings, heatmaps, click maps, mission answers,
91
+ participant identifiers, contact fields, demographic exports, free-text
92
+ fields, themes, highlights, or any row-level Maze data. Propose two
93
+ defensible interpretation framings. Then offer one short first-person
94
+ proposition about my own interpretation plan and wait for my acceptance
95
+ before any proactive SomaCheck ask. Treat Aligned or Unaligned plus
96
+ confidence as context, not truth, diagnosis, authorization, or evidence
97
+ about a Maze participant. Ask what I choose in words. Keep the
98
+ proposition, reading, confidence, and my confirmation out of Maze. Do
99
+ not create, edit, publish, delete, archive, export, share, tag, comment,
100
+ or write to Maze, a hidden field, a webhook, or any analytics record.
101
+ Continue when the authenticated selected team reports `mcpAccess: true`.
102
+ Otherwise label the Maze half untested, return the copy-ready plan, tell the
103
+ integration owner what capability is missing, and stop. Do not ask me to sign
104
+ up, upgrade, administer access, or populate Maze data.
105
+ ```
106
+
107
+ ## Prerequisites and account access
108
+
109
+ 1. The researcher can complete a normal SomaCheck request through the connected
110
+ `vibecheck` MCP server (`request_vibecheck` and
111
+ `get_vibecheck_result`).
112
+ 2. A product or integration owner has provisioned an authorized organization
113
+ connection or partner sandbox. Its authenticated Maze MCP reports
114
+ `mcpAccess: true` for the selected team. Do not reject an authenticated team
115
+ because its returned plan label is `Personal`, and do not claim access
116
+ merely from documentation or UI.
117
+ 3. The provisioned MCP client is connected to exactly
118
+ `https://connect.maze.co/mcp` and authenticated through the OAuth 2.1 flow
119
+ Maze publishes. Do not substitute a different host, path, or non-Maze
120
+ endpoint.
121
+ 4. The workspace owner supplies one named existing Maze study (by name or ID)
122
+ that does not require row-level participant data, transcripts, recordings,
123
+ contact fields, or free-text fields for the reflection task. The researcher
124
+ is not responsible for creating or populating it.
125
+ 5. No credential, OAuth token, study ID containing PII, or participant
126
+ identifier appears in chat, logs, prompts, or the SomaCheck
127
+ proposition.
128
+
129
+ ## Maze tool policy
130
+
131
+ Maze publishes a hosted, OAuth 2.1, read-only MCP. The recipe uses the
132
+ smallest tools that answer the researcher's request. Treat the live tool
133
+ list as runtime-discovered; do not assume undocumented tool names.
134
+
135
+ | Purpose | Allowed surface | Rule |
136
+ | --- | --- | --- |
137
+ | Resolve the named study | runtime-discovered study lookup or list | Read only the named study; never list every workspace study or participant row |
138
+ | Read study metadata | runtime-discovered study detail / mission list / block list / settings | Read only the named study's metadata; treat status, description, mission list, and block list as metadata |
139
+ | Read one aggregate summary | runtime-discovered aggregate or summary tool, if exposed | One aggregate read (counts, completion rates, time-on-task aggregates, success-rate aggregates); never row-level data |
140
+ | Create, edit, publish, delete, share, archive, export, duplicate, tag, comment | any mutation tool | Prohibited in this recipe |
141
+ | Transcripts, recordings, heatmaps, click maps, mission answers, participant identifiers, contact fields, demographics, free-text fields, themes, highlights, insights | any row-level or participant-bearing tool | Prohibited in this recipe |
142
+ | Webhooks, automations, exports, analytics writes | any write side-effect tool | Prohibited in this recipe |
143
+ | Private reflection | `request_vibecheck`, optional `get_vibecheck_result` | One decision, one request, one stable pending handle |
144
+
145
+ Do not broaden a connection to a root or all-tools endpoint to make this
146
+ recipe work. If the runtime does not expose a study-metadata or aggregate
147
+ read, label the Maze half untested and stop.
148
+
149
+ ## Exact cross-MCP workflow
150
+
151
+ 1. **Confirm the subject and scope.** State that the researcher is the phone
152
+ holder and the subject of the proposition. Name the one existing Maze study
153
+ supplied by the workspace owner (by name or ID).
154
+ 2. **Verify Maze access honestly.** Call the authenticated account/team-details
155
+ capability. Continue only when the selected team reports `mcpAccess: true`.
156
+ Treat the runtime capability as authoritative rather than inferring access
157
+ from the plan label or searching for a Maze-side settings toggle.
158
+ 3. **Read only metadata or one aggregate summary.** Call the smallest
159
+ runtime tool that returns the named study's metadata (name,
160
+ description, status, mission list, block list, settings) or one
161
+ aggregate summary (counts, completion-rate aggregates, time-on-task
162
+ aggregates, success-rate aggregates). Do not call any tool that
163
+ returns transcripts, recordings, heatmaps, click maps, mission
164
+ answers, participant identifiers, contact fields, demographic
165
+ exports, free-text fields, themes, highlights, or insights.
166
+ 4. **Separate evidence from interpretation.** Label what the Maze study
167
+ literally contains, what the agent infers, and what the researcher's
168
+ own judgment must still decide.
169
+ 5. **Propose two framings.** Offer two defensible interpretation
170
+ framings the researcher could choose from, with the tradeoff for each.
171
+ 6. **Choose one first-person proposition.** It must be short,
172
+ first-person, and about the researcher's own interpretation plan. Do not include
173
+ Maze IDs containing PII, participant data, transcript text, contact
174
+ fields, free text, themes, or highlights.
175
+ 7. **Establish one-ask consent.** If the researcher explicitly requested a
176
+ SomaCheck check-in in the current message, use
177
+ `consent_basis: "user_requested_vibecheck"`. Otherwise show the
178
+ exact proposition, wait for acceptance, and use
179
+ `consent_basis: "user_approved_statement"`.
180
+ 8. **Request once.** Call `request_vibecheck` with the approved statement
181
+ and a fresh UUID `idempotency_key`. Reuse it only to retry the
182
+ identical request after an ambiguous create failure.
183
+ 9. **Handle the real lifecycle.** A terminal response from
184
+ `request_vibecheck` uses `state: "completed"`; a later read uses
185
+ `status: "answered"`. If the initial response is `pending`, retain the
186
+ returned `live:<uuid>` handle and call `get_vibecheck_result` with
187
+ it once later. If it is still `pending`, `expired`, `cancelled`, or
188
+ errors, continue without a result. Never issue a replacement ask.
189
+ 10. **Return authority.** Separate observation (a valid gesture was
190
+ captured), interpretation (`aligned` or `unaligned` plus model
191
+ confidence), confirmation (what the researcher says), and choice (what the researcher
192
+ decides). `unaligned` may indicate possible inner conflict relative
193
+ to the proposition; it does not name a cause, choose an interpretation,
194
+ or justify a research claim.
195
+ 11. **Ask for words.** Ask the researcher which framing they choose, whether they
196
+ want a third option, or whether they want to stop. Follow their typed
197
+ choice.
198
+ 12. **Keep the signal out of Maze.** Do not call any Maze write, mutation,
199
+ export, webhook, comment, tag, highlight, insight, analytics, or
200
+ hidden-field tool. Do not store the proposition, reading,
201
+ confidence, confirmation, or gesture metadata in Maze.
202
+ 13. **End the test.** Report the exact Maze tool names used and the
203
+ exact metadata or aggregate fields returned, or report the
204
+ copy-ready plan when the Maze half is untested. Do not create,
205
+ edit, publish, delete, archive, export, share, duplicate, or
206
+ otherwise mutate any Maze object.
207
+
208
+ ## Proposition examples
209
+
210
+ Allowed:
211
+
212
+ - "I can interpret this Maze study without reading individual
213
+ transcripts."
214
+ - "I have a clear interpretation plan for the aggregate success-rate
215
+ summary."
216
+ - "I am ready to use only metadata and one aggregate summary for this
217
+ study."
218
+ - "I want to keep the participant data out of my interpretation
219
+ decision."
220
+ - "I can explain what this Maze study is showing without overclaiming."
221
+
222
+ Not allowed:
223
+
224
+ - "This Maze participant is telling the truth."
225
+ - "These Maze testers are engaged."
226
+ - "This mission result is high quality."
227
+ - "These respondents should be paid or rejected."
228
+ - "This Maze study proves my hypothesis."
229
+
230
+ ## Visible success condition
231
+
232
+ The test passes when:
233
+
234
+ - the researcher selects one existing Maze study supplied by a workspace owner
235
+ in a team whose authenticated MCP response reports `mcpAccess: true`;
236
+ - the agent reads only that study's metadata or one aggregate summary
237
+ through the hosted read-only Maze MCP and reports the exact tool
238
+ names used;
239
+ - the agent never calls a row-level, transcript, recording, heatmap,
240
+ click map, mission-answer, participant-identifier, contact, free-text,
241
+ theme, highlight, insight, automation, or write tool;
242
+ - the researcher receives at most one optional SomaCheck check-in on their phone
243
+ on an exact first-person proposition about their own interpretation plan;
244
+ - the agent presents the result as context, asks the researcher to state their
245
+ choice in words, and follows the typed choice;
246
+ - the agent makes no Maze write, mutation, export, share, tag,
247
+ comment, or analytics call; and
248
+ - no Maze participant, respondent, or employee data enters the
249
+ cross-MCP flow.
250
+
251
+ ## Failure and degraded paths
252
+
253
+ - **Authenticated team lacks MCP access:** Label the Maze half untested. Return
254
+ the copy-ready interpretation plan and stop. Never substitute a plan label,
255
+ documentation walkthrough, static/local fixture, or non-Maze endpoint for an
256
+ authenticated organization or partner-sandbox pass.
257
+ - **OAuth 2.1 failure or absent scope:** Report the missing capability to the
258
+ product or integration owner; never request a token in chat or ask the
259
+ researcher to sign up, upgrade, or administer access. Return the copy-ready
260
+ plan and stop.
261
+ - **Runtime exposes only row-level or participant-bearing tools:** Do
262
+ not call them. Label the Maze half untested and stop. Do not broaden
263
+ the connection to make this recipe work.
264
+ - **MCP returns row-level data, participant identifiers, transcripts,
265
+ recordings, free-text fields, themes, highlights, or insights:** Stop
266
+ immediately. Discard the row-level content from the agent context.
267
+ Report the exact fields received and ask the product or integration owner to
268
+ revoke or limit the scope. Do not use the row-level content in any
269
+ proposition, framing, or interpretation.
270
+ - **SomaCheck unresolved:** Use the same `live:<uuid>` handle once
271
+ later, then proceed without a reading if still unresolved.
272
+ - **Unreadable capture:** Offer a retry only if the researcher wants it;
273
+ unreadable is not a third interpretation.
274
+ - **Researcher disagrees with the reading:** Follow the researcher's typed choice
275
+ without reconciliation or repetition.
276
+
277
+ ## Privacy boundary
278
+
279
+ - Raw phone motion never reaches Maze or the agent.
280
+ - Maze receives no proposition, reading, confidence, confirmation,
281
+ gesture metadata, or row-level participant data through this recipe.
282
+ - SomaCheck receives no Maze study ID containing PII, mission text,
283
+ participant data, transcript, recording, contact field, free-text
284
+ field, theme, highlight, or insight.
285
+ - No Maze participant, respondent, or employee data is read into the
286
+ agent conversation, prompt, proposition, framing, or memory.
287
+ - The Maze workspace remains unchanged. No mutation, write, export,
288
+ share, tag, comment, automation, webhook, or analytics call occurs.
289
+
290
+ ## Test checklist
291
+
292
+ - [ ] The researcher is the phone holder and the subject of the proposition.
293
+ - [ ] The authenticated Maze team reports `mcpAccess: true`; its plan label is
294
+ recorded only as context and is not used to override the capability.
295
+ - [ ] The MCP client is connected to exactly
296
+ `https://connect.maze.co/mcp` through Maze's OAuth 2.1 flow; no
297
+ other host, path, or non-Maze endpoint is used.
298
+ - [ ] No Maze credential or OAuth token appears in chat, logs, or the
299
+ SomaCheck proposition.
300
+ - [ ] The agent reads only metadata or one aggregate summary of the
301
+ named study and reports the exact runtime tool names used.
302
+ - [ ] The agent does not call any transcript, recording, heatmap,
303
+ click map, mission-answer, participant-identifier, contact,
304
+ free-text, theme, highlight, insight, automation, or write tool.
305
+ - [ ] The proposition is first-person and contains no Maze IDs
306
+ containing PII, participant data, transcripts, contact fields,
307
+ free-text fields, themes, or highlights.
308
+ - [ ] At most one SomaCheck request is created for the choice.
309
+ - [ ] Observation, interpretation, confirmation, and choice remain
310
+ separate.
311
+ - [ ] The researcher states a choice in words and the agent follows the typed
312
+ choice.
313
+ - [ ] The agent makes no Maze mutation, write, export, share, tag,
314
+ comment, or analytics call.
315
+ - [ ] No Maze participant, respondent, or employee data enters the
316
+ cross-MCP flow.
317
+
318
+ ## Sources
319
+
320
+ - [Maze MCP support article](https://help.maze.co/articles/3603930517-maze-mcp)
321
+ - [Set up Maze MCP](https://help.maze.co/articles/8675970764-set-up-maze-mcp)
322
+ - [Maze product help](https://help.maze.co/)
323
+ - [SomaCheck MCP setup and tool behavior](../README.md)
324
+ - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
325
+ - [MCP Customer-Testable Experience Catalog](../../../docs/agent-adoption/customer-experience-catalog.md)