Skip to content

fix: enrich MCP get_meeting structured content (#255)#256

Merged
silverstein merged 2 commits into
mainfrom
fix/mcp-get-meeting-structured-content
May 26, 2026
Merged

fix: enrich MCP get_meeting structured content (#255)#256
silverstein merged 2 commits into
mainfrom
fix/mcp-get-meeting-structured-content

Conversation

@silverstein
Copy link
Copy Markdown
Owner

Summary

Fixes #255. get_meeting returned the full markdown in content[0].text but its structuredContent was an envelope only (path, view, speaker_map, recording_health, overlay_applied). MCP-App hosts and structured-content-preferring clients surface structuredContent and deprioritize the text block, so callers saw "envelope-only" even though the transcript and synthesis were present on disk.

This is general get_meeting behavior, not native-call-specific — the reporter just hit it on long, real meetings consumed through a structured workflow.

Change

structuredContent now mirrors what's on disk:

  • title
  • summary (parsed from the ## Summary section via a new extractMarkdownSection() helper)
  • action_items, decisions, intents (from frontmatter)
  • body (the full transcript)
  • plus the existing speaker_map / recording_health / overlay_applied

The raw markdown still rides in content[0].text, so text-first clients don't regress. Both the no-CLI fallback path and the CLI-backed overlay path are enriched. The CLI path keeps Array.isArray() guards (raw JSON), while the no-CLI path relies on minutes-sdk's already-normalized arrays.

Commitments are intentionally excluded — they aren't a meeting frontmatter field; they stay surfaced through get_meeting_insights / track_commitments.

Verification

  • tsc clean; vitest 57/57 (incl. new enriched-payload + extractMarkdownSection tests)
  • 10/10 MCP/CLI integration smoke tests
  • End-to-end: ran the real minutes get --json against a native-call-shaped meeting and applied the handler mapping against the built module — enriched payload came out with all fields
  • Verified the MCP-App dashboard UI is unaffected (it renders from content[0].text via data.content and ignores the new structuredContent keys)

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
useminutes.app Ready Ready Preview, Comment May 26, 2026 12:01am

The get_meeting structuredContent change added 5 Vitest tests, bumping
MINUTES_TEST_COUNT 1115 -> 1120. Regenerated site/lib/release.ts so the
Site Release Link Consistency check passes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@silverstein silverstein merged commit 543a677 into main May 26, 2026
12 checks passed
@silverstein silverstein deleted the fix/mcp-get-meeting-structured-content branch May 26, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MCP get_meeting returns envelope-only on Tauri-bundled native-call recordings (v0.17.3, v0.18.0)

1 participant