About datawatch
datawatch is a CLI and stdio MCP server for working with a data-observability platform’s alerts, assets, freshness checks, and schema monitoring. It implements a documented core subset of the platform’s tools and requires an API key.
Key features
- 01Review health and daily briefings
- 02List and manage alerts and rules
- 03Discover and manage data assets
- 04Check freshness and schedules
- 05Inspect schema changes and baselines
Use cases
- 01Review current alerts and their trends
- 02Discover assets under observation
- 03Check freshness for a particular asset
- 04Track schema changes against a baseline
MCP support
It runs as a stdio MCP server and exposes a subset of the platform API for alerts, assets, freshness, and schema monitoring.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
24Saved tool list · updated 1w ago
This tool takes no parameters.
Details
From the project READMEdatawatch
datawatch talks to a data-observability platform's API: platform health and a daily briefing, alerts (summaries, inbox, trends, history and rules), the data assets under observation and their discovery, freshness summaries, checks and schedules, and schema summaries, change lists, baselines and monitoring. One binary serves a command-line interface and a stdio MCP server.
An API key is required. Set ARMOR_API_KEY before use; when it
is missing or blank, every tool fails with an error naming the
variable before any request is made. The API base URL can be
overridden with DATAWATCH_API_URL; when it is not set, calls
go to https://api.anomalyarmor.ai (a labelled reconstruction).
Scope note: the platform's documentation enumerates 52 tool names (its own heading says 29 and its version line says 52; the enumerated sections list 52). datawatch implements a labelled core subset of 24 of them — alerts, assets, freshness and schema drift — and omits the metrics, validity, referential, destination, coverage, recommendation, Q&A, intelligence, lineage, job, tag and API-key tools.
Install
npx @reneturcios/datawatch get_alerts_summary
Or run the container image:
docker run -i ghcr.io/cloudcorprecords/datawatch
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
CLI
The subcommands mirror the MCP tool names:
export ARMOR_API_KEY=...
datawatch health_summary
datawatch get_todays_briefing
datawatch list_alerts --status open --severity high
datawatch list_inbox_alerts --limit 20
datawatch update_alert --alert-id al1 --action acknowledge --comment "looking into it"
datawatch get_alert_trends --period 7d
datawatch list_alert_rules --asset-id a1 --is-active true
datawatch create_alert_rule --asset-id a1 --rule-type freshness --config '{"threshold_hours":24}'
datawatch list_assets --source snowflake --search orders
datawatch create_asset --name warehouse --source-type snowflake
datawatch trigger_asset_discovery --asset-id a1
datawatch check_freshness --asset-id a1 --table-path db.schema.orders
datawatch setup_freshness --asset-id a1 --table-path db.schema.orders --check-interval 1h
datawatch list_schema_changes --severity breaking
datawatch create_schema_baseline --asset-id a1 --description initial
datawatch get_schema_monitoring --asset-id a1
datawatch --version
Results print the upstream JSON payload. Exit codes: 0 on
success, 1 when a call fails (including a missing key or an
upstream API error), 2 for usage errors.
MCP server
One bin serves both faces. The mcp subcommand starts a stdio
MCP server:
npx -y @reneturcios/datawatch mcp
MCP client configuration:
{
"mcpServers": {
"datawatch": {
"command": "npx",
"args": ["-y", "@reneturcios/datawatch", "mcp"],
"env": { "ARMOR_API_KEY": "..." }
}
}
}
Tools
| Tool | Input | What it does |
|---|---|---|
health_summary | (none) | Overall platform health summary. |
get_todays_briefing | (none) | Today's observability briefing. |
get_alerts_summary | (none) | Summary of current alerts. |
list_alerts | status, severity, asset_id, from_date, to_date | List alerts with optional filters. |
list_inbox_alerts | status, limit (integer) | List inbox alerts. |
update_alert | alert_id, action (both required), comment | Apply an action to an alert. |
get_alert_trends | period | Alert trends for a period. |
get_alert_history | alert_id (required) | History of one alert. |
list_alert_rules | asset_id, is_active (boolean) | List alert rules. |
create_alert_rule | asset_id, rule_type (both required), config (object) | Create an alert rule. |
manage_alert_rule | rule_id, action (both required) | Manage an alert rule. |
list_assets | source, asset_type, search | List data assets. |
create_asset | name, source_type (both required), connection_config (object) | Create a data asset. |
manage_asset | asset_id, action (both required) | Manage a data asset. |
trigger_asset_discovery | asset_id (required) | Trigger asset discovery. |
get_freshness_summary | (none) | Freshness summary across assets. |
check_freshness | asset_id (required), table_path | Check one asset's freshness. |
setup_freshness | asset_id, table_path (both required), check_interval | Set up freshness monitoring. |
list_freshness_schedules | asset_id | List freshness schedules. |
manage_freshness_schedule | schedule_id, action (both required) | Manage a freshness schedule. |
get_schema_summary | (none) | Schema monitoring summary. |
list_schema_changes | asset_id, severity, from_date, to_date | List schema changes. |
create_schema_baseline | asset_id (required), description | Create a schema baseline. |
get_schema_monitoring | asset_id (required) | Schema monitoring for one asset. |
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
License
MIT — see LICENSE.
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.