{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2af9w4fv46md","handle":"zerowidth-prism","url":"https://wellknown.network/agents/zerowidth-prism","links":{"self":"https://wellknown.network/agents/zerowidth-prism/record.json","html":"https://wellknown.network/agents/zerowidth-prism","markdown":"https://wellknown.network/agents/zerowidth-prism/record.md","api":"https://wellknown.network/api/v1/agents/zerowidth-prism","status":"https://wellknown.network/api/v1/agents/zerowidth-prism/status","claim":"https://wellknown.network/agents/zerowidth-prism/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/zerowidth-prism/claim.json","badge":"https://wellknown.network/agents/zerowidth-prism/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/zerowidth-prism/history","tools":"https://wellknown.network/api/v1/agents/zerowidth-prism/tools"},"ard":{"identifier":"urn:air:api.zerowidth.ai:server:zerowidth-prism","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ZeroWidth Prism","summary":"Explore ideas in Prism fields, run studies, and read research findings.","description":"Explore ideas in Prism fields, run studies, and read research findings.","publisher":{"name":"ai.zerowidth","url":null},"homepage":"https://zerowidth.ai/docs/overview/mcp#connect-to-one-product","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.zerowidth.ai/mcp/x/prism","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-07T14:20:44.223811Z","publishedAt":"2026-10-07T14:20:44.223811Z","registryName":"ai.zerowidth/prism"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"code.documentation","name":"Code Documentation","confidence":0.583,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.54,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["automation","code","commerce","content","knowledge","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-26T22:26:00.110Z","lastProbedAt":"2026-10-26T22:26:00.110Z","statusComputedAt":"2026-10-26T22:27:27.241Z","reliability30d":{"probes":64,"successRate":1,"p50Ms":352,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":64,"ok":64,"authBoundaryOk":0,"serviceOk":64,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-26T22:26:00.110Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":221,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T15:32:24.500Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":296,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T08:24:32.193Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":327,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T00:29:21.237Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":300,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T17:27:51.384Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":437,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T09:29:40.987Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":205,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T02:26:56.915Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":228,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T19:27:01.016Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":342,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T13:28:22.002Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":301,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T06:27:29.357Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":366,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"toolCount":52,"toolsHash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","serverName":"zerowidth-mcp","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_docs","description":"Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z"},{"name":"get_doc","description":"Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica"},{"name":"list_docs","description":"Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `"},{"name":"prism_fields_list","description":"Lists Prism fields (idea-exploration canvases) in the active workspace: name, origin idea, node count. Fetch one with `prism_fields_get` for its nodes."},{"name":"prism_fields_get","description":"One field's full tree: every node (id, parent, axis, description, pinned, color, whether it has an image / desk research) plus the AI-clustered groups. The orig"},{"name":"research_findings_list","description":"Cross-instrument findings for one subject (today: a Prism node) — attached feedback studies with response counts + theme counts, and whether desk research exist"},{"name":"prism_fields_create","description":"Creates a field from an origin idea — the seed of an exploration canvas. Counts against the workspace's field quota. May return `needs_confirmation` — tell the "},{"name":"prism_nodes_expand","description":"THE core Prism gesture: generate variations of a node along a named semantic axis ('more visceral', 'for the skeptic', 'stripped to essentials'…) in one of four"},{"name":"prism_nodes_update","description":"Sets pinned state and/or the color tag on a node. Pins are the cross-field shortlist. May return `needs_confirmation`."},{"name":"prism_nodes_research","description":"Web-sourced secondary research on a node's idea — market context with citations, stored on the node. depth 'thorough' runs three angled passes (market, evidence"},{"name":"prism_studies_list","description":"Feedback studies attached to one Prism node: title, question count, response count, open/closed."},{"name":"prism_studies_get","description":"One study's questions, response count, open/closed state, and the STORED analysis (summary + themes with strength; insights.activeRun set = an analysis is runni"},{"name":"prism_studies_draft","description":"Generates a short study (5-8 questions probing the node's problem space — respondents never see the idea itself) and creates it as a DRAFT. The user reviews, pr"},{"name":"prism_studies_draft_standalone","description":"Generates and creates a DRAFT study that isn't tied to any canvas node — brand tracking, workspace-level research, anything you can describe in a sentence. It a"},{"name":"prism_studies_draft_from_interviews","description":"Qual-first design: drafts a survey GROUNDED in the study's completed interviews — the recurring claims become measurable questions, the tensions become the choi"},{"name":"prism_studies_update","description":"publish: true takes a draft live (one-way — the participant link starts working). closed toggles whether a live study accepts responses. Also edits the study: t"},{"name":"prism_studies_results","description":"Everything the Results tab shows, as numbers you can trust without counting raw rows: fielding funnel (opens → starts → completes, median completion time, sourc"},{"name":"prism_research_digest","description":"A cross-study digest: every study with responses — title, origin (standalone / canvas node / tracker wave), response count, latest analysis summary, top themes,"},{"name":"prism_studies_report","description":"An AI research analyst writes the report's narrative layer — executive summary, key findings with their numbers, recommendations — from the study's computed rec"},{"name":"prism_series_list","description":"Recurring research programs (ADR 0031): name, cadence, enabled state, next wave time, wave count, and the metric + score rule when the series posts readings. Wa"},{"name":"prism_series_launch_wave","description":"CLOSES the current wave (no more responses; it scores and posts to Ledger if bound) and fields the next one from the series' frozen instrument, readying its par"},{"name":"prism_interviews_list","description":"The study's one-on-one qual conversations: guest, status, focus, and — once completed — the structured memo (summary, key claims, tensions, verbatim quotes). Ra"},{"name":"prism_studies_segments","description":"The stored k-means segmentation over the study's numeric answers: named segments with size, share, and the distinguishing features (segment mean vs overall). Nu"},{"name":"prism_studies_cut","description":"Server-computed banner cut with significance: a target question (scale/number → group means + NPS on 0–10; choice/multi → per-option shares) split by acquisitio"},{"name":"prism_studies_analyze","description":"Kicks the theme analysis (incremental — reads only responses and interviews since the last run; the previous themes carry forward). Returns immediately with the"},{"name":"prism_interviews_create","description":"Creates a one-on-one AI-led interview on a study and returns the invite link to forward — the guest needs no account. The transcript stays on the study and join"},{"name":"prism_insights_promote","description":"Promotes an analysis theme (or, with no themeId, the analysis summary) into the workspace's Ledger as a belief, carrying the supporting verbatims as evidence wi"},{"name":"prism_studies_segments_compute","description":"Runs k-means over the study's numeric answers (silhouette-picked k) and names the discovered segments from their computed profiles. Needs 30+ responses and 2+ n"},{"name":"prism_fields_update","description":"Edits a field's name (null reverts to the origin idea), description, or visibility. Nodes are untouched. Field ids come from prism_fields_list. May return `need"},{"name":"prism_fields_delete","description":"Removes a field and its whole canvas (soft delete; frees the workspace's field quota). Use when the user is done with an exploration or one was created by mista"},{"name":"prism_studies_list_workspace","description":"All studies regardless of origin — standalone, canvas-node, and series waves — newest first: title, question count, response count, draft / live / closed state,"},{"name":"prism_studies_delete","description":"Permanently deletes a study with its responses, interviews, analysis, and share links. Right for a draft that won't be fielded or a duplicate; for a live study "},{"name":"prism_series_create","description":"Creates a research program that fields the SAME instrument on a schedule — brand tracking, a weekly pulse — each wave an ordinary study. The questions freeze on"},{"name":"prism_series_update","description":"Edits a series: `enabled: false` pauses the schedule (true resumes), interval / scheduleTime / scheduleTimezone / dayOfWeek move the cadence, name and follow-up"},{"name":"prism_panels_draft","description":"Turns a plain description of an audience (\"100 Midwest senior citizens\") into a panel spec: filters on Census and General Social Survey fields, a size, and stat"},{"name":"prism_panels_list","description":"Every synthetic panel the person can see: name, current version (people, status), runs so far, and fit (how far it sat from people the last time a study had bot"},{"name":"prism_panels_get","description":"One panel with its current version and the share of people by every field (assumed fields flagged). Use it to confirm a draw looks like the audience the person "},{"name":"prism_panel_runs_estimate","description":"What running a study against a panel would cost: people, model calls, and approximate dollars of workspace credit. Starts nothing. Tell the person the cost befo"},{"name":"prism_panel_runs_get","description":"Status, progress, spend and the run's own analysis. For the numbers, call prism_studies_results with panelRunId. Synthetic answers are never people's: always sa"},{"name":"prism_panels_create","description":"Saves a panel from a spec (usually from prism_panels_draft) and draws its people from population records in the background, which takes a few seconds. Visible t"},{"name":"prism_panels_run","description":"Starts a background run: every person on the panel answers the study (or, for kind interview, sits with the study's interviewer). Spends workspace credit — give"},{"name":"prism_panel_runs_cancel","description":"Stops a queued, running or paused panel run. Answers already in stay. May return `needs_confirmation`."},{"name":"prism_research_reports_list","description":"Every desk-research report on a study, newest first: id, title, the focus it was asked, depth, status (running / ready / failed) and an excerpt. Read one in ful"},{"name":"prism_research_reports_get","description":"One desk-research report in full: the brief (markdown) and the sources it cites. Its claims are what public sources say, not what anyone at the company told you"},{"name":"prism_research_run","description":"Web-sourced desk research kept as a report on a study, with citations. Steer it with `focus`: research accumulates, a broad sweep first, then narrower runs as t"},{"name":"comments_list","description":"Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the "},{"name":"comments_create","description":"Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu"},{"name":"comments_resolve","description":"Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl"},{"name":"search_workspace","description":"Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa"},{"name":"entity_tags_get","description":"Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it "},{"name":"entity_tags_browse","description":"Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag"},{"name":"entity_tags_set","description":"Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit"}],"package":null,"toolSurface":{"id":"ts_qvbrkec8mppp","endpointId":"ep_vmdyqusj35ak","hash":"15c4f47f2c6bd6ad5aa8b5ebe1070326333c2f7e33c282e481991d2d8fbcb488","toolCount":52,"serverName":"zerowidth-mcp","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-22T08:28:35.592Z","lastSeenAt":"2026-10-26T22:26:00.123Z","observations":17,"toolNames":["search_docs","get_doc","list_docs","prism_fields_list","prism_fields_get","research_findings_list","prism_fields_create","prism_nodes_expand","prism_nodes_update","prism_nodes_research","prism_studies_list","prism_studies_get","prism_studies_draft","prism_studies_draft_standalone","prism_studies_draft_from_interviews","prism_studies_update","prism_studies_results","prism_research_digest","prism_studies_report","prism_series_list","prism_series_launch_wave","prism_interviews_list","prism_studies_segments","prism_studies_cut","prism_studies_analyze","prism_interviews_create","prism_insights_promote","prism_studies_segments_compute","prism_fields_update","prism_fields_delete","prism_studies_list_workspace","prism_studies_delete","prism_series_create","prism_series_update","prism_panels_draft","prism_panels_list","prism_panels_get","prism_panel_runs_estimate","prism_panel_runs_get","prism_panels_create","prism_panels_run","prism_panel_runs_cancel","prism_research_reports_list","prism_research_reports_get","prism_research_run","comments_list","comments_create","comments_resolve","search_workspace","entity_tags_get","entity_tags_browse","entity_tags_set"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_vmdyqusj35ak","url":"https://api.zerowidth.ai/mcp/x/prism","type":"mcp_streamable_http","factsCheckedAt":"2026-10-24T13:28:22.027Z","auth":{"observedAt":"2026-10-24T13:28:22.164Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-24T13:28:22.352Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.zerowidth.ai","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-09-20T12:44:00.000Z","validTo":"2026-12-19T13:38:14.000Z","daysToExpiry":53,"sanCount":1,"fingerprint256":"F5:D5:C9:D2:D4:FC:C0:C3:A8:31:57:BB:67:B5:17:13:8F:B1:61:A7:9E:54:76:D3:D8:3B:79:50:5E:17:44:FB"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.zerowidth/prism","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.zerowidth%2Fprism","firstSeenAt":"2026-10-09T00:19:26.247Z","fetchedAt":"2026-10-24T20:18:55.131Z","normalizedAt":"2026-10-24T20:18:55.131Z"}]},"firstSeenAt":"2026-10-09T00:19:26.247Z","updatedAt":"2026-10-26T22:28:18.213Z"}