get_transcript_tool
Retrieve timestamped speaker transcripts from recordings using the Fathom AI API. Supports synchronous responses or asynchronous callbacks for processing meeting content.
Instructions
Retrieve the transcript for a recording as an array of timestamped speaker entries. Supports synchronous response or asynchronous POST to destination_url.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| destination_url | No | Optional async callback URL | |
| recording_id | Yes | The recording identifier |
Implementation Reference
- tools/recordings.py:34-65 (handler)Core handler function that executes the tool logic: logs the request, calls the Fathom client to retrieve the transcript, handles API and unexpected errors with logging, and returns the result.async def get_transcript( ctx: Context, recording_id: int ) -> dict: """Retrieve timestamped transcript entries for a specific meeting recording. Args: ctx: MCP context for logging recording_id: Numeric ID of the recording (from meeting.recording_id) Returns: dict: { "transcript": [ { "speaker": "Speaker name", "timestamp": "00:01:23", "text": "Spoken content..." } ] } """ try: await ctx.info(f"Fetching transcript for recording {recording_id}") result = await client.get_transcript(recording_id) await ctx.info("Successfully retrieved 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 transcript: {str(e)}") raise e
- server.py:125-135 (registration)Registers the tool using @mcp.tool decorator. Defines the input schema with Pydantic Field for recording_id. Delegates execution to the handler in tools/recordings.py. Note the example usage refers to it as get_transcript_tool.@mcp.tool async def get_transcript( ctx: Context, recording_id: int = Field(..., description="The recording identifier") ) -> Dict[str, Any]: """Retrieve timestamped speaker transcript for a recording. Example: get_transcript_tool(recording_id=101470681) # Get transcript for specific recording """ return await tools.recordings.get_transcript(ctx, recording_id)
- server.py:128-128 (schema)Pydantic input schema definition for the tool parameter using Field.recording_id: int = Field(..., description="The recording identifier")