{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_gt3zxgr63xrg","handle":"zernote","url":"https://wellknown.network/agents/zernote","links":{"self":"https://wellknown.network/agents/zernote/record.json","html":"https://wellknown.network/agents/zernote","markdown":"https://wellknown.network/agents/zernote/record.md","api":"https://wellknown.network/api/v1/agents/zernote","status":"https://wellknown.network/api/v1/agents/zernote/status","claim":"https://wellknown.network/agents/zernote/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/zernote/claim.json","badge":"https://wellknown.network/agents/zernote/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/zernote/history","tools":"https://wellknown.network/api/v1/agents/zernote/tools"},"ard":{"identifier":"urn:air:zernote.com:server:zernote","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Zernote","summary":"User research workspace to transcribe interviews and turn conversations into insights.","description":"User research workspace to transcribe interviews and turn conversations into insights.","publisher":{"name":"com.zernote","url":null},"homepage":"https://zernote.com","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://zernote.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-24T12:47:30.238316Z","publishedAt":"2026-07-24T12:47:30.238316Z","registryName":"com.zernote/zernote"},"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":"media.speech-recognition","name":"Speech Recognition","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.583,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["ai","content","data","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-11T06:23:18.833Z","lastProbedAt":"2026-10-11T06:23:18.833Z","statusComputedAt":"2026-10-11T06:24:18.817Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":650,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":108,"ok":108,"authBoundaryOk":40,"serviceOk":68,"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-11T06:23:18.833Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":655,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T00:26:00.247Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":605,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T17:29:17.042Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":698,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:28:13.811Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":610,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:26:24.877Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":676,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:26:27.158Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":647,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:12.157Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":687,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:25:19.024Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":626,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:25:25.495Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":648,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:26:32.171Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":622,"error":null,"detail":{"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"toolCount":17,"toolsHash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","serverName":"zernote-mcp","capabilities":["resources","tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get-skills","description":"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-r"},{"name":"projects_read","description":"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."},{"name":"projects_edit","description":"Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet."},{"name":"guides_read","description":"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 m"},{"name":"guides_create","description":"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, quest"},{"name":"guides_edit","description":"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 ## Tit"},{"name":"interviews_read","description":"Read interviews. Typical path: (1) action=list with summary_mode=brief (default) — returns the short # Summary. List items include need_approve_speakers (+ pend"},{"name":"interviews_edit","description":"Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint. action=rename needs id+title; move needs interview_ids (+ option"},{"name":"search","description":"Semantic search for evidence / counter-evidence after you have interview context (e.g. from list/summary). Optional interview_id scopes search to one interview "},{"name":"cards_read","description":"List L2 coded claim-cards (claim + optional quote + chunk_index + lens + codes + start_seconds? + url). Filter by project_id, interview_id / interview_ids, code"},{"name":"insights_read","description":"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. Filt"},{"name":"jtbd_read","description":"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: ci"},{"name":"jtbd_edit","description":"Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job."},{"name":"upload_interview","description":"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)"},{"name":"mcp_prepare_upload","description":"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)"},{"name":"mcp_sign_upload_parts","description":"App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe)."},{"name":"mcp_confirm_upload","description":"App-only: confirm a completed R2 upload (single PUT or multipart) for an Inbox interview. Audio/video is enqueued for transcription (STT + diarization). Text (."}],"package":null,"toolSurface":{"id":"ts_4fac4rjsjv9n","endpointId":"ep_rh87zvwzrgqg","hash":"169a5ead8d6dda441c8b6281a4a85b83e0aa40df45a5165055f43cadb3270beb","toolCount":17,"serverName":"zernote-mcp","serverVersion":"0.2.0","protocolVersion":"2024-11-05","firstSeenAt":"2026-09-29T14:27:22.433Z","lastSeenAt":"2026-10-11T06:23:18.845Z","observations":44,"toolNames":["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"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_rh87zvwzrgqg","url":"https://zernote.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-11T00:26:00.261Z","auth":{"observedAt":"2026-10-11T00:26:00.803Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://zernote.com/.well-known/oauth-protected-resource/mcp","resource":"https://zernote.com/mcp","authorizationServers":["https://zernote.com"],"scopesSupported":["folders:read","folders:write","interviews:read","interviews:write","interviews:upload","transcripts:read","search:read","notes:write"]},"authorizationServer":{"url":"https://zernote.com/.well-known/oauth-authorization-server","issuer":"https://zernote.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-11T00:26:01.895Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"zernote.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-28T20:46:50.000Z","validTo":"2026-12-27T21:46:45.000Z","daysToExpiry":77,"sanCount":3,"fingerprint256":"73:8E:A0:69:FA:83:8C:3A:0C:3F:78:41:2F:30:6A:D1:BE:85:45:7C:4A:6E:E0:0E:86:DC:0A:65:5C:C2:4B:9D"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.zernote/zernote","url":"https://registry.modelcontextprotocol.io/v0/servers/com.zernote%2Fzernote","firstSeenAt":"2026-09-05T22:18:28.759Z","fetchedAt":"2026-10-09T13:21:43.749Z","normalizedAt":"2026-10-09T13:21:43.749Z"}]},"firstSeenAt":"2026-09-05T22:18:28.759Z","updatedAt":"2026-10-11T06:25:12.466Z"}