Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
6.0% over 38 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL

TDQS

B3.4/5.0

Scored across 14 tools

Disambiguation4/5

Each tool targets a distinct resource or action (cards, insights, interviews, JTBD, projects, uploads, search), and the domain labels are mostly clear. The upload pipeline tools (mcp_prepare_upload, mcp_confirm_upload, mcp_sign_upload_parts) could be confused with upload_interview, but the 'App-only' qualifier and distinct purposes help disambiguate.

Naming Consistency3/5

The read/edit tools follow a consistent {resource}_{verb} pattern (cards_read, interviews_read, jtbd_edit, projects_edit), but upload_interview, get-skills, search, and the mcp_*_upload group break this pattern, mixing verb-first and noun-first conventions. The mixed styles are still readable but not uniform.

Tool Count5/5

14 tools is well-scoped for a research platform covering projects, interviews, cards, insights, JTBD, and upload workflows. Each tool has a place, and the count is in the sweet spot without redundancy or bloat.

Completeness3/5

Core workflows are covered (project create/list/rename, interview upload/read/edit/search, JTBD read/edit, card and insight reads), but projects and interviews have no delete operation, and cards/insights are read-only with no editing tools. These lifecycle gaps create potential dead ends for agents managing data.

Available Tools

14 tools
cards_readCards ReadA
Read-only
Inspect

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 quote" using item.url from the tool result (already absolute; includes ?t= when start_seconds is set). Prefer quotes over paraphrase. Verify with interviews_read action=transcript around_chunk_index when a wider quote window is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
lensNoOptional exact lens filter.
codesNoOptional code tags; any match (e.g. pain:synthesis, gtm:pricing).
limitNoMax cards to return (default 50, max 200).
offsetNoNumber of cards to skip (default 0).
folder_idNoDeprecated alias for project_id.
project_idNoOptional project UUID — cards from interviews in this project (alias: folder_id).
interview_idNoOptional interview UUID to scope cards.
interview_idsNoOptional interview UUIDs to scope cards.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/destructiveHint annotations, the description discloses the mandatory citation behavior, the exact markdown format using item.url, the preference for verbatim quotes over paraphrase, and a verification workflow. This is substantial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences carry a dense but relevant payload. The field list is compact, the critical CITATION REQUIRED directive is prominently emphasized, and there is no filler. Slightly dense, but every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must explain return values, and it does: card structure, URL behavior, citation format, filtering, and verification path. An agent can invoke this tool correctly and process its results without needing to infer unstated behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description reiterates the 'any match' semantics for codes and the lens enum, but these are already in the schema. It adds little parameter-level meaning beyond the structured definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with 'List L2 coded claim-cards' and enumerates the exact fields included, making the tool's purpose explicit and distinct from sibling read tools like insights_read or interviews_read. The resource (L2 coded claim-cards) is unambiguous and the filtering options are stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the filtering dimensions and provides an explicit alternative: 'Verify with interviews_read action=transcript around_chunk_index when a wider quote window is needed.' This gives clear when-to-use guidance for a related sibling. It does not contrast with search or insights_read, but the primary use case is well-defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-skillsStartup ideas / office hoursA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoSkill id. Empty = catalog. Examples: office-hours-zernote, zernote-plan-research.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only/safe; description adds 'works without login' (auth context) and explains catalog-vs-playbook behavior with omitted vs provided id. It does not describe output shape/pagination, but the simple read-only nature makes this a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, each earns its place: use case, contained skill IDs, id behavior, exclusions, auth. The telegraphic style is efficient but could be slightly more polished.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-parameter read-only tool with no output schema, the description covers purpose, id semantics, contents, exclusions, and auth. It may not detail return format, but this is minor given the simple tool and high schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the id parameter fully, including examples and empty=catalog. The description adds semantic value by mapping office-hours-zernote to 'challenge the idea' and zernote-plan-research, which goes beyond the schema's bare examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly scopes the tool to startup ideas/office hours and explains the catalog/playbook behavior, and explicitly says it is not for listing interviews or projects. It lacks a direct verb like 'list' or 'retrieve', leaving the action slightly implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use ('startup ideas, office hours...') and when-not-to-use ('not for listing interviews or projects') but does not name the sibling tools to use instead. This is strong usage guidance, but not full explicit routing to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insights_readInsights ReadA
Read-only
Inspect

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: insight | interview | group | ungrouped. CITATION REQUIRED: actively cite each item.quote as markdown "verbatim quote" using item.url from the tool result (already absolute; includes ?t= when start_seconds is set). Prefer quotes over paraphrase. Do not use quote_start — that is a character offset, not a player timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoget_node: insight, interview, or group UUID. Not used for ungrouped.
limitNoList only: max insight bodies (default 25, max 100).
actionYeslist = paged insight bodies + outline. get_node = one insight, interview, group, or ungrouped cluster.
offsetNoList only: skip this many matching insight bodies (default 0).
group_idNoList filter: insight_groups.id UUID (not a render index like group-0).
folder_idNoDeprecated alias for project_id.
node_typeNoget_node: which node to load.
group_nameNoList filter: case-insensitive group name match.
project_idNoProject/folder UUID (required for list and for get_node group/ungrouped/insight).
insight_idsNoList filter: only these insight UUIDs.
interview_idNoList filter: only insights from this interview. Interview must be in the project.
ungrouped_onlyNoList filter: only insights that are not in a cross-interview group.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: list returns a compact outline plus a page of insight bodies, get_node returns one node, and citation requirements are detailed (markdown format, use item.url, include ?t= when start_seconds is set). It also warns that quote_start is a character offset, not a player timestamp, which prevents a common misuse. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized: it front-loads the two actions, then filters, then citation requirements. Every sentence adds information, and the warning about quote_start is important. It is slightly long, but the complexity of the tool (two actions, many filters, citation rules) justifies the length. A small deduction for the citation paragraph being a bit run-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with 12 parameters, two actions, and no output schema, the description covers the key operational details: what each action returns, how filters work, which parameters are required for which action, and how to format citations. The absence of an output schema is compensated by the description's explanation of the result shape (outline + insight bodies, node types). An agent has enough to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 12 parameters. The description adds meaning by explaining the relationship between action and parameters (e.g., id is used for get_node, not for ungrouped; project_id is required for list and for get_node group/ungrouped/insight; group_id is a DB UUID not a render index). It also clarifies the citation-related use of item.url, which is not in the schema. This is strong added value, though the schema already carries most of the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads the project Insights graph, and distinguishes two actions: list (folder-wide outline plus insight bodies) and get_node (single node of type insight, interview, group, or ungrouped). It names the resource (Insights graph) and the specific operations, making it easy for an agent to understand what this tool does and how it differs from sibling read tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use list vs get_node, and provides filter guidance (interview_id, group_id, group_name, insight_ids, ungrouped_only). It also warns against using quote_start and instructs to prefer quotes over paraphrase, which is actionable usage guidance. It does not explicitly name sibling alternatives, but the action-level guidance is strong and contextually sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

interviews_editInterviews EditA
Destructive
Inspect

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 again; analyze-only, keeps notes). assign_speakers needs id+speaker_labels+assigned_names. For voiceprint interviewer confirm: one label + real name on one interview after quote links; that identity backfills other interviews sharing voice_identity_id — re-list instead of confirming every card. set_voiceprint needs enabled bool (false purges biometric voice data). If need_approve_speakers=true, show quote links then assign_speakers when the user confirms. If transcript_quality.looks_corrupted=true, offer retranscribe with the correct language. write_notes and write_summary replace the entire notes or summary field (not append).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoInterview UUID (rename, write_summary, write_notes, retranscribe, assign_speakers).
notesNoFull note text that replaces the existing notes field (write_notes).
titleNoNew title (rename).
actionYesEdit action.
enabledNoVoiceprint on/off (set_voiceprint). false deletes stored voice biometrics.
summaryNoFull summary markdown that replaces the existing summary (write_summary). Expected sections: # Summary, ## Profile, ## Tools & workflow, ## Pains & friction, # Other topics.
languageNoTranscription language code for retranscribe (e.g. en, ru, nl). Charges tokens for audio duration.
folder_idNoDeprecated alias for project_id.
project_idNoDestination project UUID for move (alias: folder_id). Omit or null for Inbox.
interview_idsNoInterview UUIDs to move.
assigned_namesNoHuman names matching speaker_labels (assign_speakers). Use a real name, not "Interviewer N".
speaker_labelsNoDiarization labels to assign (assign_speakers), e.g. ["A"]. Voiceprint interviewer confirm: one label in this call (same identity then backfills other interviews).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description discloses important side effects: retranscribe 'charges transcription tokens again', disabling voiceprint 'purges biometric voice data', and write_notes/write_summary 'replace the entire field (not append)'. It also explains the voiceprint backfill behavior across interviews sharing voice_identity_id, which is critical operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place, covering all seven actions plus special conditions. It is front-loaded with the action list, though the single-paragraph format could be better organized into per-action bullets for faster scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with no output schema and destructive annotations, the description covers conditional usage, token costs, data purging, field replacement semantics, and voiceprint backfill behavior. An agent has enough information to invoke the tool correctly across all action variants.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description adds a valuable action-to-parameter mapping that the flat schema does not convey. It clarifies conditional requirements like retranscribe needing id+language and assign_speakers needing speaker_labels+assigned_names, and adds semantic warnings such as 'Use a real name, not "Interviewer N"'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb set — 'Rename, move, write summary/notes, retranscribe, assign/confirm speakers, or toggle voiceprint' — tied clearly to interviews as the resource. This operation list immediately distinguishes the tool from read-only siblings like interviews_read and cards_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit per-action parameter requirements ('action=rename needs id+title', 'move needs interview_ids') and concrete trigger conditions such as 'If transcript_quality.looks_corrupted=true, offer retranscribe' and 'If need_approve_speakers=true, show quote links then assign_speakers'. It does not explicitly contrast with sibling tools, but the internal usage routing is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

interviews_readInterviews ReadA
Read-only
Inspect

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 interviews sharing voice_identity_id. Use summary_mode=brief for renaming or folder triage. Use summary_mode=full when Profile/Tools/Pains/Other topics are needed for deeper analysis. (2) call search when you need evidence or counter-evidence for a hypothesis; (3) use action=transcript with around_chunk_index from matching_chunks when a quote window is required. CITATION REQUIRED: when answering the user, actively cite evidence as markdown "verbatim quote" using interview_url / matching chunk url from tool results (includes ?t= when start_seconds is set). Prefer quotes over paraphrase.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoInterview UUID (required for get, status, transcript).
limitNoFor list: max interviews (default 20, max 100). For transcript: max characters (default 4000, max 20000).
actionYesRead action. Use list (brief or summary_mode=full) for overview; use transcript when you need a quote window.
offsetNoFor list: skip count. For transcript without around_chunk_index: character offset (default 0).
folder_idNoDeprecated alias for project_id.
inbox_onlyNoWhen true with action=list, list Inbox interviews (no project). Ignored if project_id is set.
notes_modeNoList only. none (default) = omit notes body. full = researcher notes (truncated on list). Use summary when notes are not required.
project_idNoOptional project UUID to filter list (alias: folder_id).
radius_charsNoTranscript only with around_chunk_index: chars before/after chunk match (default 1500, max 8000).
summary_modeNoList only. brief (default) = short # Summary for triage/rename. full = all summary_fragments (profile/tools/pains/other_topics) when brief is insufficient.
around_chunk_indexNoTranscript only: expand a window around this vector-search chunk_index (use instead of blind offset when available).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/destructiveHint annotations, the description discloses default behavior (summary_mode=brief), list item fields like need_approve_speakers, the identity-backfill side effect, and the required citation format with URL construction. This is substantial behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but logically ordered as a numbered workflow (list → search → transcript), with the citation requirement placed at the end as an actionable directive. Every sentence adds information, and the key workflow is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-action tool with no output schema, the description richly covers the common paths and return-ish details (summary fragments, need_approve_speakers, matching chunks). It omits guidance on action=get and action=status, which are listed in the schema and may need clarification, but the main paths are sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds meaningful usage context for around_chunk_index ('from matching_chunks'), explains the interplay between summary_mode and triage vs. analysis, and clarifies that id is required for get/status/transcript. It does not deeply explain action=get or status, but parameters themselves are well covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Read interviews' and immediately enumerates a concrete action list (list, get, status, transcript) with usage examples. It clearly differentiates this tool from the search sibling by explicitly directing evidence-seeking calls to `search` rather than this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance: summary_mode=brief for renaming/folder triage, summary_mode=full for deeper analysis, `search` for evidence, and transcript with around_chunk_index for quote windows. This leaves no ambiguity about which sibling or action to choose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jtbd_editJTBD EditC
Destructive
Inspect

Edit JTBD graph: extract_interview, move_interview, create_segment, fill_in job, update_job, delete_job.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
whenNo
actionYes
job_idNo
so_thatNo
categoryNo
languageNoJob tree language for extract_interview (en or ru). Defaults to en. Quotes stay in the interview language.
folder_idNo
i_want_toNo
project_idNo
segment_idNo
human_editedNo
interview_idNo
to_segment_idNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already signal destructiveHint=true and readOnlyHint=false, but the description adds no behavioral detail beyond repeating the action enum. It does not disclose that delete_job is irreversible or otherwise describe side effects, which is important for a destructive multi-action tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The sentence is short and 'Edit JTBD graph' is front-loaded, but brevity is achieved by listing values already present in the schema. The 'fill_in job' phrase is grammatically awkward, and the structure provides no explanatory elaboration to justify its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 14-parameter destructive dispatcher tool with only 7% schema description coverage and no output schema needs per-action parameter mappings and behavior notes. The description is far too incomplete for an agent to know how to construct a valid call or what consequences to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 14 parameters and only 7% schema description coverage, the description carries a heavy burden to explain parameters, but it does not. The action list adds no meaning beyond the schema enum and none of the action-specific parameters are mapped to their corresponding operations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ('Edit JTBD graph') and lists the available actions, which distinguishes it from jtbd_read at a high level. However, it never explains what a JTBD graph is or what the listed actions actually do, and the action list simply duplicates the input schema's enum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus siblings like interviews_edit, projects_edit, or jtbd_read. It also does not explain how an agent should select among the six action values for a given editing scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jtbd_readJTBD ReadA
Read-only
Inspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
folder_idNoProject/folder UUID (list_segments).
project_idNoAlias for folder_id.
segment_idNoSegment UUID (get_tree).
interview_idNoInterview UUID (get_tree).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the citation requirement (cite job quotes with specific format), which is a behavioral trait not in annotations. It doesn't mention output format or pagination, but for a read tool with annotations, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the tool's purpose and actions. The citation requirement is placed at the end. No wasted words, but could be slightly more concise by merging the action requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no output schema, the description covers all necessary information to select and invoke correctly: actions, required parameters, and citation format. It lacks explicit mention of return format, but annotations cover safety, and this is not a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, with most parameters having descriptions. The description adds value by explaining the relationship between actions and required parameters, and clarifies that project_id is an alias for folder_id. It also clarifies the citation format requirement, which is not in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads JTBD job graph segments and trees, naming two specific actions and their required parameters. It distinguishes from siblings like jtbd_edit by the read-only nature, but doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use each action (list_segments needs folder_id/project_id, get_tree needs segment_id or interview_id). It doesn't explicitly state when NOT to use this tool versus alternatives, but the action-specific guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_confirm_uploadConfirm UploadAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoOptional title to apply before confirm.
filenameYesOriginal filename.
languageYesSTT language for audio/video (e.g. en, ru, nl). Not used for text/PDF (no transcription).
object_keyYesR2 object key from prepare.
size_bytesYesFile size in bytes.
interview_idYesInterview UUID from prepare.
multipart_partsNoCompleted parts (part_number + etag) when using multipart.
multipart_upload_idNoMultipart upload id — complete assembly before confirm.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, but the description clarifies the tool has side effects (enqueues transcription, marks files ready). It also explains that text/PDF skip transcription, which is valuable behavioral info. However, it doesn't state what happens on failure or if it's idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loaded with the main purpose and the key partition between media types. It earns its place by prioritizing the most decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, the description covers the essential flow (confirm upload, transcription behavior) but omits details like return value or error cases. Given the complexity and annotations, it's fairly complete but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-documented. The description adds context that 'language' is used only for audio/video and not for text/PDF, and that multipart_parts/multipart_upload_id are for multipart uploads. This adds meaningful guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it confirms a completed R2 upload for an Inbox interview and distinguishes between media types (audio/video get transcription, text/PDF do not). It specifies the tool's role in the upload flow. It doesn't explicitly differentiate from siblings like mcp_prepare_upload or mcp_sign_upload_parts, but the purpose is evident from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it should be used after completing the upload (single PUT or multipart) and references the prepare step for keys. It doesn't explicitly name alternatives or when not to use it, but the context signals and flow are reasonably clear given the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_prepare_uploadPrepare UploadAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoOptional interview title (defaults to sanitized filename).
filenameYesOriginal filename.
upload_idNoOptional multipart upload id from a previous prepare (resume).
size_bytesYesFile size in bytes.
content_typeNoMIME type for the PUT (optional).
interview_idNoOptional: existing empty interview UUID — resume upload without creating a new card.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint=false and destructiveHint=false annotations, the description discloses that calling it creates an Inbox interview and that passing interview_id avoids creating a new card. This adds meaningful side-effect context for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences deliver the core action, output type, multipart condition, and resume behavior with no filler. The key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately names the return values: presigned R2 upload URL or multipart upload_id. It covers resume behavior and large-file handling, though it does not specify response field names or next-step workflow with sibling confirm/sign tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and each parameter already has a meaningful description in the input schema. The tool description adds general context about multipart and resume behavior but does not significantly enrich the parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'create an Inbox interview' and return a presigned R2 upload URL or multipart upload_id. It clearly distinguishes this prepare step from the sibling confirm/sign tools by describing the preparation role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it is app-only, handles both single-upload and large-file multipart cases, and explains how to resume with interview_id and upload_id. It does not explicitly name alternatives or exclusions, but the intended use is well implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_sign_upload_partsSign Upload PartsAInspect

App-only: return presigned R2 URLs for one or more multipart upload parts (resume-safe).

ParametersJSON Schema
NameRequiredDescriptionDefault
upload_idYesMultipart upload id from prepare.
object_keyYesR2 object key from prepare.
interview_idYesInterview UUID from prepare.
part_numbersYesPart numbers to sign (1-based, max 20).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are minimal (readOnlyHint=false, destructiveHint=false), so the description carries most of the burden. It adds 'App-only' and 'resume-safe', hinting at authentication context and repeatability, but does not explain URL validity, required permissions, or side effects. It neither contradicts the annotations nor fully discloses behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence that front-loads the core action, resource, and scope. Every word contributes meaning; there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All four required parameters are fully documented in the schema, but there is no output schema and the description does not explain how the returned URLs fit into the broader multipart flow (e.g., uploading parts to R2 and then calling mcp_confirm_upload). The tool is understandable for a single call, but some workflow context is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has a clear description (e.g., 'from prepare'). The description's phrase 'one or more multipart upload parts' and 'resume-safe' adds slight framing, but no additional parameter-level meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('return') and resource ('presigned R2 URLs for one or more multipart upload parts'), making the tool's action clear. It does not explicitly contrast with sibling tools like mcp_prepare_upload or mcp_confirm_upload, but the multipart part-signing scope is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context ('App-only', 'resume-safe') that implies when the tool should be used, but it does not explicitly state when to use this tool versus siblings such as mcp_prepare_upload, mcp_confirm_upload, or upload_interview. No exclusions or alternative routing are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

projects_editProjects EditAInspect

Create or rename projects. action=create needs name; action=rename needs id and name. Delete is not supported yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoProject UUID (required for rename).
nameNoProject name (required for create and rename).
actionYesEdit action.
descriptionNoOptional project description (create/rename).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal mutation (readOnlyHint=false) and non-destructiveness (destructiveHint=false); the description adds the specific constraint that delete is not supported. It does not disclose side effects like whether rename overwrites an existing project or what the response contains, so it is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, all informative; front-loaded with the core purpose, then action rules, then boundary. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create/rename tool with full schema coverage, the description covers supported actions and their parameter requirements, and flags the unsupported delete. The main gap is no mention of return/result, but since there is no output schema and the operations are simple, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id, name, action, and description. The description's action=create/rename rules are a useful restatement but add little new meaning beyond the property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('projects') and the exact mutations it supports ('create or rename'), and explicitly rules out delete. This clearly distinguishes it from read-only siblings like projects_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives action-specific parameter rules ('action=create needs name; action=rename needs id and name'), which tells an agent how to select the correct invocation, and says delete is unsupported. It does not name read-side alternatives like projects_read for inspection use cases, so the guidance is clear but not fully explicit about alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

projects_readProjects ReadA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of projects to return (default 50, max 200).
actionYesRead action. Currently only list.
offsetNoNumber of projects to skip before returning results (default 0).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by stating that action=list returns projects for the authenticated user, clarifying the request scope and reinforcing that this is a read-only listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The main purpose is front-loaded, followed immediately by a routing note and a concise behavior statement, and every sentence contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read-only tool, the description covers purpose, user scope, and the key sibling distinction. Pagination and parameter behavior are fully handled by the schema, so nothing essential is missing for invoking it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so limit, offset, and action are already documented with types, defaults, and enum constraints. The description restates the list behavior but adds no parameter detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Read existing research folders,' making the primary purpose immediately clear. It also distinguishes itself from get-skills by stating what it is not for, so an agent can select it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Not for a new startup idea or office hours — call get-skills first,' giving a clear when-not-to-use rule and naming an alternative. This is direct usage guidance rather than leaving the decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_interviewUpload InterviewAInspect

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/video starts transcription; text/PDF become ready immediately (no speaker diarization). Claude can name interviews after upload.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds useful behavior beyond annotations: it opens a user-facing widget, imposes file size/type limits, and explains what happens after upload (transcription for audio/video, immediate readiness for text/PDF, no diarization). Annotations are not contradicted, and this context substantially helps set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, all information-dense: the primary action comes first, followed by use-case guidance and post-upload behavior. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with annotations and no output schema, the description covers the action, the trigger conditions, file constraints, and behavioral outcomes. Nothing an agent needs to decide whether and when to call it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description has no parameter documentation burden. The baseline of 4 applies; no schema or description gaps exist here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (opens the "Upload To Zernote" widget) and a specific resource (Inbox for this chat), and clarifies it is the usual ingest path in Claude. This clearly distinguishes it from the internal mcp_prepare/mcp_sign/mcp_confirm sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States exactly when to use it: when the user wants to upload/add an interview or get started on an empty account. It gives clear context but does not explicitly mention when not to use it or name alternatives for direct programmatic upload.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget-skills1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"Skill id. Empty = catalog. Examples: who-is-user, plan-research."New value: +"Skill id. Empty = catalog. Examples: office-hours-zernote, zernote-plan-research."
  2. 14 tool updates
    • First observedcards_read
    • First observedget-skills
    • First observedinsights_read
    • First observedinterviews_edit
    • First observedinterviews_read
    • First observedjtbd_edit
    • First observedjtbd_read
    • First observedmcp_confirm_upload
    • First observedmcp_prepare_upload
    • First observedmcp_sign_upload_parts
    • First observedprojects_edit
    • First observedprojects_read
    • First observedsearch
    • First observedupload_interview

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources