https://github.com/eadm/grain-mcp-server
MCP Server for Grain
https://github.com/eadm/grain-mcp-server
ai grain mcp mcp-server
Last synced: 4 months ago
JSON representation
MCP Server for Grain
- Host: GitHub
- URL: https://github.com/eadm/grain-mcp-server
- Owner: eadm
- License: apache-2.0
- Created: 2025-04-27T14:48:15.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-27T18:53:30.000Z (6 months ago)
- Last Synced: 2025-05-19T03:12:29.443Z (5 months ago)
- Topics: ai, grain, mcp, mcp-server
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - eadm/grain-mcp-server
README
# Grain MCP Server
A [Model Context Protocol](https://github.com/modelcontextprotocol) server for [Grain](https://grain.com/), 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:
```json
{
"mcpServers": {
"grain_uvx": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/eadm/grain-mcp-server",
"grain-mcp-server",
"--user-data-dir",
""
]
}
}
}
```Replace `` 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
1. **`get_all_meetings`**: Retrieve all meetings from Grain
- Returns a list of dictionaries containing meeting information, including:
- `id` (string): Meeting ID
- `title` (string): Meeting title
- `url` (string): URL to access the meeting
- `date` (string): Meeting date in ISO format2. **`download_meeting_transcript`**: Download a meeting transcript
- Required inputs:
- `absolute_save_path` (string): The file path where the transcript will be saved
- `meeting_id` (string): The unique identifier of the meeting
- `transcription_type` (string): The format of the transcript file ("vtt" or "srt")
- Returns:
- `bool`: True if the download was successful, False otherwise## Usage Examples
Some example prompts you can use with your MCP client to interact with Grain:
1. "Show me all my recent meetings" → execute the `get_all_meetings` tool to retrieve a list of all meetings stored in Grain
2. "Download the transcript for my last team meeting" → use `get_all_meetings` to find the meeting, then use `download_meeting_transcript` to download its transcript
## Development
1. Install dependencies:
```bash
uv sync
```2. Run the application:
```bash
uv run grain-mcp-server
```3. Run with debug mode:
```bash
uv run grain-mcp-server --debug
```4. Run tests:
```bash
uv run pytest
```