loading…
Search for a command to run...
loading…
Automatically synchronizes meeting transcripts from Otter.ai to a local SQLite database for easy browsing and management. It enables semantic and keyword-based
Automatically synchronizes meeting transcripts from Otter.ai to a local SQLite database for easy browsing and management. It enables semantic and keyword-based search across meeting history through integrated MCP tools for Claude and Cursor.
Minimal meeting transcript sync and search MCP. Downloads meetings from Otter.ai, stores them in SQLite, and provides semantic search via MCP tools.
| Tool | Description |
|---|---|
meetings |
List, get, and browse meeting transcripts |
search |
Semantic and keyword search across transcripts |
status |
System health, sync status, and management |
cp .env.example .env
# Edit .env with your credentials:
# - OTTER_EMAIL
# - OTTER_PASSWORD
# - OPENROUTER_API_KEY
# Build and run
docker compose up -d
# Or run directly
docker run -it \
-e [email protected] \
-e OTTER_PASSWORD=yourpassword \
-e OPENROUTER_API_KEY=sk-or-v1-xxx \
-v meeting-chief-data:/data \
ghcr.io/smcdonnell7/meeting-chief-lite
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"meeting-chief-lite": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "OTTER_EMAIL",
"-e", "OTTER_PASSWORD",
"-e", "OPENROUTER_API_KEY",
"-v", "meeting-chief-data:/data",
"ghcr.io/smcdonnell7/meeting-chief-lite"
]
}
}
}
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"meeting-chief-lite": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "[email protected]",
"-e", "OTTER_PASSWORD=yourpassword",
"-e", "OPENROUTER_API_KEY=sk-or-v1-xxx",
"-v", "meeting-chief-data:/data",
"ghcr.io/smcdonnell7/meeting-chief-lite"
]
}
}
}
# List recent meetings
meetings operation:list limit:10
# Get specific meeting
meetings operation:get id:meeting_123
# Search transcripts
search query:"API migration" mode:semantic
# Search with date filter
search query:"budget" after:2026-01-01
# Check system status
status operation:health
# Sync from Otter.ai
status operation:run_sync sync_days:30
# Generate embeddings for new meetings
status operation:generate_embeddings
SQLite database with 7 tables:
meetings - Meeting metadata and transcriptstranscript_chunks - Parsed transcript segmentstranscript_vectors - Embeddings for semantic searchembedding_jobs - Embedding generation queuesync_runs - Sync audit logspeakers - People rosterapp_settings - Configuration# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"meeting-chief-lite": {
"command": "npx",
"args": []
}
}
}