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.
The MCP server provides the following Fathom Analytics tools:
get-account
: Retrieve details about your Fathom Analytics account
list-sites
: List all your Fathom Analytics sites
list-events
: List events for a specific site
get-aggregation
: Generate aggregated analytics reports with flexible filtering and grouping options
get-current-visitors
: Get real-time data about current site visitors
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
The MCP server uses the @mackenly/fathom-api SDK to interface with the Fathom Analytics API endpoints:
- Account API:
https://api.usefathom.com/v1/account
- Sites API:
https://api.usefathom.com/v1/sites
- Events API:
https://api.usefathom.com/v1/sites/SITE_ID/events
- Aggregation API:
https://api.usefathom.com/v1/aggregations
- Current Visitors API:
https://api.usefathom.com/v1/current_visitors
The aggregation tool is highly flexible. Here are some example use cases:
- 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"
}
- Performance of individual pages:
{
"entity": "pageview",
"entity_id": "SITE_ID",
"aggregates": "pageviews,uniques,avg_duration",
"field_grouping": "pathname",
"sort_by": "pageviews:desc",
"limit": 10
}
- Traffic from specific countries:
{
"entity": "pageview",
"entity_id": "SITE_ID",
"aggregates": "visits",
"field_grouping": "country_code",
"sort_by": "visits:desc"
}
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.