com.zernote/zernote

Zernote

User research workspace to transcribe interviews and turn conversations into insights.

Endpointhttps://zernote.com/mcp (streamable-http)
Registry version1.0.0
Now17 tools · grade C (75) · pin ts_7f56f6d072ffab5c736aceed3e70b567 · protocol 2025-06-18
First / last listed2026-10-26 01:14 UTC / 2026-10-26 01:14 UTC
Grade over time2026-10-26: C (75), 17 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 01:14 UTC
17 tools, grade C (75)

Tools: get-skills projects_read projects_edit guides_read guides_create guides_edit interviews_read interviews_edit search cards_read insights_read jtbd_read jtbd_edit upload_interview mcp_prepare_upload mcp_sign_upload_parts mcp_confirm_upload

Current tools (17)

get-skillsUse 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.
params: id
projects_readRead existing research folders. Not for a new startup idea or office hours — call get-skills first. action=list returns projects for the authenticated user.
params: action*, limit, offset
projects_editCreate or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet.
params: action*, description, id, name
guides_readRead 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.
params: project_id*
guides_createCreate 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 guides_edit. Core does not show the guide. Live reads it on the project.
params: blocks*, intro, notes_template, project_id*
guides_editReplace 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 question; the next indented line is the question note. A paragraph under the block heading before the first
params: markdown*, project_id*
interviews_readRead 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 interviews sharing voice_identity_id. Use summary_mode=brief for renaming or folder triage. Use summary_mod
params: action*, around_chunk_index, folder_id, id, inbox_only, limit, notes_mode, offset, project_id, radius_chars, summary_mode
interviews_editRename, 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 again; analyze-only, keeps notes). assign_speakers needs id+speaker_labels+assigned_names. For voicepri
params: action*, assigned_names, enabled, folder_id, id, interview_ids, language, notes, project_id, speaker_labels, summary, title
searchSemantic 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 cite hits to the user as markdown ["verbatim quote from text"]({base_url}/project/interview/{id}?t=
params: chunks_limit, chunks_offset, interview_id, limit, query*
cards_readList 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 quote"]({base_url}/project/interview/{id}?t={seconds}) using item.url from the tool result (already abs
params: codes, folder_id, interview_id, interview_ids, lens, limit, offset, project_id
insights_readRead 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: insight | interview | group | ungrouped. CITATION REQUIRED: actively cite each item.quote as markdown ["
params: action*, folder_id, group_id, group_name, id, insight_ids, interview_id, limit, node_type, offset, project_id, ungrouped_only
jtbd_readRead 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).
params: action*, folder_id, interview_id, project_id, segment_id
jtbd_editEdit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job.
params: action*, category, folder_id, human_edited, i_want_to, interview_id, job_id, language, name, project_id, segment_id, so_that, to_segment_id, when
upload_interviewOpens 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/video starts transcription; text/PDF become ready immediately (no speaker diarization). Claude can name
params: none
mcp_prepare_uploadApp-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.
params: content_type, filename*, interview_id, size_bytes*, title, upload_id
mcp_sign_upload_partsApp-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe).
params: interview_id*, object_key*, part_numbers*, upload_id*
mcp_confirm_uploadApp-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.
params: filename*, interview_id*, language*, multipart_parts, multipart_upload_id, object_key*, size_bytes*, title

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.