npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@iflow-mcp/matthewbergvinson-fathom-mcp

v1.0.0

Published

MCP server for Fathom.video - Access AI meeting transcripts, summaries, and action items from Cursor IDE

Readme

fathom-mcp

MCP server for Fathom.video — Access your AI meeting transcripts, summaries, and action items directly from Cursor IDE

License: MIT MCP Node.js

A Model Context Protocol (MCP) server that integrates Fathom.video with AI coding assistants like Cursor. Query your meeting transcripts, export recordings to markdown, search by participant, and manage webhooks — all through natural language.

Features

  • 📋 List & Search Meetings — Browse recordings with filters for date, team, participants, or external domains
  • 📝 Full Transcripts — Get speaker-labeled, timestamped transcripts formatted as markdown
  • 📊 AI Summaries — Access Fathom's AI-generated meeting summaries
  • ✅ Action Items — Pull action items from specific meetings or across recent calls
  • 📁 Export to Markdown — Save meetings as MeetingTitle_YYYY-MM-DD.md files
  • 👥 Team Management — List teams and team members
  • 🔔 Webhooks — Create and manage webhooks for real-time notifications

Quick Start

1. Get Your Fathom API Key

  1. Go to Fathom Settings
  2. Navigate to API Access
  3. Click Generate API Key

2. Install the MCP Server

git clone https://github.com/matthewbergvinson/fathom-mcp.git
cd fathom-mcp
npm install
npm run build

3. Configure Cursor

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "fathom": {
      "command": "node",
      "args": ["/path/to/fathom-mcp/dist/index.js"],
      "env": {
        "FATHOM_API_KEY": "your-api-key-here",
        "FATHOM_OUTPUT_DIR": "/path/to/export/transcripts"
      }
    }
  }
}

Note: Replace /path/to/fathom-mcp with the actual path where you cloned the repo, and add your Fathom API key.

4. Restart Cursor

Restart Cursor to load the MCP server. You can now use natural language to interact with your Fathom data:

  • "List my last 5 Fathom meetings"
  • "Get the transcript from my call with John"
  • "Export yesterday's meetings to markdown"
  • "Show me action items from this week"

Available Tools

Meeting Operations

| Tool | Description | |------|-------------| | list_meetings | List meetings with filters (date, team, external-only) | | get_meeting | Get full meeting details including transcript, summary, actions | | get_transcript | Get just the transcript formatted as markdown | | search_meetings | Search by participant email, company domain, or team |

Export Operations

| Tool | Description | |------|-------------| | export_meeting | Export single meeting to MeetingTitle_YYYY-MM-DD.md | | export_all_meetings | Bulk export meetings with optional date filters |

Action Items

| Tool | Description | |------|-------------| | get_action_items | Get action items from a specific meeting or recent calls |

Team Management

| Tool | Description | |------|-------------| | list_teams | List all teams in your organization | | list_team_members | List team members (optionally filtered by team) |

Webhooks

| Tool | Description | |------|-------------| | create_webhook | Create webhook for new meeting notifications | | delete_webhook | Delete an existing webhook |

Tool Parameters

| Parameter | Type | Description | |-----------|------|-------------| | limit | number | Max meetings to return (0 = all) | | created_after | string | ISO 8601 timestamp filter | | created_before | string | ISO 8601 timestamp filter | | include_external_only | boolean | Only meetings with external participants |

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | recording_id | number | Yes | The meeting's recording ID | | include_transcript | boolean | No | Include transcript (default: true) | | include_summary | boolean | No | Include AI summary (default: true) | | include_action_items | boolean | No | Include action items (default: true) | | include_crm_matches | boolean | No | Include CRM data (default: true) |

| Parameter | Type | Description | |-----------|------|-------------| | participant_emails | string[] | Filter by participant emails | | domains | string[] | Filter by company domains (e.g., acme.com) | | teams | string[] | Filter by team names | | created_after | string | ISO 8601 timestamp | | created_before | string | ISO 8601 timestamp |

| Parameter | Type | Description | |-----------|------|-------------| | recording_id | number | Meeting to export (export_meeting only) | | created_after | string | Only export after this date | | created_before | string | Only export before this date | | output_dir | string | Custom output directory |

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | destination_url | string | Yes | Webhook endpoint URL | | include_transcript | boolean | No | Include transcript in payload | | include_summary | boolean | No | Include summary in payload | | include_action_items | boolean | No | Include action items | | include_crm_matches | boolean | No | Include CRM data | | triggered_for | string[] | No | Recording types that trigger webhook |

Exported Transcript Format

Exported meetings are saved as markdown with:

  • Metadata table — Date, duration, participants, Fathom links
  • AI Summary — Fathom's generated summary
  • Action Items — With assignees and completion status
  • Full Transcript — Speaker-labeled with timestamps

Example filename: Quarterly_Business_Review_2024-12-01.md

# Quarterly Business Review

## Meeting Details
| Field | Value |
|-------|-------|
| **Date** | Sunday, December 1, 2024 at 10:00 AM |
| **Duration** | 45m 32s |
| **Recorded by** | Jane Smith <[email protected]> |

## Participants
- **John Doe** <[email protected]> _(external)_
- **Jane Smith** <[email protected]>

## Summary
> Key discussion points and outcomes...

## Action Items
- [ ] Follow up on proposal _(assigned to Jane)_
- [x] Send meeting notes

## Transcript
**John Doe** _[00:00:15]_
> Thanks for joining today...

Rate Limits

The Fathom API allows 60 requests per minute. The MCP server handles this gracefully.

Security

  • API keys are stored in Cursor's MCP configuration (not in code)
  • Never commit your mcp.json or API keys to version control
  • Webhook secrets should be stored securely

Troubleshooting

MCP not loading?

  • Ensure you've restarted Cursor after editing mcp.json
  • Check the path to dist/index.js is correct
  • Verify your API key is valid

"fetch failed" errors?

  • Ensure you're using Node.js 18 or higher
  • Check your network connection
  • Verify API key permissions in Fathom settings

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode for development
npm run dev

License

MIT License — see LICENSE for details.

Author

Matthew Bergvinson
Vigilante Consulting


Need Custom AI Tools Built Fast?

We build production-ready MCP servers, AI integrations, and automation tools for businesses.

📧 [email protected]


This MCP server is not officially affiliated with Fathom Video, Inc.