Skip to main content
Glama
mamba-mental

Fathom MCP Enhanced

by mamba-mental
README.md
# Fathom MCP Enhanced

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js](https://img.shields.io/badge/Node.js-18%2B-green.svg)](https://nodejs.org/)
[![MCP](https://img.shields.io/badge/MCP-Compatible-blue.svg)](https://modelcontextprotocol.io/)

An enhanced MCP (Model Context Protocol) server for [Fathom.video](https://fathom.video) that provides comprehensive access to AI meeting transcripts, summaries, action items, team management, webhooks, and **powerful analytics**.

This project combines the best features from multiple Fathom MCP implementations:
- **Core functionality** from [matthewbergvinson/fathom-mcp](https://github.com/matthewbergvinson/fathom-mcp)
- **Analytics tools** ported from [lukas-bekr/fathom-mcp](https://github.com/lukas-bekr/fathom-mcp)

## Features

### 14 Tools Available

#### Core Meeting Tools
| Tool | Description |
|------|-------------|
| `list_meetings` | List meetings with filters (date range, external participants only) |
| `get_meeting` | Get full meeting details including transcript, summary, action items, CRM matches |
| `get_transcript` | Get just the transcript for a specific meeting |
| `export_meeting` | Export a single meeting to a formatted markdown file |
| `export_all_meetings` | Batch export all meetings to markdown files |
| `search_meetings` | Search meetings by participant email, company domain, or team |
| `get_action_items` | Get action items from one or multiple recent meetings |

#### Team Management
| Tool | Description |
|------|-------------|
| `list_teams` | List all teams in your Fathom organization |
| `list_team_members` | List members of a specific team or all teams |

#### Webhooks
| Tool | Description |
|------|-------------|
| `create_webhook` | Create a webhook for meeting notifications |
| `delete_webhook` | Delete an existing webhook |

#### Analytics (Enhanced)
| Tool | Description |
|------|-------------|
| `search_content` | Full-text search across meeting transcripts and summaries with context snippets |
| `meeting_stats` | Get comprehensive meeting statistics (duration averages, internal/external ratio, team breakdown) |
| `participant_stats` | Analyze participant frequency, top recorders, and domain distribution |

## Installation

### Prerequisites
- Node.js 18.0.0 or higher
- A Fathom.video account with API access
- Your Fathom API key

### Setup

```bash
# Clone the repository
git clone https://github.com/mamba-mental/fathom-mcp-enhanced.git
cd fathom-mcp-enhanced

# Install dependencies
npm install

# Build the TypeScript
npm run build
```

## Configuration

### Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `FATHOM_API_KEY` | Yes | Your Fathom API key |
| `FATHOM_OUTPUT_DIR` | No | Custom directory for exported transcripts (defaults to `./transcripts`) |

### Getting Your Fathom API Key

1. Log into [Fathom.video](https://fathom.video)
2. Go to Settings → Integrations → API
3. Generate a new API key
4. Copy the key for use in configuration

## Claude Desktop Integration

Add the following to your `claude_desktop_config.json`:

### Windows
```json
{
  "mcpServers": {
    "fathom": {
      "command": "node",
      "args": ["C:/mcp/fathom-mcp-enhanced/dist/index.js"],
      "env": {
        "FATHOM_API_KEY": "your_fathom_api_key_here",
        "FATHOM_OUTPUT_DIR": "C:/Users/YourName/Documents/FathomTranscripts"
      }
    }
  }
}
```

### macOS/Linux
```json
{
  "mcpServers": {
    "fathom": {
      "command": "node",
      "args": ["/path/to/fathom-mcp-enhanced/dist/index.js"],
      "env": {
        "FATHOM_API_KEY": "your_fathom_api_key_here",
        "FATHOM_OUTPUT_DIR": "/home/user/FathomTranscripts"
      }
    }
  }
}
```

## Usage Examples

### List Recent Meetings
```
Show me my last 10 meetings using list_meetings
```

### Search Meeting Content
```
Use search_content to find all meetings where we discussed "quarterly budget"
```

### Get Meeting Analytics
```
Use meeting_stats to analyze all my meetings from the last 30 days
```

### Analyze Participants
```
Use participant_stats to show me who I meet with most frequently
```

## Credits

This enhanced version combines work from multiple sources:

- **Original Core Implementation**: [matthewbergvinson/fathom-mcp](https://github.com/matthewbergvinson/fathom-mcp) by Matthew Bergvinson
- **Analytics Tools**: Ported from [lukas-bekr/fathom-mcp](https://github.com/lukas-bekr/fathom-mcp) by Lukas Bekr
- **Enhanced & Combined**: Big Brother Master Journey (Prime)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

C2/5.0

Scored across 14 tools

Disambiguation3/5

Tool names are mostly distinct, but several overlap in purpose: participant_stats vs. meeting_stats, search_meetings vs. search_content, and get_meeting vs. get_transcript vs. export_meeting. Without any descriptions, an agent must guess the exact boundaries, making misselection likely in these clusters.

Naming Consistency5/5

All tool names use consistent snake_case and follow a clear verb_noun or noun_noun pattern: list_meetings, get_meeting, export_meeting, search_meetings, create_webhook, delete_webhook, etc. The two stats tools (participant_stats, meeting_stats) are noun phrases but still fit the predictable naming style.

Tool Count5/5

Fourteen tools is well within the ideal range for a meeting-intelligence server. The set covers core read, search, export, stats, team, and webhook operations without obvious bloat or missing essentials.

Completeness4/5

The surface covers meetings, transcripts, exports, search, stats, action items, teams, and webhooks, which is strong for a read-oriented recording platform. Minor gaps exist in webhook management (no list/get/update) and deeper team or participant detail, but agents can work around them.

Maintenance

ActivityInactive
ResponsivenessNo issues