Skip to main content
The Tallwatch MCP server exposes your account to AI agents like Claude as a small set of tools. Once it’s connected, you can ask Claude to “list the monitors that are down” or “create an HTTP monitor for my staging API” and it calls Tallwatch for you. It’s a thin, typed client over the public REST API: it never touches the database and holds no server state, so everything it can do is gated by the scope of the API key you give it.
MCP (Model Context Protocol) is an open standard for connecting AI agents to tools. The Tallwatch server speaks it over stdio, so any MCP client (Claude Desktop, Claude Code, and others) can use it.

Before you start

  • An API key with the scopes you want the agent to have. Use a read key if the agent should only look, or a write key if it should also create monitors and resolve incidents.
  • The @tallwatch/mcp package built locally (pnpm --filter @tallwatch/mcp build), or the tallwatch-mcp binary installed.

Configure it

The server reads two environment variables:

Connect Claude Desktop

Add the server to claude_desktop_config.json (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json), pointing the command at the built entry:
claude_desktop_config.json
If the tallwatch-mcp binary is installed globally, you can point the command at it directly and drop TALLWATCH_API_URL to use the default:
claude_desktop_config.json
Restart Claude Desktop after editing the config. The Tallwatch tools then appear in the client.

Tools

The server registers ten tools. Read tools work with a read key; write tools need a write key.
acknowledge_incident and resolve_incident work with a write-scoped key. A read-only key calling a write tool gets a clear 403 from the API.

What you can ask

With the server connected, you drive Tallwatch in plain language. A few examples:
“Which monitors have an open incident right now? Show me the most recent event on each.” The agent calls list_incidents filtered to open, then get_incident for the detail.
“Create an HTTP monitor for https://staging.acme.com checking every minute from three regions.” The agent calls create_monitor with the right config. This needs a write key.
“I just deployed the fix. Acknowledge the incident on the checkout API and leave a note that the rollback is done.” The agent calls acknowledge_incident with your note. This needs a write key.
“Pause the monitors tagged legacy while we migrate.” The agent finds them with list_monitors and calls pause_monitor on each. This needs a write key.
Hand the agent a read key when you only want it to observe. Scope enforcement happens API-side on every call, so a read key physically cannot create or resolve anything, no matter what you ask.