Referna Meeting Recaps
Server Details
Read your personalized Referna meeting recaps with an AI assistant.
- Status
- Healthy
- Uptime
- 97.9% over 26 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: list_meeting_recaps returns the collection, while get_meeting_recap retrieves a single recap by ID. There is no meaningful overlap or ambiguity between them.
Both names follow the same predictable verb_noun pattern (list_meeting_recaps, get_meeting_recap). Naming is clean and consistent across the entire small tool set.
Only two tools are provided, which is thin even for a read-only recap retrieval server. They are well-scoped individually, but the surface feels minimal and lacks options like search or filtering.
The list-and-get pair covers the core retrieval lifecycle for meeting recaps, including access restrictions and mixer checklist details. Minor gaps exist around searching or filtering recaps, but agents can work around this by listing first.
Available Tools
2 toolsget_meeting_recapGet my meeting recapARead-onlyIdempotentInspect
Get one personalized Referna meeting recap by ID from the list. Returns not found when the key owner cannot access it.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Recap ID returned as sessionId by list_meeting_recaps. Mixer IDs have mixer:<mixerId>:<occurrenceId> format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| recap | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral context by disclosing that access failures return not found when the key owner cannot access the recap, which helps an agent interpret error responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded, followed immediately by the relevant access-failure behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with one fully documented parameter and an output schema, the description covers the essential purpose and access behavior. No critical calling information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema itself explains that sessionId is the recap ID returned by list_meeting_recaps and may use mixer:<mixerId>:<occurrenceId> format. The description only adds 'by ID from the list,' so the schema does most of the semantic work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: retrieve one personalized Referna meeting recap by ID. It explicitly scopes the operation to a single recap from the list, distinguishing it from the sibling list_meeting_recaps tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from the list' implies the recap ID comes from list_meeting_recaps, which is useful context. However, it does not explicitly name the sibling tool as the discovery path or state when not to use this tool, leaving the guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_meeting_recapsList my meeting recapsARead-onlyIdempotentInspect
List the key owner's personalized Referna intro, general, follow-up, and mixer recaps, newest first. Mixer recaps include the 1:1 checklist for each conversation the member joined.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of recaps, from 1 to 50. Default 20. | |
| offset | No | Number of newer recaps to skip. Default 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| recaps | Yes | |
| nextOffset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds useful content context beyond that: it explains that mixer recaps include a 1:1 checklist and that ordering is newest first, though it omits pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the core purpose and ordering front-loaded, followed by a useful detail about mixer recap content. Zero obvious waste, though the second sentence could be trimmed if space were critical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with rich annotations, 100% schema coverage, and an output schema, the description provides enough to call it correctly. Any remaining details, such as pagination defaults and response shape, are already covered by structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both limit and offset are fully documented in the schema. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('meeting recaps'), enumerates the recap types, and specifies ordering ('newest first'). It does not explicitly differentiate from the sibling get_meeting_recap, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The listing purpose is implied by 'List' and ordering, but there is no explicit guidance on when to use this tool versus get_meeting_recap. The reader can infer list-vs-get, but the description does not state the alternative or exclusions.
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.
2 tool updates
- Changed
get_meeting_recap1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "recap": { + "additionalProperties": false, + "properties": { + "agendaCoverage": { + "items": { + "additionalProperties": false, + "properties": { + "covered": { + "type": "boolean" + }, + "note": { + "type": "string" + }, + "topicKey": { + "type": "string" + }, + "topicTitle": { + "type": "string" + } + }, + "required": [ + "topicKey", + "topicTitle", + "covered", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "conversations": { + "items": { + "additionalProperties": false, + "properties": { + "agendaCoverage": { + "items": { + "additionalProperties": false, + "properties": { + "covered": { + "type": "boolean" + }, + "note": { + "type": "string" + }, + "topicKey": { + "type": "string" + }, + "topicTitle": { + "type": "string" + } + }, + "required": [ + "topicKey", + "topicTitle", + "covered", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "partnerEmail": { + "type": "string" + }, + "round": { + "type": "integer" + } + }, + "required": [ + "round", + "partnerEmail", + "agendaCoverage" + ], + "type": "object" + }, + "type": "array" + }, + "counterpartEmail": { + "type": [ + "string", + "null" + ] + }, + "kind": { + "type": "string" + }, + "meetingDate": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "summaryCreatedAt": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "sessionId", + "kind", + "title", + "counterpartEmail", + "meetingDate", + "summaryCreatedAt", + "subject", + "bodyText", + "agendaCoverage", + "conversations" + ], + "type": "object" + } + }, + "required": [ + "recap" + ], + "type": "object" +}
- Changed
list_meeting_recaps1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "nextOffset": { + "type": [ + "integer", + "null" + ] + }, + "recaps": { + "items": { + "additionalProperties": false, + "properties": { + "agendaCoverage": { + "items": { + "additionalProperties": false, + "properties": { + "covered": { + "type": "boolean" + }, + "note": { + "type": "string" + }, + "topicKey": { + "type": "string" + }, + "topicTitle": { + "type": "string" + } + }, + "required": [ + "topicKey", + "topicTitle", + "covered", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "bodyText": { + "type": "string" + }, + "conversations": { + "items": { + "additionalProperties": false, + "properties": { + "agendaCoverage": { + "items": { + "additionalProperties": false, + "properties": { + "covered": { + "type": "boolean" + }, + "note": { + "type": "string" + }, + "topicKey": { + "type": "string" + }, + "topicTitle": { + "type": "string" + } + }, + "required": [ + "topicKey", + "topicTitle", + "covered", + "note" + ], + "type": "object" + }, + "type": "array" + }, + "partnerEmail": { + "type": "string" + }, + "round": { + "type": "integer" + } + }, + "required": [ + "round", + "partnerEmail", + "agendaCoverage" + ], + "type": "object" + }, + "type": "array" + }, + "counterpartEmail": { + "type": [ + "string", + "null" + ] + }, + "kind": { + "type": "string" + }, + "meetingDate": { + "type": "string" + }, + "sessionId": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "summaryCreatedAt": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "sessionId", + "kind", + "title", + "counterpartEmail", + "meetingDate", + "summaryCreatedAt", + "subject", + "bodyText", + "agendaCoverage", + "conversations" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "recaps", + "nextOffset" + ], + "type": "object" +}
1 tool update
- Changed
get_meeting_recap1 field changed- changed
Input schema / properties / sessionId / descriptionPrevious value: -"Session ID returned by list_meeting_recaps."New value: +"Recap ID returned as sessionId by list_meeting_recaps. Mixer IDs have mixer:<mixerId>:<occurrenceId> format."
2 tool updates
- First observed
get_meeting_recap - First observed
list_meeting_recaps
Related MCP Connectors
Your InterMIND meetings, recaps, transcripts, channels and documents, from your assistant.
Search and read your recorded meetings: notes, action items, participants, transcripts.
Search recordings, summarize meetings, create clips, and automate workflows from your AI assistant.
Search your recorded meetings and read their speaker-labelled transcripts and AI notes.
Related MCP Servers
- AlicenseAqualityDmaintenanceAccess your meetings, transcripts, summaries, and action items from Convo, an AI meeting assistant. Cross-meeting intelligence: prepare for calls with past context, get weekly digests, and track action items across all meetings. Works before, during, and after your meetings.1270 npm1MIT
- FlicenseBqualityAmaintenanceProvides live meeting context to an AI assistant during Google Meet or Zoom calls, enabling real-time transcript reading, decision tracking, and actionable advice in a side panel.132-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to query and update a persistent relationship ledger, providing pre-meeting context briefs, structured post-meeting extraction, and tracking of commitments, agreements, and open loops.MIT

Diktuy MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables assistants to search meetings, transcripts and dictations, gather decisions and action items by person and deadline, locate who said what and when, and transcribe audio or video from links or files. Sign-in is via OAuth account access, with reading free and transcription charged per minute.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.