MCP App Store
Productivity
Grain icon

Grain

by Grain Intelligence, Inc.

Overview

Grain records and transcribes your meetings across Google Meet, Zoom, Microsoft Teams, and Webex, then generates enriched transcripts, AI-powered notes, action items, coaching scorecards, and more. The Grain MCP connector gives ChatGPT direct access to your meeting library, transcripts, notes, and CRM deal data. Use Grain + ChatGPT to get your next steps done faster, find critical conversations semantically, analyze customer feedback patterns, generate deal health reports, draft follow-up emails grounded in what was actually said, and coach your sales team. Also includes 9 pre-built MCP Prompts for structured reporting workflows like Voice of Customer, SPICED analysis, and pipeline intelligence.

Tools

add_clips_to_story

ChatGPT
Adds one or more clips to an existing story. Use list_stories or fetch_story to find the story ID, and create_clip or list_clips to get clip IDs.

add_recordings_to_collection

ChatGPT
Adds one or more recordings to an existing playlist (collection) by recording ID. Use list_meetings or search_in_transcripts first to find recording IDs.

create_clip

ChatGPT
Creates a clip on a recording between the given timestamps. Use search_in_transcripts first to find the recording and relevant transcript timestamps, then call this tool with the meeting ID and start/end timestamps. Choose start_ms and end_ms to capture a complete thought or topic — avoid cutting off mid-sentence. Invalid ranges (start_ms >= end_ms, or end_ms past the recording's duration) returns an error.

create_collection

ChatGPT
Creates a new empty playlist (collection) with the given title. The playlist is created with restricted visibility (only you can see it). Use add_recordings_to_collection to add meetings, and update_collection_share_state to change visibility.

create_story

ChatGPT
Creates a new story with the given title.

fetch_deal

ChatGPT
Fetches information about a single HubSpot deal by ID. In addition to returning the same data as returned by list_all_deals, this returns data about all the activity that has occurred on the deal.

fetch_meeting

ChatGPT
Fetches information about a single Grain meeting by ID. The response format is the same as is returned by list_meetings.

fetch_meeting_action_items

ChatGPT
Fetches the action items extracted from a single Grain meeting by ID. Each action item includes the task description, timestamp, status (pending or completed), the assignee (person_id and name, or null when unassigned), and the due date (or null when not set). end_timestamp_ms is null when the action item has no end time. In some cases, older meetings may not have had action items generated for them.

fetch_meeting_coaching_feedback

ChatGPT
Fetches AI-generated sales coaching feedback and scorecard for a single Grain meeting by ID. The response format is the same as is returned by list_coaching_feedback.

fetch_meeting_notes

ChatGPT
Fetches the AI notes payload from a single Grain meeting by ID. In some cases, older meetings may not have had notes generated for them. In these cases you can use fetch_meeting_transcript instead to determine the content of the meeting.

fetch_meeting_transcript

ChatGPT
Fetches the full transcript of a single Grain meeting by ID. Returns the entire conversation as markdown, which can be large for long meetings.

fetch_playlist

ChatGPT
Fetches detailed information about a single Grain playlist by ID, including the list of recordings it contains with their URLs.

fetch_story

ChatGPT
Fetches detailed information about a single Grain story by ID, including its items (clips and text sections). Use list_stories first to find story IDs.

fetch_user_recording_notes

ChatGPT
Fetches the current user's private notes for a single Grain meeting by ID. Returns the notes as markdown text, or a message if no notes exist.

list_all_deals

ChatGPT
List status of hubspot-linked deals that are synced in Grain. If the list contains more than limit deals, the response will also contain a non-null cursor value that can be used to fetch the next page of deals in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no deals matching the supplied filters.

list_attended_meetings

ChatGPT
Returns a filtered list of Grain meetings you have attended, ordered by most recent. If the list contains more than limit meetings, the response will also contain a non-null cursor value that can be used to fetch the next page of meetings in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no meetings matching the supplied filters. If also looking to include meetings the user didn't attend, use list_meetings instead.

list_clips

ChatGPT
Returns a paginated list of Grain clips you have access to, ordered by most recent. Clips are short segments from meeting recordings. If the list contains more than limit clips, the response will also contain a non-null cursor value that can be used to fetch the next page by calling the tool again. Only returns clips whose media has finished processing, so newly-created clips may take a few minutes to appear.

list_coaching_feedback

ChatGPT
List AI-generated sales-coaching feedback and scorecards for a filtered set of meetings. If the list contains more than limit meetings, the response will also contain a non-null cursor value that can be used to fetch the next page of meetings in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no meetings matching the supplied filters.

list_meetings

ChatGPT
Returns a filtered list of Grain meetings you have access to, ordered by most recent. If the list contains more than limit meetings, the response will also contain a non-null cursor value that can be used to fetch the next page of meetings in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no meetings matching the supplied filters. If only looking for meetings the user attended, use list_attended_meetings instead.

list_open_deals

ChatGPT
List status of open hubspot-linked deals that are synced in Grain. If the list contains more than limit deals, the response will also contain a non-null cursor value that can be used to fetch the next page of deals in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no open deals matching the supplied filters. If also looking to include closed deals, use list_all_deals instead.

list_playlists

ChatGPT
Returns a paginated list of Grain playlists you have access to, ordered by most recent. If the list contains more than limit playlists, the response will also contain a non-null cursor value that can be used to fetch the next page of playlists in the list by calling the tool again and passing the cursor along with the same filters. The list will be empty if there are no playlists matching the supplied filters.

list_stories

ChatGPT
Returns a paginated list of Grain stories you have access to, ordered by most recent. Stories are curated collections of clips and text sections created from meetings. If the list contains more than limit stories, the response will also contain a non-null cursor value that can be used to fetch the next page by calling the tool again.

list_workspace_users

ChatGPT
Get information about all the users in the logged-in Grain user's workspace. Each user's person ID is also returned and can be used to list recordings attended by that person.

myself

ChatGPT
Get information about the logged-in Grain user.

resolve_urls

ChatGPT
Resolves canonical shareable URLs for Grain entities (meetings, clips, playlists, stories) by ID. Always prefer this tool over constructing URLs yourself; hand-built URLs are frequently wrong. Supported media_type values: recording, clip, collection, story. Each returned item contains either a url on success or an error string if the entity is not accessible to the current user.

search_companies

ChatGPT
Returns a filtered list of companies that were participants of Grain meetings you have access to.

search_in_transcripts

ChatGPT
Searches transcripts of Grain meetings and returns the matching segments rather than the full transcript. Useful for locating specific content, topics, quotes, decisions, action items, or moments across one or many meetings without loading entire transcripts. Uses hybrid semantic + keyword search over transcript segments — coherent conversation chunks annotated with summaries, topics, entities, and speaker info. Results are grouped by meeting and ordered by relevance.

search_persons

ChatGPT
Returns a filtered list of persons that were participants of Grain meetings you have access to.

tag_meetings

ChatGPT
Add or remove a tag from one or more meetings by recording ID. Creates the tag if it doesn't exist (on add).

update_collection_share_state

ChatGPT
Changes the visibility of a playlist (collection). Options: 'restricted' (only shared users), 'workspace' (all workspace members), 'public' (anyone with the link).

fetch

Claude

fetch_deal

Claude

fetch_meeting

Claude

fetch_meeting_coaching_feedback

Claude

fetch_meeting_notes

Claude

fetch_meeting_transcript

Claude

list_all_deals

Claude

list_attended_meetings

Claude

list_coaching_feedback

Claude

list_meetings

Claude

list_open_deals

Claude

list_workspace_users

Claude

myself

Claude

search_companies

Claude

search_meetings

Claude

search_persons

Claude

search_recording_segments

Claude

suggest_calendar_event

Claude

suggest_email_draft

Claude

App Stats

51

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily