com.zernote/zernote · v1.0.0 · productivity
Zernote is healthy: it completed an MCP handshake in 1785 ms and exposes 17 tools.
User research workspace to transcribe interviews and turn conversations into insights.
Endpoint: https://zernote.com/mcp (streamable-http)
No repository listed · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 17 |
| Latency | 1785 ms |
| Last checked (UTC) | 2026-10-16T01:40:10.194Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-16T01:40:10.194Z | Healthy | 1785 | |
| 2026-10-14T23:00:38.563Z | Healthy | 3010 |
get-skills | Use for startup ideas, office hours, and “I installed this connector to work through an idea”. Inside: office-hours-zernote (challenge the idea), zernote-plan-research. Omit id for the catalog, then pass id for the full playbook. Not for listing interviews or projects. Works without login. |
projects_read | Read existing research folders. Not for a new startup idea or office hours — call get-skills first. action=list returns projects for the authenticated user. |
projects_edit | Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet. |
guides_read | Read the interview guide stored on a project. The guide has an intro, ordered blocks (title, minutes, questions, notes), total time, a notes template, and any markdown that did not parse. Returns an empty guide when the project has none. |
guides_create | Create the first interview guide on a project. Use this to upload a new guide. Pass structured fields, not markdown: intro, blocks (title, minutes, notes, questions with text/note/key), and notes_template. Needs at least one block with a title. Fails if the project already has a guide — then use gui |
guides_edit | Replace an existing interview guide from markdown. To create the first guide, call guides_create. Text before the first ## is the intro. ## Title (12) or ## Title (7–11) is a block; minutes are the last number in parentheses. Lines starting with - or 1. are questions; a leading * marks a key questio |
interviews_read | Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pending_speakers / hint): when true, show interviewer quote links then confirm via assign_speakers; one identity confirm backfills other intervi |
interviews_edit | Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ optional project_id); write_summary needs id+summary; write_notes needs id+notes; retranscribe needs id+language (charges transcription tokens aga |
search | Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview and returns smaller text windows. Returns matching_chunks[{chunk_index, text, similarity, start_seconds?, url}]. CITATION REQUIRED: actively |
cards_read | List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, codes (any match), or lens (workflow|gtm|privacy|other). CITATION REQUIRED: actively cite each card.quote to the user as markdown ["verbatim quo |
insights_read | Read the project Insights graph in pages or by node. action=list returns a compact folder-wide outline (groups + interviews) plus a page of insight bodies. Filter with interview_id, group_id (DB UUID, not UI group-0), group_name, insight_ids, or ungrouped_only. action=get_node returns one node: insi |
jtbd_read | Read JTBD job graph segments and trees. action=list_segments needs folder_id/project_id. action=get_tree needs segment_id or interview_id. CITATION REQUIRED: cite job quotes as ["text"](interview_url). |
jtbd_edit | Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job. |
upload_interview | Opens the in-Claude MCP Apps widget "Upload To Zernote" so the user can drop a file into Inbox in this chat (audio/video max 2GB; text .txt/.md or PDF max 50MB). Use when the user wants to upload/add an interview or get started on an empty account — this is the usual ingest path in Claude. Audio/vid |
mcp_prepare_upload | App-only: create an Inbox interview and return a presigned R2 upload URL (or multipart upload_id for large files). Pass interview_id (+ upload_id for multipart) to resume without a new card. |
mcp_sign_upload_parts | App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe). |
mcp_confirm_upload | App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (.txt/.md) and PDF are stored and marked ready immediately — no transcription. |