Skip to main content
Glama

Fathom MCP Server

MCP Node.js License

A Model Context Protocol (MCP) server that enables Claude Desktop (and other MCP clients) to access your Fathom meeting intelligence — list meetings, read summaries, search by title, and pull full transcripts.

Features

Meeting Intelligence Tools

Tool

Description

fathom_list_meetings

List recent meetings with optional date filters. Returns title, date, participants, summary, and action items

fathom_get_summary

Get the AI-generated summary for a specific meeting (markdown formatted)

fathom_get_transcript

Get the full speaker-labeled, timestamped transcript for a meeting

fathom_search_meetings

Search meetings by keyword in title with optional date filtering

Built-in Reliability

  • Token-bucket rate limiter — respects Fathom's 60 req/min limit client-side

  • Auto-retry on 429 — exponential backoff (2s, 4s, 8s) up to 3 retries

  • Structured error responses — actionable error messages with status codes and recovery hints

  • Prompt injection protection — external content wrapped in randomised EXTCONTENT markers

Related MCP server: Fathom AI MCP Server

Quick Start

Prerequisites

  • Node.js 22.14 or higher

  • A Fathom account with API access

  • Claude Desktop (or any MCP-compatible client)

Get Your Fathom API Key

  1. Go to Fathom Settings

  2. Generate an API key

Installation

Published package: @luminarylane/fathom-mcp-server on npm

# Test it works
FATHOM_API_KEY=your-key npx --yes @luminarylane/fathom-mcp-server

Claude Desktop configuration:

{
  "mcpServers": {
    "fathom": {
      "command": "npx",
      "args": ["--yes", "@luminarylane/fathom-mcp-server"],
      "env": {
        "FATHOM_API_KEY": "your-fathom-api-key"
      }
    }
  }
}

Option 2: Install from npm

npm install -g @luminarylane/fathom-mcp-server

Then configure Claude Desktop:

{
  "mcpServers": {
    "fathom": {
      "command": "luminarylane-fathom-mcp",
      "env": {
        "FATHOM_API_KEY": "your-fathom-api-key"
      }
    }
  }
}

Option 3: Install from Source

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

Then configure Claude Desktop:

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

Usage Examples

Once configured, ask Claude to:

  • "What meetings did I have this week?"

  • "Get the summary for my last standup"

  • "Search for meetings about product roadmap"

  • "Pull the transcript from my meeting with the design team"

  • "List all meetings from the past month"

Authentication

Set the FATHOM_API_KEY environment variable with your API key from Fathom Settings.

Rate Limits

Fathom enforces 60 requests per 60 seconds per user. The server handles this automatically with a client-side token bucket and exponential backoff retries.

Troubleshooting

Missing API key

FATHOM_API_KEY env var is required

Set the FATHOM_API_KEY environment variable before starting the server.

401 Authentication failed

AUTH_FAILED: FATHOM_API_KEY is invalid or expired.

Check your API key in Fathom Settings and regenerate if needed.

Rate limit exceeded

RATE_LIMITED: Fathom rate limit (60/min). Wait 60s and retry.

The server handles short waits automatically. For longer windows, wait and retry.

Reporting Issues

  1. Check existing issues

  2. Open a new issue with the full error message, steps to reproduce, and your environment details

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

npm install
npm run dev        # Dev mode
npx tsc --noEmit   # Type check
npx prettier --write .  # Format

License

MIT License — see LICENSE for details.

Acknowledgments

Available Tools

4 tools
fathom_get_summaryA

Get the AI-generated summary for a specific meeting. Returns markdown-formatted summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
recording_idYesThe meeting/recording ID from fathom_list_meetings

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'returns markdown-formatted summary' which hints at read-only behavior, but does not state side effects, auth requirements, or rate limits. Adequate but could be more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, direct sentences with no redundant information. Front-loaded with purpose and output format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one required parameter and no output schema, the description is complete: it specifies input source, output format, and core functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, which already explains it comes from fathom_list_meetings. The tool description adds no additional semantic information beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool gets an AI-generated summary for a specific meeting, explicitly mentioning the markdown format. It is distinct from siblings like fathom_get_transcript (different output) and fathom_list_meetings (different purpose).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. It is implied that one uses it when needing a summary rather than a transcript, but there are no when-not or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fathom_get_transcriptA

Get the full speaker-labeled, timestamped transcript for a specific meeting. Use sparingly — transcripts can be large. Prefer fathom_list_meetings for quick overviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
recording_idYesThe meeting/recording ID from fathom_list_meetings

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description mentions large size but does not disclose other behavioral traits such as read-only nature, latency, or output format beyond basic structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. Front-loaded with purpose, followed by usage guidance. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple one-parameter tool with no output schema. It explains what the tool returns and gives usage advice, though it could specify output format more precisely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description covers the only parameter (recording_id) fully. The tool description adds no additional meaning beyond restating the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves a full transcript with speaker labels and timestamps. Does not explicitly differentiate from fathom_get_summary or fathom_search_meetings, only from fathom_list_meetings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit advice to use sparingly due to size and suggests an alternative for quick overviews (fathom_list_meetings). Does not address when to use other siblings like fathom_get_summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fathom_list_meetingsA

List recent meetings from Fathom with optional date filters. Returns title, date, participants, summary, and action items.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoOnly meetings after this ISO 8601 date (e.g., 2026-03-12)
limitNoNumber of meetings to return (default: 10, max: 50)
beforeNoOnly meetings before this ISO 8601 date
cursorNoPagination cursor for next page

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description indicates read-only operation (list), and discloses return fields. No annotations provided, so description carries burden but lacks details on authentication, rate limits, or pagination behavior beyond what schema provides. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource, no wasted words. Could slightly expand on output structure but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

4 params, no required, no output schema. Description lists return fields but not structure (e.g., array of objects), and omits pagination details. Adequate for a list tool but missing some completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds 'with optional date filters' but no parameter-specific details beyond schema. No added value over what schema already provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'List' and resource 'meetings from Fathom' with optional date filters, clearly distinguishing from sibling tools that search or retrieve individual meetings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for listing recent/date-filtered meetings, but no explicit guidance on when to use vs siblings (e.g., search_meetings for keyword search). No when-not-to-use or alternative suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fathom_search_meetingsA

Search the most recent 50 meetings by keyword in title. Client-side filtering since Fathom API doesn't have native search. Use the 'after' param to narrow the window.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoOnly meetings after this ISO 8601 date
limitNoMax results to return (default: 10)
queryYesSearch keyword to match against meeting titles

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Reveals that the tool only searches the most recent 50 meetings and performs client-side filtering. Annotations are absent, so the description provides the primary behavioral context. Missing details on case sensitivity, exact matching, or behavior when query matches more than 50 meetings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each essential: purpose, technical limitation, and usage tip. Concise and front-loaded with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input behavior well but lacks details on output format, pagination, or how results are returned. Without an output schema, the description should clarify what the tool returns (e.g., meeting IDs, metadata).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have schema descriptions (100% coverage). The description adds value by explaining the client-side filtering context and how the 'after' parameter narrows the window, enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search'), resource ('meetings'), and scope ('most recent 50 by keyword in title'). It distinguishes from sibling tools like fathom_list_meetings, which lists all meetings without keyword filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains that client-side filtering is used due to API limitations, and advises using the 'after' param to narrow the search window. However, it does not explicitly compare to sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedfathom_get_summary
    • First observedfathom_get_transcript
    • First observedfathom_list_meetings
    • First observedfathom_search_meetings

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct operation: summary retrieval, transcript retrieval, listing meetings, and searching. No overlaps or ambiguities.

Naming Consistency5/5

All tools follow a consistent 'fathom_verb_noun' pattern, using clear and predictable verbs (get, list, search).

Tool Count5/5

With 4 tools, the server is focused and each tool addresses a core need for meeting data retrieval. No excess or shortage.

Completeness5/5

The set covers all likely retrieval operations (list, get summary, get transcript, search). There are no obvious gaps for the domain of meeting information access.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables LLMs to interact with Fathom.video API for managing meeting recordings, retrieving transcripts and AI-generated summaries, searching meeting content, and accessing analytics and team data.
    10
    10 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes the Fathom AI meeting intelligence API to Claude, allowing users to list meetings, fetch transcripts, and retrieve summaries. It also enables management of teams and members through the Model Context Protocol.
    45 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants access to Fathom meeting recordings, summaries, and transcripts via tools like list_meetings, get_meeting_summary, and get_meeting_transcript.
    MIT