Skip to content
Scalekit Docs

HappyScribe MCP

Vendor MCP39 toolsOAuth 2.1/DCRTranscriptionAI

HappyScribe is an AI-powered transcription and translation service. Connect your HappyScribe account to search transcripts, generate meeting summaries...

HappyScribe MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'happyscribemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize HappyScribe MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'happyscribemcp_get_folder_hierarchy',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Retranscribe records — Re-runs automatic transcription (ASR) on the existing media of a transcription already in the workspace, replacing the current transcript in place (the transcription keeps its ID)
  • Quotes verify — REQUIRED for quote extraction: Verifies quote text against the actual transcription content and returns precise timestamps and working links to each quote in the editor
  • File upload — Upload an audio or video file to HappyScribe for transcription
  • Update summary template, project notes — Update an existing summary template
  • Template set meeting — Configure which summary template to use for future meetings
  • Search transcriptions, helpdesk — Search for exact text/keywords within transcription content (like grep)

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

happyscribemcp_create_folder#Create a new folder. Specify a parent via parent_folder_id; if omitted, the folder is created at the root of the workspace, or in your private folder when the workspace ("team folders") is disabled for the organization. Use list_transcriptions or get_folder_hierarchy to look up the parent folder ID first.2 params

Create a new folder. Specify a parent via parent_folder_id; if omitted, the folder is created at the root of the workspace, or in your private folder when the workspace ("team folders") is disabled for the organization. Use list_transcriptions or get_folder_hierarchy to look up the parent folder ID first.

NameTypeRequiredDescription
namestringrequiredFolder name
parent_folder_idintegeroptionalParent folder ID. Omit to create at the default location (workspace root, or your private folder when team folders are disabled).
happyscribemcp_create_summary_template#Create a new meeting summary template. The body is markdown where each ## heading becomes a section in the generated summary. Optionally include meeting context to give the AI additional instructions about the type of meeting.4 params

Create a new meeting summary template. The body is markdown where each ## heading becomes a section in the generated summary. Optionally include meeting context to give the AI additional instructions about the type of meeting.

NameTypeRequiredDescription
bodystringrequiredTemplate body in markdown. Use ## headings to define sections (e.g. "## Key Points\n\nCapture main topics\n\n## Action Items\n\nList next steps")
namestringrequiredTemplate name (max 100 characters)
meeting_contextstringoptionalOptional context about the meeting type, sent to the AI alongside the template (e.g. "This is a weekly engineering standup")
visibilitystringoptionalWho can see and use this template: "private" (only you, default) or "workspace" (all team members)
happyscribemcp_create_transcription#Creates a transcription or subtitles from a publicly accessible media file URL (e.g., a direct link to an audio/video file, a YouTube or Vimeo link, or a public cloud storage share link). The file is imported and processed in the background - check progress and retrieve the result with list_transcriptions or get_transcription. To transcribe local files, direct the user to upload them at https://www.happyscribe.com.5 params

Creates a transcription or subtitles from a publicly accessible media file URL (e.g., a direct link to an audio/video file, a YouTube or Vimeo link, or a public cloud storage share link). The file is imported and processed in the background - check progress and retrieve the result with list_transcriptions or get_transcription. To transcribe local files, direct the user to upload them at https://www.happyscribe.com.

NameTypeRequiredDescription
languagestringrequiredLanguage code (e.g., en-US, es-ES, fr-FR) or "auto" for automatic language detection. For best results, specify the language when known.
urlstringrequiredURL of a publicly accessible media file to transcribe (e.g., https://example.com/video.mp4 or a YouTube link).
folder_idintegeroptionalID of the folder to place the transcription in. Uses default folder if not provided. Use folder_path instead if you want to specify a folder by path.
folder_pathstringoptionalPath to the folder to place the transcription in (e.g., "/All files/My Folder/Subfolder"). Uses default folder if not provided.
operationstringoptionalType of operation: transcription or subtitles (default: transcription)
happyscribemcp_delete_folder#Soft-delete a folder. The folder must be empty (no kept files or subfolders) — to delete a non-empty folder, first move or delete its contents using move_transcriptions or delete_transcriptions.1 param

Soft-delete a folder. The folder must be empty (no kept files or subfolders) — to delete a non-empty folder, first move or delete its contents using move_transcriptions or delete_transcriptions.

NameTypeRequiredDescription
idintegerrequiredFolder ID to delete
happyscribemcp_delete_summary_template#Delete a summary template. Only the template creator or a workspace admin can delete it. The template is soft-deleted and can be recovered within 10 days.1 param

Delete a summary template. Only the template creator or a workspace admin can delete it. The template is soft-deleted and can be recovered within 10 days.

NameTypeRequiredDescription
idintegerrequiredTemplate ID to delete
happyscribemcp_delete_transcriptions#Soft-delete one or more transcriptions (move to trash, restorable by the user). Accepts up to 50 transcription IDs per call. Authorization is checked per transcription; if any fails, no transcriptions are deleted. Permanent deletion is not exposed via this connector.1 param

Soft-delete one or more transcriptions (move to trash, restorable by the user). Accepts up to 50 transcription IDs per call. Authorization is checked per transcription; if any fails, no transcriptions are deleted. Permanent deletion is not exposed via this connector.

NameTypeRequiredDescription
idsarrayrequiredArray of transcription IDs (hashed_id) to soft-delete (max 50)
happyscribemcp_get_conversation#Get the full content of an AI conversation, including all messages and responses.1 param

Get the full content of an AI conversation, including all messages and responses.

NameTypeRequiredDescription
idintegerrequiredConversation ID (from list_conversations)
happyscribemcp_get_folder_hierarchy#Get the folder hierarchy with transcription counts. Shows accessible folders organized by location (Team, Private, Shared with me). USE THIS when list_transcriptions returns more results than you can effectively browse and you need to understand how transcriptions are organized. Then use list_transcriptions with folder_path to browse specific folders.3 params

Get the folder hierarchy with transcription counts. Shows accessible folders organized by location (Team, Private, Shared with me). USE THIS when list_transcriptions returns more results than you can effectively browse and you need to understand how transcriptions are organized. Then use list_transcriptions with folder_path to browse specific folders.

NameTypeRequiredDescription
locationstringoptionalOptional. Filter by location: workspace (team folders), private (your personal folders), or shared (folders shared with you by others).
max_depthintegeroptionalOptional. Maximum folder depth to return (default: unlimited). Depth 1 = immediate children only, 2 = children and grandchildren, etc.
root_pathstringoptionalOptional. Start from this folder path instead of root (e.g., "/Projects/2024"). Only returns folders under this path. When set, output is flat (not grouped by location).
happyscribemcp_get_glossary#Get the full contents of a glossary, including all custom terms and their definitions.1 param

Get the full contents of a glossary, including all custom terms and their definitions.

NameTypeRequiredDescription
idintegerrequiredGlossary ID (from list_glossaries)
happyscribemcp_get_helpdesk_article#Get the full content of a HappyScribe help article by ID. Use search_helpdesk first to find relevant article IDs.1 param

Get the full content of a HappyScribe help article by ID. Use search_helpdesk first to find relevant article IDs.

NameTypeRequiredDescription
idstringrequiredHelp article ID (from search_helpdesk results)
happyscribemcp_get_meeting_diagnostics#Get technical diagnostics for a meeting recording: Notetaker join status, recording state, processing errors, and timeline events. Use this when a meeting recording is missing or has issues.1 param

Get technical diagnostics for a meeting recording: Notetaker join status, recording state, processing errors, and timeline events. Use this when a meeting recording is missing or has issues.

NameTypeRequiredDescription
calendar_event_idintegerrequiredCalendar event ID (from list_calendar_events)
happyscribemcp_get_project#Get details of a specific project: name, instructions, notes, files, and members. Use list_projects first to find the project ID.1 param

Get details of a specific project: name, instructions, notes, files, and members. Use list_projects first to find the project ID.

NameTypeRequiredDescription
idintegerrequiredThe project ID (from list_projects)
happyscribemcp_get_summary_template#Get the full details of a summary template by ID (for user/workspace templates) or slug (for system templates). Returns the name, markdown body, sections, meeting context, and visibility.2 params

Get the full details of a summary template by ID (for user/workspace templates) or slug (for system templates). Returns the name, markdown body, sections, meeting context, and visibility.

NameTypeRequiredDescription
idintegeroptionalTemplate ID (for user or workspace templates)
slugstringoptionalTemplate slug (for system templates, e.g. "general_meeting_notes")
happyscribemcp_get_transcription#Get detailed information about a specific transcription2 params

Get detailed information about a specific transcription

NameTypeRequiredDescription
idstringrequiredThe transcription ID (hashed_id)
display_modestringoptionalDisplay mode: full_text (default, complete transcription), summary (AI-generated summary), or metadata_only (no content).
happyscribemcp_get_transcriptions#Get detailed information about multiple transcriptions at once. Use this after listing transcriptions to get full content/summaries for multiple files efficiently.2 params

Get detailed information about multiple transcriptions at once. Use this after listing transcriptions to get full content/summaries for multiple files efficiently.

NameTypeRequiredDescription
idsarrayrequiredArray of transcription IDs (hashed_id) to retrieve (max 5)
display_modestringoptionalDisplay mode: full_text (default, complete transcription), summary (AI-generated summary), or metadata_only (no content).
happyscribemcp_get_video_frames#Extract visual frames (screenshots) from a video recording at specific timestamps. Use this when the conversation references something visual — a screen share, presentation, diagram, or UI — and you need to see what was on screen. Returns the frames as images. Only works for video recordings (meetings, screen recordings); audio-only files have no frames.3 params

Extract visual frames (screenshots) from a video recording at specific timestamps. Use this when the conversation references something visual — a screen share, presentation, diagram, or UI — and you need to see what was on screen. Returns the frames as images. Only works for video recordings (meetings, screen recordings); audio-only files have no frames.

NameTypeRequiredDescription
idstringrequiredThe transcription ID (hashed_id)
timestampsarrayrequiredTimestamps in seconds to extract frames from (max 3). Use timestamps from the transcription content to target moments of interest.
skip_cachebooleanoptionalSkip cached results and force a fresh extraction. Use only if a previous result was wrong.
happyscribemcp_get_workspace#Get information about the current workspace: name, plan, member count, storage usage, and feature flags.0 params

Get information about the current workspace: name, plan, member count, storage usage, and feature flags.

happyscribemcp_list_calendar_events#List calendar events (scheduled meetings) with their recording status. Use this to see what meetings are scheduled, which will be recorded, and prepare for upcoming meetings. Supports date filtering to find meetings in specific time ranges (past, present, or future). Can filter by series_ids to get all instances of recurring meeting series.4 params

List calendar events (scheduled meetings) with their recording status. Use this to see what meetings are scheduled, which will be recorded, and prepare for upcoming meetings. Supports date filtering to find meetings in specific time ranges (past, present, or future). Can filter by series_ids to get all instances of recurring meeting series.

NameTypeRequiredDescription
limitintegeroptionalMaximum number of results to return (default: 20, max: 100)
series_idsarrayoptionalFilter by meeting series IDs (ical_uid) to get all instances of specific recurring meetings
start_time_afterstringoptionalReturn only events starting on or after this ISO-8601 date-time (e.g., "2025-01-01" or "-P7D" for last 7 days)
start_time_beforestringoptionalReturn only events starting before this ISO-8601 date-time
happyscribemcp_list_conversations#List AI conversations in a project. Conversations are threaded AI chat sessions within a project context, used to analyze and query transcriptions.1 param

List AI conversations in a project. Conversations are threaded AI chat sessions within a project context, used to analyze and query transcriptions.

NameTypeRequiredDescription
project_idintegerrequiredProject ID (from list_projects) to list conversations for
happyscribemcp_list_glossaries#List custom glossaries in the workspace. Glossaries define custom vocabulary (names, jargon, technical terms) that improve transcription accuracy.0 params

List custom glossaries in the workspace. Glossaries define custom vocabulary (names, jargon, technical terms) that improve transcription accuracy.

happyscribemcp_list_projects#List projects in the workspace. Projects group transcriptions, instructions, and AI conversations around a specific goal (e.g., a research study, client engagement, story).2 params

List projects in the workspace. Projects group transcriptions, instructions, and AI conversations around a specific goal (e.g., a research study, client engagement, story).

NameTypeRequiredDescription
limitintegeroptionalMaximum number of results (default: 20, max: 100)
statusstringoptionalFilter by status: active, completed, archived, or all (default: active)
happyscribemcp_list_read_files#List files already read this month and show remaining quota. Some plans have a monthly limit on how many unique files can be read with display_mode: "full_text" — once a file has been read, re-reading it is always free. Summaries and metadata are also always free.0 params

List files already read this month and show remaining quota. Some plans have a monthly limit on how many unique files can be read with display_mode: "full_text" — once a file has been read, re-reading it is always free. Summaries and metadata are also always free.

happyscribemcp_list_summary_templates#List meeting summary templates available in the workspace. Returns your private templates, shared workspace templates created by teammates, and built-in system templates. Templates define the structure and sections of AI-generated meeting summaries.0 params

List meeting summary templates available in the workspace. Returns your private templates, shared workspace templates created by teammates, and built-in system templates. Templates define the structure and sections of AI-generated meeting summaries.

happyscribemcp_list_transcriptions#List transcriptions accessible to the user with optional filtering. Returns results ordered by creation date (newest first). START HERE to see recent transcriptions. When the user asks about THEIR OWN transcriptions (e.g. "my files", "my meetings", "what have I been working on") ALWAYS pass scope: 'mine'. Without scope: 'mine', this tool returns every file the user can technically access via folder permissions, which is usually NOT what "my files" means. Supports filtering by folder, location, date range, person, company, and pagination.14 params

List transcriptions accessible to the user with optional filtering. Returns results ordered by creation date (newest first). START HERE to see recent transcriptions. When the user asks about THEIR OWN transcriptions (e.g. "my files", "my meetings", "what have I been working on") ALWAYS pass scope: 'mine'. Without scope: 'mine', this tool returns every file the user can technically access via folder permissions, which is usually NOT what "my files" means. Supports filtering by folder, location, date range, person, company, and pagination.

NameTypeRequiredDescription
company_domainstringoptionalFilter by company domain (e.g., "acme.com").
company_namestringoptionalFilter by company name. Returns transcriptions where anyone from that company was involved.
created_afterstringoptionalReturn only transcriptions created on or after this ISO-8601 date-time
created_beforestringoptionalReturn only transcriptions created before this ISO-8601 date-time
file_originstringoptionalFilter by file origin: 'recording' (captured live) or 'upload' (user-uploaded file).
folder_idintegeroptionalFilter by folder ID. Returns transcriptions in this folder only.
folder_pathstringoptionalFilter by folder path (e.g., "/My Folder/Subfolder"). Returns transcriptions in this folder only.
limitintegeroptionalMaximum number of results to return (default: 20, max: 250)
locationstringoptionalFilter by location: workspace (team files), private (your personal files), or shared (files shared with you by others).
offsetintegeroptionalNumber of results to skip for pagination (default: 0)
person_emailstringoptionalFilter by person email (matches primary and secondary emails).
person_namestringoptionalFilter by person name. Returns transcriptions where this person was involved.
preview_modestringoptionalPreview mode: none (default), summary (AI-generated summary), or beginning (first ~500 words).
scopestringoptionalUse scope: 'mine' to return only transcriptions associated with the current user — files they own, participated in, or that were directly shared with them.
happyscribemcp_move_transcriptions#Move one or more transcriptions to a different folder in the same organization. Accepts up to 50 transcription IDs per call. Use list_transcriptions or get_folder_hierarchy to look up the destination folder ID first. Cross-organization moves are not supported. Authorization is checked per transcription and on the destination folder; if any check fails, no transcriptions are moved.2 params

Move one or more transcriptions to a different folder in the same organization. Accepts up to 50 transcription IDs per call. Use list_transcriptions or get_folder_hierarchy to look up the destination folder ID first. Cross-organization moves are not supported. Authorization is checked per transcription and on the destination folder; if any check fails, no transcriptions are moved.

NameTypeRequiredDescription
folder_idintegerrequiredTarget folder ID. Use get_folder_hierarchy to find folder IDs.
idsarrayrequiredArray of transcription IDs (hashed_id) to move (max 50)
happyscribemcp_reassign_speakers#Reassign speakers for one or more time ranges in a transcription. The server splits affected paragraphs at word boundaries and assigns the given speaker label to all words in each range. Adjacent paragraphs with the same speaker are merged automatically. Use this to fix diarization errors where paragraphs contain speech from multiple people. Returns the resulting speaker timeline so you can verify the changes.2 params

Reassign speakers for one or more time ranges in a transcription. The server splits affected paragraphs at word boundaries and assigns the given speaker label to all words in each range. Adjacent paragraphs with the same speaker are merged automatically. Use this to fix diarization errors where paragraphs contain speech from multiple people. Returns the resulting speaker timeline so you can verify the changes.

NameTypeRequiredDescription
idstringrequiredTranscription ID (hashed_id).
segmentsarrayrequiredTime ranges to reassign. Each segment specifies a time range and the speaker to assign.
happyscribemcp_regenerate_summary#Regenerate the meeting summary for a transcription. Optionally specify a template to use — otherwise the existing template (or the default from the resolution chain) is used. The summary is generated asynchronously; use get_transcription to check the result.3 params

Regenerate the meeting summary for a transcription. Optionally specify a template to use — otherwise the existing template (or the default from the resolution chain) is used. The summary is generated asynchronously; use get_transcription to check the result.

NameTypeRequiredDescription
transcription_idstringrequiredTranscription ID (hashed_id)
template_idintegeroptionalTemplate ID to use (for user/workspace templates). Omit to keep the current template.
template_slugstringoptionalTemplate slug to use (for system templates, e.g. "discovery_call"). Omit to keep the current template.
happyscribemcp_rename_folder#Rename a folder. The folder ID can be found using get_folder_hierarchy.2 params

Rename a folder. The folder ID can be found using get_folder_hierarchy.

NameTypeRequiredDescription
idintegerrequiredFolder ID to rename
namestringrequiredNew folder name
happyscribemcp_rename_speakers#Rename one or more speakers in a transcription. Pass a mapping of current speaker label -> new speaker label. All paragraphs whose speaker matches a key are updated. Match is exact (case-sensitive). Use get_transcription first to see the current speaker labels.2 params

Rename one or more speakers in a transcription. Pass a mapping of current speaker label -> new speaker label. All paragraphs whose speaker matches a key are updated. Match is exact (case-sensitive). Use get_transcription first to see the current speaker labels.

NameTypeRequiredDescription
idstringrequiredTranscription ID (hashed_id).
mappingobjectrequiredMapping from current speaker label to new speaker label. Keys must match speaker labels exactly (case-sensitive). Values are the new labels.
happyscribemcp_rename_transcription#Rename a transcription file. Updates the display name shown in the dashboard and folder listings.2 params

Rename a transcription file. Updates the display name shown in the dashboard and folder listings.

NameTypeRequiredDescription
idstringrequiredTranscription ID (hashed_id)
namestringrequiredNew display name for the transcription
happyscribemcp_replace_text_in_transcript#Find and replace exact text in a transcription. Replaces every occurrence of `find` with `replace` across all paragraphs. Optionally constrain to a time window with `from_seconds` and `to_seconds` — only occurrences whose word-level timestamps intersect that window are replaced. Use this to fix consistent typos, names, or product mentions. For speaker label changes, use rename_speakers instead.5 params

Find and replace exact text in a transcription. Replaces every occurrence of `find` with `replace` across all paragraphs. Optionally constrain to a time window with `from_seconds` and `to_seconds` — only occurrences whose word-level timestamps intersect that window are replaced. Use this to fix consistent typos, names, or product mentions. For speaker label changes, use rename_speakers instead.

NameTypeRequiredDescription
findstringrequiredExact text to find (case-sensitive). Cannot be empty.
idstringrequiredTranscription ID (hashed_id).
replacestringrequiredReplacement text. Can be empty (deletes the matched text).
from_secondsnumberoptionalOptional lower bound (in seconds) of the time window.
to_secondsnumberoptionalOptional upper bound (in seconds) of the time window.
happyscribemcp_retranscribe#Re-runs automatic transcription (ASR) on the existing media of a transcription already in the workspace, replacing the current transcript in place (the transcription keeps its ID). Use this to fix a file that was transcribed in the wrong language, or to re-process it after its settings changed. Only finished automatic transcriptions with their media still available can be retranscribed. Retranscription runs in the background - poll with get_transcription (display_mode: metadata_only) until the state is "done".2 params

Re-runs automatic transcription (ASR) on the existing media of a transcription already in the workspace, replacing the current transcript in place (the transcription keeps its ID). Use this to fix a file that was transcribed in the wrong language, or to re-process it after its settings changed. Only finished automatic transcriptions with their media still available can be retranscribed. Retranscription runs in the background - poll with get_transcription (display_mode: metadata_only) until the state is "done".

NameTypeRequiredDescription
idstringrequiredThe transcription ID (hashed_id) of the file to retranscribe.
languagestringoptionalLanguage code to transcribe in (e.g., en-US, es-ES, fr-FR). Defaults to the transcription's current language when omitted.
happyscribemcp_search_helpdesk#Search HappyScribe helpdesk articles to answer questions about product features, policies, and how-to guides. Use this when the user asks about how HappyScribe works, product documentation, feature explanations, pricing details, data policies (e.g. "how long are files stored?", "is my data used for training?"), account settings, troubleshooting, or any question that might be answered in help documentation. This searches published help center articles and returns relevant excerpts with links to the full articles.2 params

Search HappyScribe helpdesk articles to answer questions about product features, policies, and how-to guides. Use this when the user asks about how HappyScribe works, product documentation, feature explanations, pricing details, data policies (e.g. "how long are files stored?", "is my data used for training?"), account settings, troubleshooting, or any question that might be answered in help documentation. This searches published help center articles and returns relevant excerpts with links to the full articles.

NameTypeRequiredDescription
querystringrequiredSearch query for helpdesk articles (e.g., "how long are files stored", "data training policy", "export formats")
limitintegeroptionalMaximum number of results to return (default: 5, max: 10)
happyscribemcp_search_transcriptions#Search for exact text/keywords within transcription content (like grep). Use this to find specific names, product names, or exact phrases. For browsing by topic, date, or category, use get_folder_hierarchy + list_transcriptions instead.5 params

Search for exact text/keywords within transcription content (like grep). Use this to find specific names, product names, or exact phrases. For browsing by topic, date, or category, use get_folder_hierarchy + list_transcriptions instead.

NameTypeRequiredDescription
querystringrequiredSearch query to find in transcription content
created_afterstringoptionalReturn only transcriptions created on or after this ISO-8601 date-time
created_beforestringoptionalReturn only transcriptions created before this ISO-8601 date-time
limitintegeroptionalMaximum number of results to return (default: 20)
offsetintegeroptionalNumber of results to skip for pagination (default: 0)
happyscribemcp_set_meeting_template#Configure which summary template to use for future meetings. With scope "meeting": sets the template on a calendar event (and all upcoming instances if recurring). With scope "default": sets the template as your personal default for all future meetings.4 params

Configure which summary template to use for future meetings. With scope "meeting": sets the template on a calendar event (and all upcoming instances if recurring). With scope "default": sets the template as your personal default for all future meetings.

NameTypeRequiredDescription
scopestringrequired"meeting" to set on this meeting/series, "default" to set as your personal default
calendar_event_idintegeroptionalCalendar event ID (required when scope is "meeting", get from list_calendar_events)
template_idintegeroptionalTemplate ID (for user/workspace templates)
template_slugstringoptionalTemplate slug (for system templates)
happyscribemcp_update_project_notes#Update the AI memory for a project. Use this to persist key findings, decisions, and patterns discovered across conversations. Keep notes concise, structured, and factual. Only use when you discover something important that should persist across conversations.2 params

Update the AI memory for a project. Use this to persist key findings, decisions, and patterns discovered across conversations. Keep notes concise, structured, and factual. Only use when you discover something important that should persist across conversations.

NameTypeRequiredDescription
idintegerrequiredThe project ID
notesstringrequiredThe updated AI memory content (replaces existing memory entirely)
happyscribemcp_update_summary_template#Update an existing summary template. Only the template creator can edit it. Pass only the fields you want to change — omitted fields are left unchanged.5 params

Update an existing summary template. Only the template creator can edit it. Pass only the fields you want to change — omitted fields are left unchanged.

NameTypeRequiredDescription
idintegerrequiredTemplate ID
bodystringoptionalNew template body in markdown
meeting_contextstringoptionalNew meeting context (pass empty string to clear)
namestringoptionalNew template name
visibilitystringoptionalNew visibility setting
happyscribemcp_upload_file#Upload an audio or video file to HappyScribe for transcription. Supports direct file upload (base64) or transcription from a public URL. Returns the transcription ID which can be used with get_transcription to check status and retrieve results.6 params

Upload an audio or video file to HappyScribe for transcription. Supports direct file upload (base64) or transcription from a public URL. Returns the transcription ID which can be used with get_transcription to check status and retrieve results.

NameTypeRequiredDescription
file_contentstringoptionalBase64-encoded file content (mutually exclusive with url)
filenamestringoptionalFilename with extension (e.g. "meeting.mp4"). Required when using file_content.
folder_idintegeroptionalFolder ID to place the transcription in. Defaults to the user's root folder.
languagestringoptionalLanguage code (e.g. "en", "fr", "es"). Defaults to workspace default if omitted.
namestringoptionalDisplay name for the transcription. Defaults to the filename.
urlstringoptionalPublic URL of the audio/video file to transcribe (mutually exclusive with file_content)
happyscribemcp_verify_quotes#REQUIRED for quote extraction: Verifies quote text against the actual transcription content and returns precise timestamps and working links to each quote in the editor. This is the ONLY reliable way to get accurate quote positions — never generate links or timestamps from memory as they will be incorrect. Always call this tool immediately after identifying quotes to extract. Counts as a file read (same quota as get_transcription with full_text).2 params

REQUIRED for quote extraction: Verifies quote text against the actual transcription content and returns precise timestamps and working links to each quote in the editor. This is the ONLY reliable way to get accurate quote positions — never generate links or timestamps from memory as they will be incorrect. Always call this tool immediately after identifying quotes to extract. Counts as a file read (same quota as get_transcription with full_text).

NameTypeRequiredDescription
idstringrequiredThe transcription ID (hashed_id)
quotesarrayrequiredArray of quotes to verify (max 20 per request)