migas-mcp
# migas-mcp
MCP server for [Migas](https://migas.ai) meeting transcripts. Query your local meeting data from Claude Desktop, Claude Code, Cursor, or any MCP-compatible AI assistant.
## What it does
Migas transcribes your meetings locally on your Mac. This MCP server gives AI assistants read-only access to that data so you can ask questions like:
- "What did we discuss about the roadmap last week?"
- "What has Sarah said about the budget across all meetings?"
- "Show me the transcript from yesterday's standup"
## Tools
| Tool | Description |
|------|-------------|
| `list_meetings` | Recent meetings with title, date, duration, participants |
| `get_meeting_transcript` | Full speaker-labeled transcript for a meeting |
| `search_transcripts` | Full-text search across all meeting transcripts |
| `find_speakers` | Look up enrolled speakers by name |
| `get_speaker_contributions` | Everything a speaker said across all meetings |
## Install
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"migas": {
"command": "npx",
"args": ["-y", "migas-mcp"]
}
}
}
```
### Claude Code
```bash
claude mcp add migas -- npx -y migas-mcp
```
### Cursor
Add to MCP settings:
```json
{
"mcpServers": {
"migas": {
"command": "npx",
"args": ["-y", "migas-mcp"]
}
}
}
```
## Requirements
- [Migas](https://migas.ai) installed and launched at least once (creates the local database)
- macOS (reads from `~/Library/Application Support/Migas/meetings.db`)
## Privacy
The MCP server is **read-only** and connects to your **local** Migas database. No meeting data is sent anywhere by the server itself. When you ask an AI assistant a question, only the relevant transcript text is sent to the AI provider, same as using Migas's built-in chat.
## Development
```bash
bun install
bun test
bun run build
```
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: listing meetings, retrieving a transcript, searching transcripts, finding speakers, and aggregating speaker contributions. There is no functional overlap or ambiguity between tools.
All tool names follow the same verb_noun pattern in snake_case (e.g., list_meetings, get_meeting_transcript, search_transcripts), which makes the naming scheme predictable and consistent across the entire set.
Five tools is a well-scoped count for a meeting transcription and speaker analytics server. Each tool covers a distinct functional area without redundancy or excessive granularity.
The server provides complete coverage of its core domain: browsing meetings, reading transcripts, full-text search, and per-speaker contribution analysis. There are no obvious gaps or dead ends in the workflow.