grain-mcp-server
The Grain MCP Server integrates with Grain services to provide access to meeting recordings and transcriptions without needing enterprise-level APIs. It leverages Playwright for browser automation to achieve seamless functionality.
Grain MCP Server
A Model Context Protocol server for Grain, a service that records and transcribes meetings.
This server provides integration with Grain through MCP, allowing users to access Grain functionality without needing the enterprise API (which is only available on enterprise subscriptions) or paid integrations like Zapier. The service is based on Playwright for browser automation.
Installation
Manual Installation
Add the Grain MCP server configuration to your MCP client:
{
"mcpServers": {
"grain_uvx": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/eadm/grain-mcp-server",
"grain-mcp-server",
"--user-data-dir",
"<absolute-path-to-browser-session-data>"
]
}
}
}
Replace <absolute-path-to-browser-session-data>
with the absolute path where you want to store the browser session data. On first MCP usage, you will need to login to Grain via the browser.
Components
Tools
-
get_all_meetings
: Retrieve all meetings from Grain- Returns a list of dictionaries containing meeting information, including:
id
(string): Meeting IDtitle
(string): Meeting titleurl
(string): URL to access the meetingdate
(string): Meeting date in ISO format
- Returns a list of dictionaries containing meeting information, including:
-
download_meeting_transcript
: Download a meeting transcript- Required inputs:
absolute_save_path
(string): The file path where the transcript will be savedmeeting_id
(string): The unique identifier of the meetingtranscription_type
(string): The format of the transcript file ("vtt" or "srt")
- Returns:
bool
: True if the download was successful, False otherwise
- Required inputs:
Usage Examples
Some example prompts you can use with your MCP client to interact with Grain:
-
"Show me all my recent meetings" → execute the
get_all_meetings
tool to retrieve a list of all meetings stored in Grain -
"Download the transcript for my last team meeting" → use
get_all_meetings
to find the meeting, then usedownload_meeting_transcript
to download its transcript
Development
- Install dependencies:
uv sync
- Run the application:
uv run grain-mcp-server
- Run with debug mode:
uv run grain-mcp-server --debug
- Run tests:
uv run pytest