Ask OpenWatch from Claude,or from your own tools.
The open-source repository ships an MCP server with 14 tools and a read-only REST API with 23 endpoints over the same data. Run it locally with sample data in a few minutes.
One read layer, two ways in
Every REST endpoint is a GET under /api/v1: dashboard summaries and cost series, sessions with their messages, tools and audit trail, users, projects, message search, Compliance API activity and agent runs.
The MCP server gives Claude the same data as 14 tools, including a SELECT-only SQL tool for questions the others don't cover.
Neither has authentication of its own. Run them on your machine, or put them behind your own gateway before exposing them on a network.
All 14 MCP tools.
| Tool | Use it for |
|---|---|
| get_usage_summary | Totals for a period, for everyone or one person |
| get_cost_breakdown | Cost grouped by user, day, model or project |
| get_tool_usage_stats | How often tools are called |
| get_activity_timeline | Activity over time |
| list_sessions | Sessions filtered by person or project, sorted by recency, cost or messages |
| get_session_detail | One session's messages and tool calls |
| get_session_summary | Requests, tools, branches and directories for a session |
| get_user_activity | Activity per person |
| get_projects | Projects and their activity |
| search_messages | Search message text |
| search_audit_events | Search audit trail events |
| get_compliance_activities | claude.ai activity from the Compliance API |
| get_agent_runs | Agent run history |
| run_query | Read-only SQL, SELECT only, up to 500 rows |
Running it locally.
Commands from the repository README.
Clone and install
Python 3.11 or later.
git clone https://github.com/Attri-Inc/openwatch.git cd openwatch pip install -e ".[dev]"Load sample data and start
The REST API starts on port 8788 with docs at /docs.
python scripts/seed.py python -m uvicorn src.main:app --reloadConnect Claude Code
Adds the MCP server over stdio.
claude mcp add openwatch -s user -- python /absolute/path/to/openwatch/run_mcp.py
Questions about the API
Can the open-source version collect my organisation's data?
No. It reads a database and ships with sample data. Collecting from laptops and Anthropic's APIs comes with an Attri deployment.
Is this the same API an Attri deployment runs?
Not exactly. Attri deployments run a separate backend with Microsoft Entra sign-in and an MCP tool for filing tickets. The open-source API is the read layer you can run and inspect yourself.
Which MCP transports are supported?
stdio through run_mcp.py, and SSE on port 8789 when you start the MCP server module directly. Streamable HTTP isn't supported yet.
Can it write or delete data?
No. The database connection is query-only, and the SQL tool rejects anything but SELECT.
Someone will ask what happened.Have the answer ready.
Run OpenWatch on sample data in minutes, or have Attri deploy it inside your cloud with live data from your organisation.