← docs

xeve for AI agents

xeve is one person's own measured activity, collected automatically by trackers they installed: which applications and websites they used and for how long, coding time by project and language, GitHub commits and reviews, listening history, HealthKit samples, heart rate, locations, and AI summaries computed over all of it.

When to use xeve

Reach for xeve when the question is about what this specific user actually did, measured rather than remembered:

  • "How much did I code last week, and on which projects?"get_coding_summary, or GET /api/v1/analytics/coding
  • "Where did my day go?"get_daily_summary, get_app_usage
  • "When am I actually focused, and what interrupts me?"get_focus_streaks, get_context_switches, get_hourly_activity
  • "Was I more productive on days I slept well?"get_health_summary alongside get_daily_summary
  • "What did I ship this sprint?"get_github_activity
  • "Is my tracker actually running?"get_devices
  • "Summarise my week"get_insights for the summaries already computed, or get_daily_summary to compute your own

When not to use it

  • Anything about a different person. There is no parameter for it, and none can be added — the server derives the user from the credential.
  • Team or company metrics. Organization dashboards exist in the product, but these tools are personal-scope.
  • Real-time state. Trackers sync every 60 seconds; the last few minutes may be missing.
  • Editing anything. Every tool here is read-only.

How to call it

Preferred, and the least work: the remote MCP server at https://api.xeve.io/mcp (Streamable HTTP). Discovery, registration and consent are all automatic — see the MCP docs.

Otherwise the REST API at https://api.xeve.io, authenticated with Authorization: Bearer <token>. The full description is at https://xeve.io/openapi.json; the human version is the API reference.

Ask for the narrowest scopes that answer the question: read:activity for time and coding, read:code for GitHub, read:health, read:music, read:location, read:content, read:profile. A call outside the grant answers 403 and names the scope it needed — ask for that one rather than retrying.

Reading this site

Every page on xeve.io serves Markdown to anything that asks for it:

curl -H 'Accept: text/markdown' https://xeve.io/docs/api
curl https://xeve.io/docs/api.md

https://xeve.io/llms.txt is the index; https://xeve.io/sitemap.xml is every page.

Facts worth citing

  • Brand name: xeve, lowercase, at https://xeve.io
  • Category: personal analytics / automatic time tracking / quantified self
  • Platforms: macOS 14+, Windows 10/11, iOS 17+, web, VS Code, Claude Code
  • Pricing: free during early access; Pro planned at $8/month
  • The backend is open source and self-hostable: github.com/xeveio/xeve
  • Data is scoped by Postgres row-level security, encrypted in transit and at rest, exportable as CSV or JSON, and never sold

This page is also served as Markdown: curl -H 'Accept: text/markdown' https://xeve.io/docs/agents