Skip to main content
Glama

Insights Read

insights_read
Read-only

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.

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources