Prerequisites
- Claude Desktop installed (download here)
- Surfa account with API key (sign up at surfa.dev)
uvpackage manager (install guide)
Get your Surfa API key from your dashboard.
Step 1: Install the MCP Server
Clone the Surfa MCP repository:Step 2: Find Your uv Path
You’ll need the full path touv for the Claude Desktop config.
macOS/Linux:
/Users/yourname/.local/bin/uv(macOS)/home/yourname/.local/bin/uv(Linux)/opt/homebrew/bin/uv(macOS with Homebrew)
Step 3: Configure Claude Desktop
Find your Claude Desktop config file: macOS:If You Have Other MCP Servers
If you already have MCP servers configured, just add Surfa to the existingmcpServers object:
Step 4: Restart Claude Desktop
Important: You must completely quit and reopen Claude Desktop for changes to take effect. macOS:- Cmd+Q to quit Claude Desktop
- Reopen from Applications
- Right-click system tray → Quit
- Reopen from Start menu
Step 5: Verify Connection
Look for the 🔌 icon in the bottom-right corner of Claude Desktop. Click it to see connected MCP servers. You should see “surfa” in the list.Step 6: Test Your First Query
Ask Claude:Success! Your Surfa MCP Server is now connected and working.
Example Queries
Try these queries to explore your analytics:Troubleshooting
Surfa not showing in MCP servers list
Surfa not showing in MCP servers list
Check:
- Config file path is correct
- JSON syntax is valid (use jsonlint.com)
- No trailing commas in JSON
- File saved after editing
Connection failed / Server not responding
Connection failed / Server not responding
Check:If this works, the issue is in your Claude Desktop config.
uvpath is correct (runwhich uvagain)- Surfa MCP directory path is absolute, not relative
- API key is correct (check dashboard)
- Internet connection is working
'No data' or empty responses
'No data' or empty responses
Check:
- You have events in your Surfa dashboard
- API key has access to the workspace
- Events are from “live” source (not test data)
'Module not found' error
'Module not found' error
Solution:
Reinstall dependencies:Then restart Claude Desktop.
JSON syntax error in config
JSON syntax error in config
Common mistakes:
- Trailing comma after last item
- Missing quotes around strings
- Backslashes in Windows paths (use forward slashes or double backslashes)
Advanced Configuration
Using Production API
If you’re using the production Surfa API (not localhost):Custom Timeout
Set a custom timeout (in seconds):Multiple Workspaces
Use different API keys for different workspaces:Updating the MCP Server
To update to the latest version:Uninstalling
To remove the Surfa MCP Server:- Remove the
"surfa"entry fromclaude_desktop_config.json - Restart Claude Desktop
- Optionally delete the cloned directory:
Next Steps
MCP Server Overview
Learn about all 4 analytics tools and example queries
API Reference
Complete API documentation with examples
Quickstart Guide
Start tracking events in 5 minutes
GitHub Repository
View source and contribute
Need Help?
Join Discord
Get help from the community and Surfa team