Skip to main content

Overview

The Fireflies MCP (Model Context Protocol) Server provides tools for searching, retrieving, and managing meeting transcripts, summaries, soundbites, channels, and user data. Tools operate within your authenticated Fireflies account — some are read-only while others allow you to take actions like sharing meetings or creating soundbites. For setup and configuration instructions, see MCP Server Configuration.

Available Tools

Meeting & Transcript Tools

fireflies_search and fireflies_fetch are experimental tools that may not be available to all users. They are being progressively rolled out and may require feature flag enablement.
Description: Advanced search for meeting transcripts using mini grammar syntax. (Experimental)Parameters:
  • query (string, required) - Search query with grammar syntax
  • format (string) - Response format: “toon” (default), “json”, or “text”
Query Grammar:
  • keyword:"term" - Search keywords
  • scope:title|sentences|all - Search scope
  • from:YYYY-MM-DD - Filter from date
  • to:YYYY-MM-DD - Filter to date
  • limit:N - Max results (50)
  • skip:N - Pagination offset
  • organizers:email1,email2 - Filter by organizers
  • participants:email1,email2 - Filter by participants
  • mine:true|false - User’s meetings only
  • channel:CHANNEL_ID - Filter by channel/folder ID (find IDs with fireflies_list_channels)
Example:
Tool
Description: Query multiple meetings with structured filters. Returns metadata and summaries.Parameters:
  • keyword (string) - Search term (max 255 chars)
  • scope (enum) - “title”, “sentences”, or “all”
  • fromDate (string) - ISO date (YYYY-MM-DD)
  • toDate (string) - ISO date (YYYY-MM-DD)
  • limit (number) - Max results (max 50)
  • skip (number) - Pagination offset
  • organizers (array) - Organizer emails
  • participants (array) - Participant emails
  • mine (boolean) - Only user’s meetings
  • channelId (string) - Only meetings in this channel/folder (find IDs with fireflies_list_channels)
  • format (string) - “toon” (default), “json”, or “text”
Example:
Returns: Meeting IDs, titles, dates, participants, summaries (excludes detailed transcript content).
Tool
Description: Fetch detailed transcript by ID with sentences, speakers, and timestamps. Excludes summary data. If the meeting is currently live (is_live: true), returns a point-in-time snapshot of the live transcript with sentences captured so far.Parameters:
  • transcriptId (string, required) - Meeting ID
Example:
Returns: Sentences with speaker attribution and metadata. Each sentence is prefixed with a [start - end] timestamp range (e.g. [00:05 - 00:08] Speaker: text, switching to h:mm:ss past an hour) so moments can be anchored back to the recording.
Tool
Description: Retrieve complete meeting data including transcript, summary, and metadata. (Experimental)Parameters:
  • id (string, required) - Meeting ID
Example:
Returns: Complete meeting data with transcript content, summary, analytics, and metadata.
Tool
Description: Fetch meeting summary by ID with action items, keywords, and overview. Excludes transcript content.Parameters:
  • transcriptId (string, required) - Meeting ID
Example:
Returns: Keywords, action items, overview, topics discussed, meeting type, and outline.
Tool
Description: Retrieves a list of currently active (in-progress) meetings. Returns meeting details including ID, title, organizer, meeting link, start/end time, privacy, and state. Admins can query active meetings for any user; regular users can only query their own.Parameters:
  • email (string, optional) - Email address to filter active meetings by a specific user. Admins can query any team member; regular users can only use their own email or omit this field.
  • states (array, optional) - Array of meeting states to filter by. Possible values: "active" (currently in progress), "paused" (meeting has been paused). If omitted, returns meetings in both states.
Example:
Returns: List of active meetings with ID, title, organizer, meeting link, start time, privacy, and state.
Tool
Description: Retrieves team and per-user meeting and conversation analytics. Returns meeting counts, durations, conversation metrics (filler words, questions, monologues, sentiment, talk-listen ratio, words per minute), and comparison data against previous periods. Team-level analytics require admin privileges.Parameters:
  • startTime (string, optional) - Start date/time filter in ISO 8601 format (e.g. "2024-01-01T00:00:00.000Z"). Limits analytics to meetings after this time.
  • endTime (string, optional) - End date/time filter in ISO 8601 format (e.g. "2024-12-31T23:59:59.999Z"). Limits analytics to meetings before this time.
Example:
Returns: Team and per-user meeting counts, durations, and conversation metrics with period-over-period comparisons.

Meeting Management Tools

Tool
Description: Shares a meeting transcript with specified email addresses. The authenticated user must be the owner of the meeting or a team admin. Up to 100 emails can be provided. Optionally set an expiry period for the shared access.Parameters:
  • meetingId (string, required) - The meeting ID / transcript ID to share
  • emails (array, required) - Array of email addresses to share the meeting with (max 100)
  • expiryDays (number, optional) - Expiry period in days for the shared access. Must be one of: 7, 14, 30
Example:
Returns: Confirmation of the sharing operation.
Tool
Description: Revokes a previously shared meeting access for a specific email address. The authenticated user must be the owner of the meeting or a team admin.Parameters:
  • meetingId (string, required) - The meeting ID / transcript ID to revoke access from
  • email (string, required) - The email address to revoke access for
Example:
Returns: Confirmation of the access revocation.
Tool
Description: Updates the title of a meeting transcript. The authenticated user must be the owner of the meeting or a team admin. The title must be between 5 and 256 characters.Parameters:
  • meetingId (string, required) - The meeting ID / transcript ID to update
  • title (string, required) - The new title for the meeting (5-256 characters)
Example:
Returns: Confirmation of the title update.
Tool
Description: Moves one or more meeting transcripts to a specified channel/folder. The authenticated user must be the owner of the meetings or a team admin. Up to 5 meeting IDs can be provided.Parameters:
  • meetingIds (array, required) - Array of meeting IDs / transcript IDs to move (max 5)
  • channelId (string, required) - The target channel/folder ID to move the meetings to
Example:
Returns: Confirmation of the move operation.

Channel Tools

Tool
Description: Lists all channels/folders available to the authenticated user. Returns channel details including ID, title, privacy setting, and members.Parameters: NoneExample:
Returns: List of channels with ID, title, privacy setting, and member details.
Tool
Description: Retrieves details of a specific channel/folder by its ID. Returns channel title, privacy setting, and member list.Parameters:
  • channelId (string, required) - The ID of the channel to retrieve
Example:
Returns: Channel title, privacy setting, and member list.

Soundbite Tools

Tool
Description: Fetches soundbites (short shareable audio/transcript clips from meetings). Can filter by transcript, ownership, or team. At least one of mine, transcript_id, or my_team must be provided.Parameters:
  • transcript_id (string, optional) - Transcript/meeting ID to get soundbites for a specific meeting
  • mine (boolean, optional) - Filter to only include soundbites owned by the authenticated user
  • my_team (boolean, optional) - Filter to include soundbites from the authenticated user’s team
  • limit (number, optional) - Limit for the number of soundbites to return (max 50)
  • skip (number, optional) - Number of soundbites to skip for pagination
  • format (string) - “toon” (default), “json”, or “text”
Example:
Returns: List of soundbites with IDs, names, start/end times, summaries, and associated meeting details.
Tool
Description: Creates a soundbite (clip) from a meeting transcript. A soundbite is a short audio/video segment extracted from a meeting. The authenticated user must have write access to the meeting.Parameters:
  • transcriptId (string, required) - The transcript ID / meeting ID to create the soundbite from
  • startTime (number, required) - Start time of the soundbite in seconds (must be >= 0)
  • endTime (number, required) - End time of the soundbite in seconds (must be > 0 and > startTime)
  • name (string, optional) - Name/title for the soundbite (max 256 characters)
  • mediaType (string, optional) - Media type (e.g. “audio”, “video”)
  • privacies (array, optional) - Privacy settings. Values: "public", "team", "participants"
  • summary (string, optional) - Summary text for the soundbite (max 500 characters)
Example:
Returns: Created soundbite details including ID and share URL.

File Upload Tools

fireflies_create_upload_url and fireflies_confirm_upload are listed only for accounts with direct upload enabled (the same access as the createUploadUrl mutation), require a paid plan, and need the meetings.upload scope. They upload a file the MCP client can read locally (for example in Claude Code); the file content never passes through the MCP server.
Tool
Description: Step 1 of uploading a local audio or video file for transcription. Creates an empty meeting and returns a pre-signed upload_url valid for 1 hour, plus a curl command that reads the file path from the shell variable FILE.Parameters:
  • contentType (enum, required) - MIME type of the file, e.g. audio/mpeg, audio/x-m4a, audio/wav, video/mp4, video/quicktime. See supported content types
  • fileSize (integer, required) - Exact file size in bytes (audio up to 400 MB, video up to 2 GB)
  • title (string, optional) - Meeting title (max 256 characters)
  • customLanguage (string, optional) - Language code, e.g. es (max 5 characters)
  • meetingDate (string, optional) - When the recording took place, RFC 3339 (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ/±HH:MM); not in the future
Example:
Returns: meeting_id, upload_url, expires_at, and upload (method: "PUT", the Content-Type header to send, and a curl command; set FILE to the file’s path, quoted for your shell, before running it). Upload the raw bytes with an HTTP PUT to upload_url using exactly that Content-Type, then call fireflies_confirm_upload.
Tool
Description: Step 3 of the upload: verifies the file arrived in storage and starts transcription. Only the user who created the upload URL can confirm it.Parameters:
  • meetingId (string, required) - The meeting_id returned by fireflies_create_upload_url
Example:
Returns: success, meeting_id and a status message. Transcription takes a few minutes; then fetch it with fireflies_get_transcript.

Send-to Tools (Transcript Import)

These tools require a paid plan and the meetings.upload scope. They are not listed for a free plan or when your organization has disabled file uploads. They make Fireflies a “Send to” destination: an assistant that holds a meeting transcript as text (for example Claude Meetings) copies it into a new Fireflies meeting. Only text is imported, with no audio, video or chat. It is a one-time copy and nothing syncs afterwards.
Transcript format (one utterance per line, in order): [HH:MM:SS] Speaker Name: what they said. The time is elapsed from the start of the meeting and kept as written: [00:10:00] is ten minutes in. A time with two parts is minutes and seconds ([10:03] is 10 minutes 3 seconds in), so always include the hours. Clock times also work when they carry AM/PM ([02:15:07 PM]) or match the clock time of startTime as written, so give startTime in the meeting’s local offset (2026-11-05T09:30:00-08:00, not the same instant as 17:30:00Z). They are converted to elapsed time, including across midnight. A transcript may span at most 24 hours; a longer one is refused when it is submitted. Generic labels such as Speaker 2 or Room are kept as speaker names. A line without a leading time continues the previous speaker. Each call takes at most 50,000 characters. A longer transcript goes in up to 40 numbered parts, each cut at a line break. Sending a part number again replaces that part, so a retry never duplicates text.
Tool
Description: Creates a new meeting from a text transcript and returns its link.Parameters:
  • title (string, required) - Meeting title (max 256 characters)
  • startTime (string, required) - ISO 8601 with the offset of the time zone the meeting took place in, e.g. 2026-11-05T09:30:00-08:00; not in the future
  • transcript (string, required) - Part 1 of the transcript, in the format above
  • complete (boolean, required) - true if this is the whole transcript, false if more parts follow
Returns: meeting_id, url, status (receiving, submitting or submitted), and the parts received so far. Once submitted, the url opens right away, and the transcript appears there within a few minutes. If the meeting was created but the transcript could not be submitted, the call still returns its meeting_id, with a message saying how to retry.
Tool
Description: Adds or replaces a numbered part of the transcript. Set complete: true on the last part to build the transcript. After that, the meeting cannot change.Parameters:
  • meetingId (string, required) - From fireflies_create_meeting_from_transcript
  • partNumber (integer, required) - 2, 3, … in transcript order (max 40); part 1 is the text sent at creation
  • text (string, optional) - The part, in the format above. Omit it, with complete: true, to only submit the parts already sent.
  • complete (boolean, required) - true on the last part
If complete: true answers submitting or a temporary error, send complete: true again in a couple of minutes. The transcript is resent only if Fireflies did not receive it.
Tool
Description: Shows what has landed: for each part, its character count, its number of non-empty lines, and its first and last line, plus the status. Use it after a failed call to decide which parts to send again.Parameters:
  • meetingId (string, required)

User & Team Tools

Tool
Description: Fetch user account details. Returns authenticated user if no ID provided.Parameters:
  • userId (string, optional) - User ID (omit for current user)
Example:
Returns: User ID, email, name, transcript count, recent meeting date, minutes consumed, admin status, and integrations.
Tool
Description: Fetch user groups for the authenticated user or team.Parameters:
  • mine (boolean) - true for user’s groups only, false (default) for all team groups
Example:
Returns: Group ID, name, handle, members with emails and roles.
Tool
Description: Fetch contact list sorted by most recent meeting date.Parameters:
  • format (string) - “toon” (default), “json”, or “text”
Example:
Returns: Contact emails, names, profile pictures, and last meeting dates.

Automation Tools

Tool
Description: Retrieves rule execution logs grouped by meeting. Shows which automation rules were triggered on meetings, including the actions taken (sharing, moving to channels, changing privacy). Requires Enterprise tier access. Results are paginated.Parameters:
  • ruleId (string, optional) - Filter by a specific rule ID
  • meetingId (string, optional) - Filter by a specific meeting ID
  • dateFrom (string, optional) - Filter executions from this date (ISO 8601 format, e.g. "2024-01-01T00:00:00Z")
  • dateTo (string, optional) - Filter executions up to this date (ISO 8601 format, e.g. "2024-12-31T23:59:59Z")
  • limit (number, optional) - Maximum number of meeting groups to return (default: 10, max: 50)
  • cursor (string, optional) - Pagination cursor from a previous response to fetch the next page
Example:
Returns: Rule execution logs grouped by meeting, including rule names, actions taken, and execution status.

Tool Comparison Matrix

Response Formats

Several tools support multiple response formats via the format parameter:
  • toon (default) - Token-efficient format optimized for AI model consumption
  • json - Standard JSON format for programmatic processing
  • text - Human-readable text format for display

Common Workflows

Search and Retrieve Pattern

  1. Use fireflies_search or fireflies_get_transcripts to find relevant meetings
  2. Extract meeting IDs from results
  3. Use fireflies_fetch to get complete details, or:
    • Use fireflies_get_transcript for conversation only
    • Use fireflies_get_summary for insights only

Team Analysis Pattern

  1. Use fireflies_get_usergroups to get team structure
  2. Extract member emails from target groups
  3. Use fireflies_get_transcripts with participants filter
  4. Optionally use fireflies_get_user for individual member details

Contact-Based Search Pattern

  1. Use fireflies_get_user_contacts to get contact list
  2. Find target contact by name or email
  3. Use fireflies_get_transcripts with contact email in participants
  4. Retrieve detailed transcripts or summaries as needed

Meeting Management Pattern

  1. Use fireflies_get_transcripts to find meetings to organize
  2. Use fireflies_list_channels to see available channels
  3. Use fireflies_move_meeting to move meetings into channels
  4. Use fireflies_update_meeting_title to rename meetings as needed

Soundbite Workflow

  1. Use fireflies_get_transcript to review a meeting’s conversation
  2. Identify key moments by timestamp
  3. Use fireflies_create_soundbite to clip important segments
  4. Use fireflies_get_soundbites to browse existing clips

Meeting Sharing Pattern

  1. Use fireflies_get_transcripts to find meetings to share
  2. Use fireflies_share_meeting to share with external or internal users
  3. Use fireflies_revoke_meeting_access to remove access when no longer needed

Getting Started

To use these tools:
  1. Configure MCP Server - Add Fireflies MCP Server to your AI application
    • Remote server URL: https://api.fireflies.ai/mcp
    • Supports OAuth or API key authentication
  2. Authenticate - Use OAuth flow or provide API key in configuration
  3. Invoke Tools - Call tools using their standardized names with JSON parameters
For detailed setup instructions, see MCP Server Configuration.

Additional Resources

MCP Configuration

Set up the Fireflies MCP Server in your AI application

GraphQL API

Direct GraphQL API access for custom integrations

Authorization

Learn about API authentication and security

LLM Development

Enhance AI coding experience with Fireflies data