get_transcript
Retrieve the full transcript of a meeting recording with timestamped segments and speaker attribution for analysis.
Instructions
Get the full transcript for a specific meeting recording.
Returns timestamped transcript segments with speaker attribution. Each segment includes the speaker name, what they said, and when.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| recording_id | Yes | The recording ID of the meeting (from list_meetings) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/fathom_video_mcp/server.py:259-289 (handler)The get_transcript tool handler: decorated with @mcp.tool, it calls the Fathom API at /recordings/{recording_id}/transcript, extracts transcript segments with speaker attribution and timestamps, and returns the structured result.
@mcp.tool def get_transcript( recording_id: Annotated[int, "The recording ID of the meeting (from list_meetings)"], ) -> dict: """Get the full transcript for a specific meeting recording. Returns timestamped transcript segments with speaker attribution. Each segment includes the speaker name, what they said, and when. """ data = make_request(f"/recordings/{recording_id}/transcript") transcript = data.get("transcript", []) segments = [] for seg in transcript: segment_data = { "text": seg.get("text", ""), "timestamp": seg.get("timestamp"), } speaker = seg.get("speaker") if speaker: segment_data["speaker"] = { "display_name": speaker.get("display_name", "Unknown"), "email": speaker.get("matched_calendar_invitee_email"), } segments.append(segment_data) return { "recording_id": recording_id, "transcript": segments, "segment_count": len(segments), } - The input schema for get_transcript: takes a single recording_id (int) parameter annotated with a description for the LLM.
def get_transcript( recording_id: Annotated[int, "The recording ID of the meeting (from list_meetings)"], ) -> dict: - src/fathom_video_mcp/server.py:259-259 (registration)The @mcp.tool decorator registers get_transcript as an MCP tool on the FastMCP server instance.
@mcp.tool - src/fathom_video_mcp/__init__.py:5-7 (registration)get_transcript is exported from the package via __init__.py, making it available to consumers importing fathom_video_mcp.
from fathom_video_mcp.server import mcp, list_meetings, get_summary, get_transcript __all__ = ["mcp", "list_meetings", "get_summary", "get_transcript", "__version__"] - src/fathom_video_mcp/server.py:35-44 (helper)The make_request helper function used by get_transcript to make authenticated HTTP requests to the Fathom API.
def make_request(endpoint: str, params: dict | None = None) -> dict: """Make an authenticated request to the Fathom API.""" url = f"{FATHOM_API_BASE}{endpoint}" headers = {"X-Api-Key": get_api_key()} transport = httpx.HTTPTransport(retries=3) with httpx.Client(transport=transport, timeout=30.0) as client: response = client.get(url, headers=headers, params=params) response.raise_for_status() return response.json()