Metadata-Version: 2.4
Name: workos-meeting-mcp-server
Version: 1.0.0
Summary: MCP server for meeting transcription & analysis — transcribe audio/video via faster-whisper, extract insights, generate notes.
Author: WorkOS Contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/workos/workos-meeting-mcp-server
Project-URL: Repository, https://github.com/workos/workos-meeting-mcp-server
Project-URL: Issues, https://github.com/workos/workos-meeting-mcp-server/issues
Keywords: mcp,meeting,transcription,whisper,model-context-protocol,ai-tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastmcp>=2.0.0
Requires-Dist: faster-whisper>=1.1.0
Requires-Dist: httpx>=0.27.0

# Meeting MCP Server

An independent MCP (Model Context Protocol) server for meeting transcription and analysis. Transcribes audio/video files locally using **faster-whisper** and generates meeting insights, notes, and follow-up emails using any Ollama-compatible LLM.

## Features

- 🎙️ **Audio Transcription** — Transcribe MP3, WAV, M4A, OGG, FLAC, AAC, WMA files using faster-whisper (local, private)
- 🎬 **Video Support** — Automatically extract audio from MP4, WebM, MKV, MOV, AVI files via ffmpeg
- 📊 **Meeting Insights** — Extract structured data: summary, key decisions, action items, sentiment
- 📝 **Meeting Notes** — Generate formatted markdown meeting notes
- 📧 **Follow-up Email** — Draft professional follow-up emails
- 🔒 **100% Local** — All transcription runs locally on CPU, no data leaves your machine

## Installation

```bash
pip install workos-meeting-mcp-server
```

### System Requirements

- **ffmpeg** must be installed for video file support:
  ```bash
  # macOS
  brew install ffmpeg
  # Ubuntu/Debian
  sudo apt-get install ffmpeg
  # Docker — already included in WorkOS backend image
  ```

## Quick Start

```bash
# Basic usage (defaults to Ollama at localhost:11434)
meeting-mcp-server

# With custom Ollama URL and model
OLLAMA_URL=http://localhost:11434 \
OLLAMA_MODEL=qwen3 \
WHISPER_MODEL=small \
meeting-mcp-server
```

## Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `OLLAMA_URL` | `http://localhost:11434` | Ollama API endpoint for LLM analysis |
| `OLLAMA_MODEL` | `qwen3` | LLM model name for analysis tasks |
| `WHISPER_MODEL` | `small` | Whisper model size: `tiny`, `base`, `small`, `medium`, `large-v3` |
| `UPLOAD_DIR` | `data/uploads` | Directory to scan for uploaded files |
| `MEETING_LOG_LEVEL` | `INFO` | Log level |

## Available Tools

### `meeting_transcribe_audio`
Transcribe an audio or video file using faster-whisper.

**Parameters:**
- `file_path` (string, required) — Path to the audio/video file
- `language` (string, optional) — Language code (auto-detected if empty)

**Returns:** Transcript text, timestamped segments, detected language, duration

### `meeting_extract_insights`
Extract structured insights from a meeting transcript.

**Parameters:**
- `transcript` (string, required) — Full meeting transcript text

**Returns:** JSON with title, summary, key_decisions, action_items, topics, sentiment, attendees

### `meeting_generate_notes`
Generate formatted meeting notes in markdown.

**Parameters:**
- `transcript` (string, required) — Meeting transcript text
- `include_timestamps` (boolean, default: true) — Include timestamps

**Returns:** Formatted markdown meeting notes

### `meeting_draft_follow_up`
Draft a follow-up email based on meeting outcomes.

**Parameters:**
- `summary` (string, required) — Meeting summary
- `action_items` (string, required) — Action items (JSON or comma-separated)
- `attendees` (string, required) — Attendee names/emails (comma-separated)

**Returns:** JSON with subject and body fields

## Adding to AI Applications

### Claude Desktop / Cursor / Windsurf

Add to your MCP config file:

```json
{
  "mcpServers": {
    "meeting": {
      "command": "meeting-mcp-server",
      "env": {
        "OLLAMA_URL": "http://localhost:11434",
        "OLLAMA_MODEL": "qwen3",
        "WHISPER_MODEL": "small"
      }
    }
  }
}
```

### WorkOS

Add via Settings → MCP Servers → Add Server:
- **Name**: `meeting`
- **Command**: `meeting-mcp-server`
- **Environment Variables**: Set OLLAMA_URL, OLLAMA_MODEL as needed

## Whisper Model Comparison

| Model | Size | VRAM | Speed | Accuracy |
|-------|------|------|-------|----------|
| `tiny` | 75MB | ~1GB | ~32x | Good for clear audio |
| `base` | 142MB | ~1GB | ~16x | Better accuracy |
| `small` | 466MB | ~2GB | ~6x | **Recommended** |
| `medium` | 1.5GB | ~5GB | ~2x | High accuracy |
| `large-v3` | 3GB | ~10GB | ~1x | Best accuracy |

## License

MIT
