Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Fathom MCP server

Vendor MCP
Open markdown

The Fathom MCP connector routes your AI agent's tool calls to Fathom's own MCP server through Scalekit. Each user signs in to Fathom once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 9 tools.

Tools
9
What they doRead · write · destructive
9 · 0 · 09 read0 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Fathom MCP connection

    In AgentKit > Connections, create a Fathom MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Fathom, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'fathommcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Fathom MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'fathommcp_get_identity',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • fathommcp_find_personFind a person by name across meeting speakers, then return contact info and compact summaries for matched meetings.Read-only

    Fathom Find Person

    Find a person by name across meeting speakers, then return contact info and compact summaries for matched meetings. Searches the speaker index directly. Use recorded_by = user email for own recordings, "anyone" for org-wide lookups.

    Inputs

    namestringrequired
    The person's name to search for.
    recorded_bystringrequired
    Filter by recorder. Use the authenticated user's email for own recordings or 'anyone' for org-wide search.
    created_afterstring
    ISO 8601 date string. Only search meetings created after this date.
  • fathommcp_get_identityReturns the authenticated user's name and email address.Read-only

    Fathom Get Identity

    Returns the authenticated user's name and email address. Call this once per session to determine who the authenticated user is. The email is needed only for queries explicitly scoped to the user's own recordings (recorded_by filter), not for every tool call.

    Inputs

    This tool takes no inputs.

  • fathommcp_get_meeting_summaryReturns the AI summary of a specific Fathom meeting.Read-only

    Fathom Get Meeting Summary

    Returns the AI summary of a specific Fathom meeting. Required: recording_id (from list_meetings). When presenting, cite with a working link using the meeting url field.

    Inputs

    recording_idintegerrequired
    The recording ID from list_meetings.
  • fathommcp_get_meeting_transcriptReturns the full transcript of a specific Fathom meeting.Read-only

    Fathom Get Meeting Transcript

    Returns the full transcript of a specific Fathom meeting. Required: recording_id (from list_meetings). Pass url to get timestamped deep links. Fetch at most 3 transcripts per query — they are large.

    Inputs

    recording_idintegerrequired
    The recording ID from list_meetings.
    urlstring
    The meeting URL from list_meetings for timestamped deep links.
  • fathommcp_get_recording_by_call_idResolve a Fathom call ID to a recording_id plus title, date, and url.Read-only

    Fathom Get Recording By Call Id

    Resolve a Fathom call ID to a recording_id plus title, date, and url. Use when the user pastes or types a numeric call ID. Pass the returned recording_id to get_meeting_summary, get_meeting_transcript, etc.

    Inputs

    call_idintegerrequired
    The numeric Fathom call ID.
  • fathommcp_get_recording_by_urlResolve a Fathom URL to a recording_id plus title, date, and url.Read-only

    Fathom Get Recording By Url

    Resolve a Fathom URL to a recording_id plus title, date, and url. Accepts direct call URLs (/calls/:id) and share links. Use when the user pastes any Fathom link.

    Inputs

    urlstringrequired
    A Fathom call URL or share link.
  • fathommcp_list_meetingsList Fathom meetings with filters.Read-only

    Fathom List Meetings

    List Fathom meetings with filters. Returns recording_id, title, url, recorded_by, calendar_invitees. For team queries call list_teams first. Does NOT scan meeting content — for finding meetings with a specific person use find_person, for topic searches use search_meetings.

    Inputs

    created_afterstring
    ISO 8601 date string. Only return meetings created after this date.
    created_beforestring
    ISO 8601 date string. Only return meetings created before this date.
    cursorstring
    Pagination cursor from a previous response.
    include_action_itemsboolean
    Include action items in results.
    include_summaryboolean
    Include AI summary in results.
    max_pagesinteger
    Maximum number of pages to fetch.
    recorded_byarray
    Filter by recorder email addresses.
    teamsarray
    Filter by team names (use list_teams to get valid names).
  • fathommcp_list_teamsList all Fathom teams the current user belongs to.Read-only

    Fathom List Teams

    List all Fathom teams the current user belongs to. Returns team names. Use the returned names for the teams filter in list_meetings. Call list_teams first if you need team names — do not guess them.

    Inputs

    This tool takes no inputs.