mcp-fathom-analytics

MCP server for Fathom Analytics

GitHub Stars

2

User Rating

Not Rated

Forks

3

Issues

0

Views

2

Favorites

0

README
MCP Fathom Analytics

An unofficial Model Context Protocol (MCP) server for accessing Fathom Analytics data through an AI assistant. This implementation uses the @mackenly/fathom-api unofficial SDK to interact with the Fathom Analytics API. Not affiliated, endorsed, or supported by Fathom Analytics. Published to npm as an npx script.

smithery badge

Fathom Analytics MCP server MseeP.ai Security Assessment Badge

Features

The MCP server provides the following Fathom Analytics tools:

Account Information
  • get-account: Retrieve details about your Fathom Analytics account
Sites Management
  • list-sites: List all your Fathom Analytics sites
Events
  • list-events: List events for a specific site
Analytics
  • get-aggregation: Generate aggregated analytics reports with flexible filtering and grouping options
Visitor Tracking
  • get-current-visitors: Get real-time data about current site visitors
Usage

If you're using Claude Desktop, you can add the MCP server using the json config (more info). Here's an example:

{
    "mcpServers": {
        "fathom-analytics": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-fathom-analytics"
            ],
            "env": {
                "FATHOM_API_KEY": "your_api_key_here"
            }
        }
    }
}

You can find more information about other MCP Clients here: Model Context Protocol Example Clients

API Structure

The MCP server uses the @mackenly/fathom-api SDK to interface with the Fathom Analytics API endpoints:

  1. Account API: https://api.usefathom.com/v1/account
  2. Sites API: https://api.usefathom.com/v1/sites
  3. Events API: https://api.usefathom.com/v1/sites/SITE_ID/events
  4. Aggregation API: https://api.usefathom.com/v1/aggregations
  5. Current Visitors API: https://api.usefathom.com/v1/current_visitors
Aggregation Examples

The aggregation tool is highly flexible. Here are some example use cases:

  1. Daily pageview statistics for the last 30 days:
{
  "entity": "pageview",
  "entity_id": "SITE_ID",
  "aggregates": "pageviews,uniques,visits",
  "date_grouping": "day",
  "date_from": "2023-08-01 00:00:00"
}
  1. Performance of individual pages:
{
  "entity": "pageview",
  "entity_id": "SITE_ID",
  "aggregates": "pageviews,uniques,avg_duration",
  "field_grouping": "pathname",
  "sort_by": "pageviews:desc",
  "limit": 10
}
  1. Traffic from specific countries:
{
  "entity": "pageview",
  "entity_id": "SITE_ID",
  "aggregates": "visits",
  "field_grouping": "country_code",
  "sort_by": "visits:desc"
}
Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author Information
Mackenly Jones

Fullstack Software Engineer based in East Tennessee on a mission to reshape modern communication one line at a time. 🌲🌄👨‍💻

@tricitiesmediagroup Tennessee, United States

35

Followers

65

Repositories

18

Gists

7

Total Contributions

Top Contributors

Threads