MCP App Store
by KeenEthics

Overview

Krisp AI Meeting Assistant MCP gives your AI assistant secure access to your meeting history, including transcripts, summaries, action items, and upcoming meetings. It enables your AI to work with real context from your actual conversations. Put your meetings to work: Draft documents and proposals using decisions, feedback, and stakeholder input from past meetings. Prepare for upcoming meetings with quick briefs on previous discussions, pending items, and attendees. Track follow ups by surfacing open action items across all meetings, filtered by assignee, status, or date. Search for specific moments by topic, attendee, keyword, or date range. Build presentations and reports by combining insights from multiple conversations in one place. How it works: Your AI assistant searches and retrieves information from your Krisp meetings in real time. Ask in plain language, such as “What did we decide about pricing last week?” or “Show my open action items,” and get answers grounded in what was actually discussed. Full transcripts are available whenever you need deeper context. Why it’s different: Krisp captures complete meeting transcripts with noise cancelled audio clarity, so your AI works from accurate and comprehensive records. Instead of static notes, your meetings become a structured, searchable knowledge base your AI assistant can use whenever you need it.

Tools

add_to_folder

ChatGPT
Add meetings to one of the user's folders, in ONE call (up to 50 meetings). - folder_id: from list_folders, or the folder_id create_folder just returned. A folder created moments ago takes a few seconds to appear in list_folders, so reuse the id create_folder gave you instead of looking it up. - meeting_ids: every meeting to add, all in this one call. Never loop one call per meeting. - The user must be the folder's owner or a collaborator; on a team folder, any member of that team can add. - Only meetings the user owns can be added, and only to a folder of the meeting's own team. A meeting already in the folder counts as done. - A meeting the user cannot open is reported as not found. - Each meeting gets its own outcome: the result lists what was added, what was already there, and what could not be added and why. Report all of it; do not retry the whole batch.

attach_tag

ChatGPT
Add tags to meetings by tag name (what the user sees, not an ID). - To tag SEVERAL meetings, or add SEVERAL tags: make ONE call with assignments covering everything. Never loop one call per tag — per-call requests are rate-limited and waste time. - If a tag with a given name doesn't exist yet, it is created (team-shared, like creating one in the app) and then added — this is how you auto-tag. - Matching is case-insensitive. - Idempotent: adding a tag that's already on the meeting succeeds and does nothing. - You must have edit access to the meeting. - HARD LIMIT: a meeting holds at most 7 tags TOTAL (already-attached ones count). Prefer 1-3 precise tags per meeting. Adds beyond the limit fail for that meeting — skip it or remove an old tag first with detach_tag; retrying with different tags does NOT help.

bulk_update_speakers

ChatGPT
Reassign speakers in a meeting's transcript — one speaker or all of them in a single call. Both the transcript and the summary update (same as renaming a speaker in the app).

complete_action_item

ChatGPT
Mark an action item done or not done, by its id (from list_action_items). - completed defaults to true (done). Pass false to mark it not done. - For MORE THAN ONE item, call complete_action_items instead (one call, up to 50 ids) — never loop this tool. - Idempotent: setting it to the state it's already in succeeds and changes nothing. - You must have edit access to the meeting the action item belongs to. - Identify the item ONLY by action_item_id (a 32-char hex string), never by title or number — titles are not unique and are not ids. If the caller refers to an item by title/name/number instead of a valid id, do NOT complete it — not even if exactly one item matches: call list_action_items, present the candidates with their ids, and ask for the id.

complete_action_items

ChatGPT
Mark MANY action items done or not done in ONE call (up to 50 ids). - Use this whenever more than one item changes state — closing duplicates, clearing a list, reopening a batch. Never loop complete_action_item. - list_action_items returns id and meeting_id for every item; pass them here as action_item_id / meeting_id. - completed applies to every item and defaults to true. Idempotent. - Partial failures do not fail the batch: the result lists updated and failed ids separately — report both, do not retry the whole batch. - Identify items ONLY by id, never by title or number.

create_folder

ChatGPT
Create a new PRIVATE meeting folder for the user, like creating one in the Krisp app. - name is required (1-50 characters); description is optional (up to 500 characters). - Folders created here are always private. Team folders cannot be created here; they can be created in the Krisp app. - Names must be unique among the user's private folders. A duplicate name fails and nothing is created. - Always choose the folder's icon yourself: prefer the named icon that best fits the folder's name, description or the meetings being filed, with a fitting icon_color. Use a single emoji only when no named icon fits. If both are given the named icon is used; if neither, the app's default Folder icon is used. - Good pairings: sales or calls → MegaphoneFill or HeadsetFill; finance → BillingFill; people or 1:1s → User2PeopleFill; a team → UserGroupFill; security → ShieldFill; planning → CalendarFill or FlagFill; ideas → LightningFill. - The icon can only be set when the folder is created; the user can change it later in the Krisp app. - Returns the new folder_id and the folder's icon. To put meetings in the new folder, pass that folder_id straight to add_to_folder: a new folder takes a few seconds to appear in list_folders, so do not look it up there.

date_time

ChatGPT
Get current date/time or enumerate dates in a range. Two Modes 1. Current Date/Time (no parameters) Returns: - Current date in multiple formats (ISO, dd/mm/yyyy) - Current time (HH:MM:SS with timezone) - Day of the week (Mon, Tue, Wed, etc.) - Unix timestamp 2. Date Range Enumeration (with start_date and end_date) Returns all dates between start and end (inclusive) with: - Date in dd/mm/yy format - Day of the week abbreviation (Mon, Tue, Wed, Thu, Fri, Sat, Sun) Parameters - start_date (optional): Start of date range (inclusive). ISO 8601 or dd/mm/yyyy format. - end_date (optional): End of date range (inclusive). ISO 8601 or dd/mm/yyyy format.

detach_tag

ChatGPT
Remove tags from meetings by tag name (what the user sees, not an ID). - To untag SEVERAL meetings, or remove SEVERAL tags: make ONE call with assignments covering everything. Never loop one call per tag — per-call requests are rate-limited and waste time. - Matching is case-insensitive. - Idempotent: removing a tag that isn't on the meeting (or doesn't exist) succeeds and does nothing. - The tag itself is not deleted; it's only removed from the meeting(s). - You must have edit access to the meeting.

get_folder

ChatGPT
Get a folder's details and the meetings it contains. Use this to answer questions about "this folder" (its name, what meetings are in it, summarizing the folder, etc.). Response Fields - folder: { folder_id, name, description, visibility, my_role, meeting_count, member_count } - meetings: array of { meeting_id, name, date } for meetings inside the folder - meeting_count: total meetings in the folder Tips - To read a specific meeting's notes/transcript, pass its meeting_id to search_meetings or get_multiple_documents. - To summarize the folder, fetch the meetings here, then retrieve their content as needed.

get_import_status

ChatGPT
Check the status of a recording import started with import_recording. Status is one of: - uploading — the file hasn't been uploaded yet. - processing — uploaded; the meeting is being created and transcription started. - ready — the meeting is available; use meeting_id. - failed — the import could not be processed (empty file, unsupported/invalid content type, non-audio content, or over the 1 GB limit); the error field carries the reason.

get_multiple_documents

ChatGPT
Fetch one or more documents by their IDs. Returns the complete, unabridged content of meetings, agendas, or transcripts. For meetings, the response includes the full transcript, detailed notes, action items, decisions made, follow-ups, and topics discussed -- even when pre-computed summaries are not yet available in search results. Supported ID Types - meeting_id from search_meetings or list_action_items -- returns the full meeting with transcript - agenda_id from list_upcoming_meetings or search_meetings -- returns agenda details Limits - Minimum: 1 document ID - Maximum: 10 document IDs per request ID Format Document IDs are 32 lowercase hexadecimal characters (UUID without dashes). Response Format Returns an array of results, one for each requested ID: [{id: string, document: string | null}] Documents that weren't found will have document: null.

get_user_preferences

ChatGPT
Returns the current user's display preferences including name, timezone, and company. These are user-configured values that provide context for formatting responses. Response Fields - name: The user's display name - timezone: The user's timezone - company: The user's company domain

import_recording

ChatGPT
Start importing an audio or video recording as a new Krisp meeting. Returns a one-time pre-signed upload URL. This tool does NOT upload the file itself — hand the returned url to the client/host application, which uploads the file bytes to it with an HTTP PUT (Content-Type = the file's real type, e.g. video/mp4 or audio/mpeg). That upload alone creates the meeting and starts transcription; there is no separate "complete" step. Flow 1. Call this tool → get { import_id, url }. 2. The client/host PUTs the file bytes to url (out-of-band; Content-Type = the file's real type). 3. Poll get_import_status with import_id until status is "ready", then use meeting_id. Timing (important for correct operation) Start imports SEQUENTIALLY: call this tool, WAIT for its result, then start the next one. Only one import start per user may be in flight at a time. If you fire several at once (before the previous call returns), the overlapping ones fail with an "Action is still in process" error — that is NOT a failure of the recording; just retry that one after the in-flight start returns. There is no fixed cooldown: once a call returns, you can immediately start the next. All parameters are optional, but sending every value you have is highly recommended — they give the meeting better metadata (title, language, duration). If you don't have a value, just omit it; that's fine. Only send values you're confident about: a value that fails validation is rejected immediately with an error, whereas an omitted value is accepted without complaint. The recording's type is taken from the uploaded file's Content-Type. The uploaded file must be a supported audio/video recording (mp3, mpeg, aac, mp4, m4a, wav, wma, quicktime, wmv) and no larger than 1 GB. Empty, oversized, or non-audio/unsupported uploads are rejected — get_import_status then returns status "failed" with an error reason, and no meeting is created.

list_action_items

ChatGPT
List action items (tasks/follow-ups) from meetings. Returns action items with their completion status, assignee, and source meeting information. Parameters - completed (optional): Filter by status - true for completed, false for pending, omit for all - assigned_to_me (optional): Set to true to only see action items assigned to you - limit (optional): Max results 1-50, default 20 - offset (optional): Skip results for pagination, default 0 Response Fields - id: Action item ID - title: The action item description - completed: Whether the task is done - assignee: Name of assigned person (or null) - due_date: Due date if set (ISO 8601) - meeting_id: Source meeting 32-char UUID - meeting_name: Source meeting title - meeting_date: When the meeting occurred - total: Total count of matching action items (for pagination)

list_activities

ChatGPT
List activities from the Activity Center. Returns recent notifications and updates including action item assignments, meeting summaries, and other activity feed items. Parameters - limit (optional): Max results 1-50, default 15 - timestamp (optional): Pagination cursor - pass the created_at of the last activity to get more results Response Fields - source_type: Type of activity (e.g., "action_item_assignment_activity") - url: Direct link to the activity in Krisp - title: Activity title in markdown format - description: Activity description in markdown format - created_at: When the activity was created (ISO 8601) - total: Total count of activities - unread: Count of unread activities

list_folders

ChatGPT
List or search the user's meeting folders. Folders group related meetings together. Use this to: - Resolve a folder ID to its name and metadata - Find a folder by name - See how many meetings/members a folder has Response Fields - folder_id: Unique folder ID - name: Folder name - description: Folder description (or null) - visibility: "private" or "teamspace" - my_role: The user's role on the folder ("owner" / "collaborator" / "viewer") - meeting_count: Number of meetings in the folder - member_count: Number of members Tips - To list the meetings inside a folder, use get_folder with the folder_id.

list_tags

ChatGPT
List and search tags. Use this tool to discover tag names and IDs. Important: When the user wants to filter meetings by tag, call this tool FIRST to resolve tag names to IDs, then pass those IDs to the search_meetings tool's tags parameter. Modes 1. List / Search Tags (default) Returns all tags, optionally filtered by name. Supports autocomplete-style prefix matching. 2. Most Used Tags Set most_used: true to get tags ranked by how many meetings they appear in. Useful for discovering frequently-used tags. Parameters - name (optional): Search tags by name with prefix matching. Example: "design" matches "Design Review". - most_used (optional): Set to true to rank tags by meeting usage count. - limit (optional): Max results 1-50, default 20. - offset (optional): Skip results for pagination, default 0. Response Fields - id: Tag ID (32-char hex string) - use this with search_meetings tags parameter - name: Tag display name - color: Tag color code - creator_name: Name of the person who created the tag (when available) - usage_count: Number of meetings with this tag (only in most_used mode) - total: Total count of matching tags (for pagination)

list_upcoming_meetings

ChatGPT
List upcoming calendar meetings for the next few days. Returns scheduled meetings with title, time, participants, organizer, and conferencing details. Parameters - days (optional): Number of days to look ahead (1-14, default: 7) Response Fields - agenda_id: 32-char UUID for the meeting agenda - title: Meeting title - start: Start time (ISO 8601) - end: End time (ISO 8601) - status: Calendar event status (confirmed, tentative, cancelled) - organizer: Organizer name - is_external: Whether the organizer is external to the workspace - is_recurring: Whether this is a recurring meeting - participants: List of attendee names - conferencing_app: Video conferencing app (zoom, meet, teams, etc.) - conferencing_url: Link to join the meeting

remove_from_folder

ChatGPT
Remove meetings from one of the user's folders, in ONE call (up to 50 meetings). - folder_id: from list_folders or get_folder. - meeting_ids: every meeting to take out, all in this one call. Never loop one call per meeting. - The meetings themselves are not deleted; they are only taken out of the folder. - The user must be the folder's owner or a collaborator; on a team folder, a team admin counts as an owner and other team members cannot remove meetings. - The owner can remove any meeting; a collaborator only meetings they own. - A meeting the user cannot open is reported as not found. - A meeting that is not in the folder counts as done. The result lists what was removed, what was not in the folder, and what could not be removed and why. Report all of it; do not retry the whole batch.

search_meeting_content

ChatGPT
Best tool for full-text search across all meetings you can access (not one meeting). Searches transcripts, agendas, and notes for exact phrases, topics, or wording. Purpose This is the preferred MCP tool when the user wants to search inside meeting content (what was said or written) workspace-wide. It runs full-text search over every accessible meeting and returns matching excerpts, collapsed by document (one result per meeting). For listing or filtering meetings by title, summary, or structured fields, use search_meetings instead. When to Use | Use Case | Tool | Why | |----------|------|-----| | Full-text search across all meetings (quotes, phrases in content) | search_meeting_content (this tool) | Content-level search, all accessible meetings | | Find specific quote or discussion | search_meeting_content | Searches actual content | | Find which meetings exist about X (metadata/summary angle) | search_meetings | Titles, summaries, action items, key points | | Read full meeting transcript | getDocument | Gets complete content when you have document_id | | Find where a topic was discussed in depth | search_meeting_content | Full-text across all meetings, transcripts and notes | Parameters - search (required): Full-text query (min 3 characters). Searches all accessible meetings; use getDocument for one known meeting. - limit (optional): Max results 1-50, default 10. Results are collapsed by document_id. - offset (optional): Skip results for pagination, default 0 - fields (optional): Specific fields to return: document_id, title, content, chunk_index, chunk_type, date - after (optional): Filter content after this date (inclusive). ISO 8601 format (e.g., "2024-01-15") - before (optional): Filter content before this date (inclusive). ISO 8601 format (e.g., "2024-01-20") Response Fields - chunk_id: Unique identifier for the content chunk - document_id: Parent document ID (use with getDocument to read full content) - title: Document title (meeting name) - content: Matching content excerpt - chunk_index: Position within document - chunk_type: Content type (transcript, agenda, notes) - date: Last update date Tips - Scope is all meetings the connection can read; use after / before to narrow by time - Results show one chunk per document (collapsed by document_id) - Use getDocument with the document_id to read the full content - Combine with date filters to narrow search to specific time periods - Content field shows the matching excerpt, not full document

search_meetings

ChatGPT
Search meetings by text query or retrieve by ID. Returns meeting metadata, summaries, action items, and key points. Two Modes 1. ID Lookup Use the id parameter for direct retrieval. Returns meeting metadata (name, date, attendees, speakers), summaries, action items, and recurring meeting history. Does not include the full transcript. 2. Text Search Use the search parameter to find meetings by name, content discussed, action items, key points, or attendee names. Parameters - id (optional): Meeting ID(s) for direct lookup. Single ID or array (max 50). When provided, search is ignored. - search (optional): Text search query (min 3 chars). Can be omitted when using filters like listen_later, after, before, or tags. - limit (optional): Max results 1-50, default 10 - offset (optional): Skip results for pagination, default 0 - fields (optional): Specific fields to return: name, date, url, is_recurring, attendees, speakers, transcript, agenda, meeting_notes, detailed_summary, key_points, action_items, past_meeting_occurrences - listen_later (optional): Filter for "listen later" meetings only - after (optional): Filter meetings after this date (inclusive). ISO 8601 format (e.g., "2024-01-15") - before (optional): Filter meetings before this date (inclusive). ISO 8601 format (e.g., "2024-01-20") - tags (optional): Filter by tag IDs. Array of 32-char hex strings. Returns meetings with ALL specified tags. - participant_domains (optional): Filter by participant email domains (e.g., ["acme.com"]). Returns meetings with participants from those domains. - isOwner (optional): Filter for meetings owned by the current user. Pass true to restrict to "My Meetings". Mutually exclusive with sharedWithMe. - sharedWithMe (optional): Filter for meetings shared with the current user (not owned by them). Pass true to restrict to "Shared with me". Mutually exclusive with isOwner. Response Fields - meeting_id: Unique 32-char UUID (always included) - name: Meeting title - date: Meeting date/time - url: Direct link to meeting - is_recurring: Boolean for recurring meetings - attendees: List of attendee names - speakers: List of speaker names - transcript: { status } - transcript availability status - agenda: { agenda_id } - 32-char UUID for the meeting agenda - meeting_notes: { detailed_summary, key_points, action_items } - past_meeting_occurrences: For recurring meetings, previous instances with their meeting_id Data Scope This tool returns pre-computed summaries and metadata only. meeting_notes may be absent for meetings that have not yet been summarized. Full transcripts and complete meeting content are not included in search results.

date_time

Claude

get_multiple_documents

Claude

get_user_preferences

Claude

list_action_items

Claude

list_activities

Claude

list_upcoming_meetings

Claude

search_meetings

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

28

Tools

1

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily