The Fireflies MCP connector routes your AI agent's tool calls to Fireflies's own MCP server through Scalekit. Each user signs in to Fireflies once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 20 tools.
- Tools
- 20
- What they doRead · write · destructive
- 14 · 4 · 214 read4 write2 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Fireflies MCP connection
In AgentKit > Connections, create a Fireflies MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Fireflies MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'firefliesmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Fireflies MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'firefliesmcp_fireflies_get_active_meetings',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "firefliesmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Fireflies MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="firefliesmcp_fireflies_get_active_meetings",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolfirefliesmcp_fireflies_fetchRetrieve the full transcript, metadata, and insights for a single Fireflies meeting by its ID.Read-onlyFireflies Fetch
Retrieve the full transcript, metadata, and insights for a single Fireflies meeting by its ID.
Inputs
idstringrequired- The Fireflies transcript ID of the meeting to fetch. Get it from the search tool.
firefliesmcp_fireflies_get_active_meetingsList currently active (in-progress) meetings, including title, organizer, meeting link, start/end time, privacy, and state.Read-onlyFireflies Get Active Meetings
List currently active (in-progress) meetings, including title, organizer, meeting link, start/end time, privacy, and state.
Inputs
emailstring- 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.
statesarray- Meeting states to filter by. Accepted values: active, paused. If omitted, returns meetings in both states.
firefliesmcp_fireflies_get_analyticsRetrieve team and per-user meeting analytics for a given date range.Read-onlyFireflies Get Analytics
Retrieve team and per-user meeting analytics for a given date range.
Inputs
endTimestring- End of the analytics date range (ISO 8601 datetime).
startTimestring- Start of the analytics date range (ISO 8601 datetime).
firefliesmcp_fireflies_get_channelRetrieve details of a specific Fireflies channel (folder) by its ID.Read-onlyFireflies Get Channel
Retrieve details of a specific Fireflies channel (folder) by its ID.
Inputs
channelIdstringrequired- The ID of the channel/folder. Get it from the list_channels tool.
firefliesmcp_fireflies_get_rule_executionsRetrieve automation rule execution logs grouped by meeting, with optional filters.Read-onlyFireflies Get Rule Executions
Retrieve automation rule execution logs grouped by meeting, with optional filters.
Inputs
cursorstring- Pagination cursor from the previous response to fetch the next page.
dateFromstring- Filter rule executions on or after this date (YYYY-MM-DD).
dateTostring- Filter rule executions on or before this date (YYYY-MM-DD).
limitinteger- Maximum number of items to return.
meetingIdstring- The Fireflies transcript ID of the meeting. Get it from the search tool.
ruleIdstring- The ID of the automation rule to filter by.
firefliesmcp_fireflies_get_soundbitesFetch a list of soundbite clips, optionally filtered by meeting or ownership.Read-onlyFireflies Get Soundbites
Fetch a list of soundbite clips, optionally filtered by meeting or ownership.
Inputs
formatstring- Response format. Accepted values: json, text, toon.one of
toonjsontextdefaulttoon limitnumber- Maximum number of items to return.
mineboolean- Set to true to return only your own items.
my_teamboolean- Set to true to include items from your team members.
skipnumber- Number of items to skip for pagination.
transcript_idstring- Filter soundbites to a specific meeting transcript ID. Get it from the search tool.
firefliesmcp_fireflies_get_summaryFetch the meeting summary (keywords, action items, overview) for a meeting by its ID.Read-onlyFireflies Get Summary
Fetch the meeting summary (keywords, action items, overview) for a meeting by its ID. Excludes transcript content; use fireflies_get_transcript for that.
Inputs
transcriptIdstringrequired- The Fireflies transcript ID of the meeting to fetch the summary for. Get it from the search tool.
firefliesmcp_fireflies_get_transcriptFetch the detailed transcript (sentences and speakers) for a meeting by its ID.Read-onlyFireflies Get Transcript
Fetch the detailed transcript (sentences and speakers) for a meeting by its ID. Excludes summary data; use fireflies_get_summary for that.
Inputs
transcriptIdstringrequired- The Fireflies transcript ID of the meeting to fetch. Get it from the search tool.
firefliesmcp_fireflies_get_transcriptsQuery multiple meeting transcripts using filter properties (date range, keyword, organizer/participant email, channel, etc).Read-onlyFireflies Get Transcripts
Query multiple meeting transcripts using filter properties (date range, keyword, organizer/participant email, channel, etc). Returns basic metadata and summary, not full transcript content.
Inputs
channelIdstring- Optional channel/folder ID to only include meetings in that channel. Get it from the list_channels tool.
datenumber- Deprecated date filter. Use fromDate/toDate instead.
formatstring- Response format. Accepted values: json, text, toon.one of
toonjsontextdefaulttoon fromDatestring- Optional ISO 8601 date string (e.g. 2023-01-01) to filter meetings from this date.
keywordstring- Optional keyword to search for in meeting content.
limitnumber- Maximum number of items to return.
mineboolean- Set to true to return only your own items.
organizersarray- Array of organizer email addresses to filter meetings.
participantsarray- Array of participant email addresses to filter meetings.
scopestring- Scope for keyword search. Accepted values: title, sentences, all.one of
titlesentencesall skipnumber- Number of items to skip for pagination.
toDatestring- Optional ISO 8601 date string (e.g. 2023-12-31) to filter meetings until this date.
firefliesmcp_fireflies_get_userFetch account details for a Fireflies user; defaults to the currently authenticated user.Read-onlyFireflies Get User
Fetch account details for a Fireflies user; defaults to the currently authenticated user.
Inputs
userIdstring- The Fireflies user ID. Leave empty to fetch the currently authenticated user.
firefliesmcp_fireflies_get_user_contactsFetch the contact list for the authenticated Fireflies user.Read-onlyFireflies Get User Contacts
Fetch the contact list for the authenticated Fireflies user.
Inputs
formatstring- Response format. Accepted values: json, text, toon.one of
toonjsontextdefaulttoon
firefliesmcp_fireflies_get_usergroupsFetch user groups for the authenticated user or their team.Read-onlyFireflies Get Usergroups
Fetch user groups for the authenticated user or their team.
Inputs
mineboolean- Set to true to return only your own items.
firefliesmcp_fireflies_list_channelsList all channels (folders) available to the authenticated user.Read-onlyFireflies List Channels
List all channels (folders) available to the authenticated user.
Inputs
This tool takes no inputs.
firefliesmcp_fireflies_searchSearch meeting transcripts using keywords or Fireflies mini-grammar syntax.Read-onlyFireflies Search
Search meeting transcripts using keywords or Fireflies mini-grammar syntax.
Inputs
querystringrequired- Search query using the mini grammar syntax. Can be simple keywords or complex filters using the grammar.
formatstring- Response format. Accepted values: json, text, toon.one of
toonjsontextdefaulttoon
firefliesmcp_fireflies_create_soundbiteCreate a short audio or transcript clip from a meeting recording by specifying start and end times.WriteFireflies Create Soundbite
Create a short audio or transcript clip from a meeting recording by specifying start and end times.
Inputs
endTimenumberrequired- End time of the soundbite clip in seconds from the beginning of the recording.
startTimenumberrequired- Start time of the soundbite clip in seconds from the beginning of the recording.
transcriptIdstringrequired- The Fireflies transcript ID of the meeting to clip. Get it from the search or fetch tool.
mediaTypestring- The media type for the soundbite clip (e.g. audio or video).
namestring- A short label for the soundbite clip.
privaciesarray- Access levels for the soundbite. Pass as a JSON array via the SDK.
summarystring- A brief description of what this soundbite captures.
firefliesmcp_fireflies_update_meeting_privacyUpdate the privacy level of a meeting transcript.WriteFireflies Update Meeting Privacy
Update the privacy level of a meeting transcript.
- Idempotent
Inputs
meetingIdstringrequired- The Fireflies transcript ID of the meeting. Get it from the search tool.
privacystringrequired- Who can view this meeting. Accepted values: link, owner, participants, participatingteammates, teammatesandparticipants, teammates.one of
linkownerparticipantsparticipatingteammatesteammatesandparticipantsteammates
firefliesmcp_fireflies_update_meeting_titleRename a meeting transcript by its ID.WriteFireflies Update Meeting Title
Rename a meeting transcript by its ID.
- Idempotent
Inputs
meetingIdstringrequired- The Fireflies transcript ID of the meeting. Get it from the search tool.
titlestringrequired- The new title for the meeting transcript.
firefliesmcp_fireflies_move_meetingMove one or more meeting transcripts to a specified channel or folder.DestructiveFireflies Move Meeting
Move one or more meeting transcripts to a specified channel or folder.
- Idempotent
Inputs
channelIdstringrequired- The ID of the channel/folder. Get it from the list_channels tool.
meetingIdsarrayrequired- Array of meeting IDs / transcript IDs to move (max 5)
firefliesmcp_fireflies_revoke_meeting_accessRevoke a previously shared meeting access for a specific email address.DestructiveFireflies Revoke Meeting Access
Revoke a previously shared meeting access for a specific email address.
- Idempotent
Inputs
emailstringrequired- The email address of the user whose access to revoke.
meetingIdstringrequired- The Fireflies transcript ID of the meeting. Get it from the search tool.
No tools match.