Skip to main content
Glama

get_meeting_details

Retrieve meeting summaries and metadata from Fathom recordings using a recording ID. Access key details without full transcripts for efficient meeting review.

Instructions

Retrieve comprehensive meeting details including summary and metadata (without transcript).

Example: get_meeting_details([recording_id])

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recording_idYesThe recording identifier

Implementation Reference

  • Core handler function that fetches meeting metadata and summary from Fathom API concurrently, strips markdown from summary, constructs a unified dictionary response excluding the transcript, and handles errors with context logging.
    async def get_meeting_details( ctx: Context, recording_id: int ) -> dict: """Retrieve comprehensive meeting details including summary and metadata (without transcript). Args: ctx: MCP context for logging recording_id: Numeric ID of the recording Returns: dict: Unified meeting object with metadata and summary (no transcript) """ try: await ctx.info(f"Fetching meeting details for recording {recording_id}") # Fetch meeting metadata and summary concurrently meeting_task = client.get_meeting(recording_id) summary_task = client.get_summary(recording_id) meeting, summary = await asyncio.gather(meeting_task, summary_task) # Convert markdown summary to plain text markdown_summary = summary.get("summary", {}).get("markdown_formatted", "") plain_text_summary = strip_markdown.strip_markdown(markdown_summary) if markdown_summary else "" # Build unified meeting object without transcript result = { "recording_id": recording_id, "title": meeting.get("title"), "meeting_url": meeting.get("url"), "share_url": meeting.get("share_url"), "created_at": meeting.get("created_at"), "scheduled_start_time": meeting.get("scheduled_start_time"), "scheduled_end_time": meeting.get("scheduled_end_time"), "recording_start_time": meeting.get("recording_start_time"), "recording_end_time": meeting.get("recording_end_time"), "transcript_language": meeting.get("transcript_language"), "participants": meeting.get("participants", []), "recorded_by": meeting.get("recorded_by"), "teams": meeting.get("teams", []), "topics": meeting.get("topics", []), "sentiment": meeting.get("sentiment"), "crm_matches": meeting.get("crm_matches", []), "summary": plain_text_summary } await ctx.info("Successfully retrieved meeting details") 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 details: {str(e)}") raise e
  • server.py:155-165 (registration)
    Registers the get_meeting_details tool with FastMCP using @mcp.tool decorator. Includes Pydantic Field for input validation/schema (recording_id), docstring, and delegates to the core implementation in tools.recordings.get_meeting_details.
    @mcp.tool async def get_meeting_details( ctx: Context, recording_id: int = Field(..., description="The recording identifier") ) -> Dict[str, Any]: """Retrieve comprehensive meeting details including summary and metadata (without transcript). Example: get_meeting_details([recording_id]) """ return await tools.recordings.get_meeting_details(ctx, recording_id)
  • Pydantic input schema definition for the recording_id parameter using Field with required and description.
    recording_id: int = Field(..., description="The recording identifier") ) -> Dict[str, Any]:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/druellan/fathom-get-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server