Skip to main content
Glama
peakmojo

Zoom Recordings No-Auth

by peakmojo

zoom_get_recording_details

Retrieve detailed metadata and file information for a specific Zoom meeting recording using a meeting ID and access token, simplifying recording management and access.

Instructions

Get detailed information about a specific Zoom meeting recording including recording files and metadata

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
meeting_idYesThe Zoom meeting ID to retrieve recording details for
zoom_access_tokenYesZoom OAuth2 access token

Implementation Reference

  • Core handler function in ZoomClient class that retrieves detailed recording information for a specific Zoom meeting using the API endpoint /meetings/{meeting_id}/recordings. Handles token refresh and datetime conversion.
    def get_recording_details(self, meeting_id: str) -> str: """Get detailed information about a specific meeting recording Args: meeting_id: The Zoom meeting ID to get recordings for Returns: JSON string with recording details """ try: # Define the operation def _operation(): logger.debug(f"Fetching recording details for meeting_id={meeting_id}") # Get recording information for meeting response = requests.get( f"{self.base_url}/meetings/{meeting_id}/recordings", headers=self._get_headers() ) if response.status_code != 200: return json.dumps({ "error": f"Failed to retrieve recording details. Status code: {response.status_code}", "details": response.text, "status": "error" }) recording_details = response.json() # Process and return recording details return json.dumps(convert_datetime_fields(recording_details)) # Execute the operation with token refresh handling return self._handle_token_refresh(_operation) except Exception as e: logger.error(f"Exception in get_recording_details: {str(e)}", exc_info=True) return json.dumps({"error": str(e)})
  • Input schema definition for the zoom_get_recording_details tool, specifying required parameters zoom_access_token and meeting_id.
    types.Tool( name="zoom_get_recording_details", description="Get detailed information about a specific Zoom meeting recording including recording files and metadata", inputSchema={ "type": "object", "properties": { "zoom_access_token": {"type": "string", "description": "Zoom OAuth2 access token"}, "meeting_id": {"type": "string", "description": "The Zoom meeting ID to retrieve recording details for"} }, "required": ["zoom_access_token", "meeting_id"] }, ),
  • Dispatch logic in the main @server.call_tool() handler that routes calls to zoom_get_recording_details, extracts arguments, initializes ZoomClient, and invokes the core handler method.
    elif name == "zoom_get_recording_details": # Initialize Zoom client with just access token zoom = ZoomClient( access_token=access_token ) meeting_id = arguments.get("meeting_id") if not meeting_id: raise ValueError("meeting_id is required") results = zoom.get_recording_details(meeting_id=meeting_id) return [types.TextContent(type="text", text=results)]
  • JavaScript implementation of the core getRecordingDetails method in ZoomClient class, fetching recording details via Zoom API.
    async getRecordingDetails(meeting_id) { try { logger.debug(`Fetching recording details for meeting_id=${meeting_id}`); const response = await axios.get( `${this.baseUrl}/meetings/${meeting_id}/recordings`, { headers: this._getHeaders() } ); if (response.status !== 200) { return JSON.stringify({ error: `Failed to retrieve recording details. Status code: ${response.status}`, details: response.data, status: "error" }); } return JSON.stringify(response.data); } catch (error) { logger.error(`Exception in getRecordingDetails: ${error.message}`); if (error.response?.status === 401) { return JSON.stringify({ error: "Unauthorized. Token might be expired. Please refresh your token.", status: "error" }); } return JSON.stringify({ error: error.message }); }
  • server.js:358-377 (registration)
    JavaScript server.tool registration, schema with Zod, and inline handler dispatcher for zoom_get_recording_details.
    server.tool( 'zoom_get_recording_details', 'Get detailed information about a specific Zoom meeting recording including recording files and metadata', { zoom_access_token: z.string().describe('Zoom OAuth2 access token'), meeting_id: z.string().describe('The Zoom meeting ID to retrieve recording details for') }, async ({ zoom_access_token, meeting_id }) => { try { const zoom = new ZoomClient({ accessToken: zoom_access_token }); const result = await zoom.getRecordingDetails(meeting_id); return { content: [{ type: 'text', text: result }] }; } catch (error) { return { content: [{ type: 'text', text: `Error: ${error.message}` }] }; } }

Other Tools

Related Tools

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/peakmojo/mcp-server-zoom-noauth'

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