About yourtraffic
yourtraffic is self-hosted web analytics for site owners who want traffic statistics without cookies or personal data. It combines a REST API with an OAuth-enabled MCP server.
Key features
- 01Privacy-focused traffic analytics
- 02Unlimited website tracking
- 03REST API for statistics
- 04Dashboard-based site setup
Use cases
- 01Review traffic across websites
- 02Retrieve statistics through the REST API
- 03Approve agent access to analytics
MCP support
Exposes an MCP server at `/mcp` for agents to access analytics. OAuth approval is used, so an API key is not required.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEYourTraffic
Open-source, privacy-first web analytics. Unlimited websites, a first-class REST API and a native MCP server for agents. No cookies, no personal data, no consent banners.
Self-hosting
Prerequisites
- Vercel CLI installed globally
- A Postgres database
- Node 20 or newer
Set up
Clone the repo and install dependencies.
git clone https://github.com/kozmos-tech/yourtraffic
cd yourtraffic
npm install
Copy the example env file and fill it in.
cp .env.example .env
DATABASE_URL. Your Postgres connection string. The app fails to start without it.BETTER_AUTH_SECRET. A long random secret. Generate one withopenssl rand -base64 32. Never ship the default, since visitor hashes are salted from it.BETTER_AUTH_URL. The public origin of your deployment, likehttps://analytics.example.com. Usehttp://localhost:3000in development. This is also the origin MCP clients discover for OAuth, so it must be the exact public URL with no trailing path.GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET. Optional. Set both to enable Google sign-in on the login and signup pages. Create OAuth credentials in the Google Cloud console and addBETTER_AUTH_URL+/api/auth/callback/googleas an authorized redirect URI. Leave them blank to hide the Google button.
Create the database tables before the first run.
npm run db:migrate
Run it
vc dev
open http://localhost:3000
Sign in, add a website, then drop the shown snippet into the <head> of your site. Stats appear within seconds of the first visit.
Deploy
npm install
vc deploy
Set DATABASE_URL, BETTER_AUTH_SECRET and BETTER_AUTH_URL in your Vercel project settings, then run the migration against your production database.
Database
Schema lives in src/db/schema.ts. Generate a migration after changing it, then apply it.
npm run db:generate
npm run db:migrate
Reading your stats
Every project has an api key, shown under Settings in the dashboard.
- REST API. Pass the key as a Bearer token to
/api/v1/stats. See llms.txt for the full guide. - MCP server. Point an agent at
/mcp. It uses OAuth, so you sign in to approve access and no api key is needed.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.