Open source · Apache 2.0

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.

ToolUse it for
get_usage_summaryTotals for a period, for everyone or one person
get_cost_breakdownCost grouped by user, day, model or project
get_tool_usage_statsHow often tools are called
get_activity_timelineActivity over time
list_sessionsSessions filtered by person or project, sorted by recency, cost or messages
get_session_detailOne session's messages and tool calls
get_session_summaryRequests, tools, branches and directories for a session
get_user_activityActivity per person
get_projectsProjects and their activity
search_messagesSearch message text
search_audit_eventsSearch audit trail events
get_compliance_activitiesclaude.ai activity from the Compliance API
get_agent_runsAgent run history
run_queryRead-only SQL, SELECT only, up to 500 rows

Running it locally.

Commands from the repository README.

  1. Clone and install

    Python 3.11 or later.

    git clone https://github.com/Attri-Inc/openwatch.git
    cd openwatch
    pip install -e ".[dev]"
  2. 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 --reload
  3. Connect 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.