get_meeting_transcript
Retrieve meeting transcripts with essential metadata including participants, dates, and titles using a recording identifier.
Instructions
Retrieve meeting transcript with essential metadata (id, title, participants, dates).
Example: get_meeting_transcript([recording_id])
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| recording_id | Yes | The recording identifier |
Implementation Reference
- tools/recordings.py:66-107 (handler)Core implementation of get_meeting_transcript tool. Fetches meeting metadata and full transcript concurrently from Fathom API, combines into a structured response with essential metadata.async def get_meeting_transcript( ctx: Context, recording_id: int ) -> dict: """Retrieve meeting transcript with essential metadata. Args: ctx: MCP context for logging recording_id: Numeric ID of the recording Returns: dict: Transcript with minimal metadata (id, title, participants, dates) """ try: await ctx.info(f"Fetching transcript for recording {recording_id}") # Fetch meeting metadata and transcript concurrently meeting_task = client.get_meeting(recording_id) transcript_task = client.get_transcript(recording_id) meeting, transcript = await asyncio.gather(meeting_task, transcript_task) # Build transcript object with essential metadata result = { "recording_id": recording_id, "title": meeting.get("title"), "participants": meeting.get("participants", []), "created_at": meeting.get("created_at"), "scheduled_start_time": meeting.get("scheduled_start_time"), "scheduled_end_time": meeting.get("scheduled_end_time"), "transcript": transcript.get("transcript", []) } await ctx.info("Successfully retrieved meeting transcript") return result except FathomAPIError as e: await ctx.error(f"Fathom API error: {e.message}") raise e except Exception as e: await ctx.error(f"Unexpected error fetching meeting transcript: {str(e)}") raise e
- server.py:168-178 (registration)Registers the get_meeting_transcript tool with FastMCP using @mcp.tool decorator. Defines input schema via Pydantic Field and delegates execution to the handler in tools/recordings.py.@mcp.tool async def get_meeting_transcript( ctx: Context, recording_id: int = Field(..., description="The recording identifier") ) -> Dict[str, Any]: """Retrieve meeting transcript with essential metadata (id, title, participants, dates). Example: get_meeting_transcript([recording_id]) """ return await tools.recordings.get_meeting_transcript(ctx, recording_id)