Skip to main content
Glama
watchgoose-mcp

watchgoose-mcp

Watchgoose MCP

Watchgoose MCP verbindet MCP-fähige KI-Clients mit der Watchgoose Management API. Es ermöglicht Ihnen, die Überwachung von Cron- und wiederkehrenden Aufgaben zu prüfen, wobei Check-Änderungen nur verfügbar sind, wenn Sie Schreibvorgänge explizit aktiveren.

Voraussetzungen

  • Node.js 20 oder neuer

  • Ein projektspezifischer Watchgoose-API-Schlüssel aus den Projekteinstellungen

Verwenden Sie einen hcr_- Schlüssel mit Nur-Lese-Zugriff, wenn Sie nur den Check-Status und die Statushistorie benötigen. Verwenden Sie einen hcw_- Schlüssel mit Lese-/Schreibzugriff, wenn Sie auch Pings, Integrationen oder Check-Änderungen benötigen.

Related MCP server: uptimepage

Claude Desktop

Fügen Sie diesen Eintrag zu claude_desktop_config.json hinzu und starten Sie Claude Desktop neu:

{
  "mcpServers": {
    "watchgoose": {
      "command": "npx",
      "args": ["-y", "watchgoose-mcp"],
      "env": {
        "WATCHGOOSE_API_KEY": "hcr_your_project_key"
      }
    }
  }
}

Claude Code

claude mcp add --env WATCHGOOSE_API_KEY=hcr_your_project_key \
  --transport stdio --scope user watchgoose -- npx -y watchgoose-mcp

Führen Sie claude mcp get watchgoose aus, um die Verbindung zu prüfen.

Cursor

Erstellen Sie .cursor/mcp.json in Ihrem Projekt oder fügen Sie denselben Eintrag zu Ihrer Benutzer-MCP-Konfiguration hinzu:

{
  "mcpServers": {
    "watchgoose": {
      "command": "npx",
      "args": ["-y", "watchgoose-mcp"],
      "env": {
        "WATCHGOOSE_API_KEY": "hcr_your_project_key"
      }
    }
  }
}

VS Code

Erstellen Sie .vscode/mcp.json:

{
  "servers": {
    "watchgoose": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "watchgoose-mcp"],
      "env": {
        "WATCHGOOSE_API_KEY": "hcr_your_project_key"
      }
    }
  }
}

Führen Sie MCP: List Servers aus und starten Sie watchgoose.

Umgebung

Variable

Required

Default

Description

WATCHGOOSE_API_KEY

Ja

-

Projektspezifischer hcr_- Schlüssel mit Nur-Lese-Zugriff, hcw_- Schlüssel mit Lese-/Schreibzugriff oder veralteter 32-Zeichen-Schlüssel.

WATCHGOOSE_API_URL

Nein

https://watchgoose.com/api/v3

Basis-URL der Management-API. HTTPS ist erfordelich, außer für Loopback-Entwicklungs-Hosts. Der Schlüssel wird an diesen Host gesendet; verwenden Sie daher nur eine URL, der Sie vertrauen.

WATCHGOOSE_ENABLE_WRITES

Nein

false

Setzen Sie den Wert auf true, um Mutationswerkzeuge verfügbar zu machen, wenn der Schlüssel Lese-/Schreibzugriff hat.

WATCHGOOSE_API_KEY_ACCESS

Nur für Legacy-Schlüssel

-

Erforderlich als read-only oder read-write für einen Schlüssel ohne Präfix mit 32 Zeichen.

Der Server klassifiziert Schlüsselpräfixe lokal und fragt die API nie ab, um auf Zugriffsrechte zu schließen. Das Setzen von WATCHGOOSE_ENABLE_WRITES=true kann einem schreibgeschützten Schlüssel keinen zusätzlichen Zugriff gewähren.

Werkzeuge

Checks werden über stabile unique_key- Werte mit 40 Zeichen adressiert. UUIDs, Ping-URLs und Integrations-UUIDs werden nur innerhalbb des Servers verwendet und dem KI-Client nicht angezeigt.

Werkzeug

Erforderlicher Zugriff

Management-API-Zuordnung

list_checks

Nur Lesen

GET /checks/

get_check

Nur Lesen

GET /checks/<unique_key>

list_flips

Nur Lesen

GET /checks/<unique_key>/flips/

list_pings

Lesen/Schreiben

unique_key auflösen, dann GET /checks/<uuid>/pings/

list_channels

Lesen/Schreiben

GET /channels/

create_check

Lesen/Schreiben plus Schreibvorgänge aktivert

POST /checks/

update_check

Lesen/Schreiben plus Schreibvorgänge aktivert

unique_key auflösen, dann POST /checks/<uuid>

pause_check

Lesen/Schreiben plus Schreibvorgänge aktiviert

unique_key auflösen, dann POST /checks/<uuid>/pause

resume_check

Lesen/Schreiben plus Schreibvorgänge aktiviert

unique_key auflösen, dann POST /checks/<uuid>/resume

delete_check

Lesen/Schreiben plus Schreibvorgänge aktiviert

unique_key auflösen, dann DELETE /checks/<uuid>

Integrationszuordnungen verwenden exakte Integrationsnamen. Namen müssen nicht leer und innerhalb des Projekts eindeutig sein.

Listenergebnisse sind auf 100 Checks, 100 Pings, 200 Flips und 100 Integrationen begrenzt. Jedes serialisierte Werkzeugergebnis ist ebenfalls auf 24.000 Zeichen begrenzt. Ergebnisse enthalten Metadaten, wenn Einträge ausgelassen werden.

Sicherheit

  • Schreibvorgänge sind standardmäßig deaktivert, selbst mit einem hcw_- Schlüssel.

  • Der API-Schlüssel wird nur im X-Api-Key-Header gesendet und niemals protokolliert oder zurückgegeben.

  • API-Umleitungen werden abgelehnt, damit Anmeldedaten nicht an einen anderen Host weitergeleitet werden können.

  • Check-UUIDs, Ping- und Update-URLs, Integrations-UUIDs und unbekannte zukünftige API-Felder werden aus der Ausgabe entfernt.

  • Pings behalten nur type, date, n, scheme, method und duration. Quell-IP-Adressen, User-Agents, Run-IDs und Body-URLs werden entfernt.

  • Ping-Bodies werden nie angefordert.

  • Der Server verfügt über keine Telemetrie.

Schützen Sie Client-Konfigurationsdateien, die API-Schlüssel enthalten. Bevorzugen Sie ein dediziertes Projekt und den Schlüssel mit den geringsten Rechten, der die benötigten Werkzeuge verfügbar macht. Widerrufen Sie einen Schlüssel über die Watchgoose-Projekteinstellungen, wenn er nicht mehr verwendet wird.

Entwicklung

npm install
npm run format:check
npm run lint
npm run typecheck
npm test
npm run publish:dry-run

Produktions-Integrationstests sind optional (opt-in) und erfordern dedizierte Testprojekt-Schlüssel. Sie werden niemals in CI ausgeführt.

Lizenz

MIT

Available Tools

3 tools
get_checkGet a Watchgoose checkA
Read-onlyIdempotent
Inspect

Get one check by its stable unique_key, including its current state and schedule. Cron and OnCalendar checks use schedule plus grace; simple checks use timeout plus grace.

NameRequiredDescriptionDefault
unique_keyYes40-character stable check identifier from list_checks.

Output Schema

NameRequiredDescription
metaNo
checkYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds useful behavioral detail beyond annotations: it returns current state and schedule, and explains that Cron/OnCalendar checks use schedule plus grace while simple checks use timeout plus grace.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. The primary purpose and identifier are front-loaded, and the second sentence adds meaningful behavioral nuance without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with strong annotations and an output schema, the description sufficiently explains what the tool does, what it returns, and the relevant scheduling nuance. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents unique_key as a 40-character stable identifier from list_checks. The description repeats 'stable unique_key' but adds no new parameter semantics beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), resource ('one check'), identifier ('stable unique_key'), and the content returned ('current state and schedule'). It clearly distinguishes from siblings: list_checks lists checks, while this retrieves a single one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use this tool when you need a single check by its unique_key, not a list. It does not explicitly exclude alternatives, but the 'one check by its stable unique_key' phrasing implies the appropriate use case, and the schema parameter notes the key comes from list_checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_checksList Watchgoose checksA
Read-onlyIdempotent
Inspect

List checks in this Watchgoose project, optionally filtered by slug or tags. A successful ping arms a new check; Watchgoose then expects the next success within its timeout or schedule plus grace period.

NameRequiredDescriptionDefault
slugNoExact check slug to match, using lowercase letters, numbers, hyphens, or underscores.
tagsNoTags that every returned check must have, for example ["production", "backup"].
limitNoMaximum number of checks to return, from 1 to 100.

Output Schema

NameRequiredDescription
metaYes
checksYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful domain context about how pings arm checks and expectations after timeout/schedule plus grace period, but it does not disclose tool-specific behavior such as sorting, pagination, or response shape beyond the existing schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the action, resource, and filters. The second sentence is concise and adds useful domain context, though it is somewhat tangential to actually invoking list_checks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity, read-only list operation with a fully described input schema, an output schema, and complete annotations, the description is largely sufficient. It specifies project scope and filtering, though explicit sibling differentiation would make it fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with slug, tags, and limit each already described in the input schema. The description only restates the slug/tags filter idea and adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise action and resource: 'List checks in this Watchgoose project'. It also states the optional filters (slug or tags), and the collection-scope wording naturally distinguishes this from the sibling tools get_check and list_flips.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through 'optionally filtered by slug or tags', but it never explicitly contrasts this tool with get_check or list_flips. There is no when-to-use vs. alternatives guidance, only a clear statement of what the tool does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_flipsList a check's status changesA
Read-onlyIdempotent
Inspect

List retained status changes for a check, newest first, with optional time filters. In results, up: 1 means the check became up; up: 0 means any other status, including down, paused, and new after resume. A pause or resume that changes the check's status records a flip.

NameRequiredDescriptionDefault
endNoExclusive upper bound for status-change timestamps, as Unix seconds; for example 1592217980.
limitNoMaximum number of status changes to return, from 1 to 200.
startNoInclusive lower bound for status-change timestamps, as Unix seconds; for example 1592214380.
secondsNoLookback window for status changes in seconds, from 0 to 31536000; for example 3600.
unique_keyYes40-character stable check identifier from list_checks.

Output Schema

NameRequiredDescription
metaYes
flipsYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description explains key output semantics: up: 1 means became up, up: 0 includes down/paused/new-after-resume, and pause/resume that changes status records a flip. This materially helps an agent interpret results and is not visible in the schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core operation, followed by the essential semantics of the up field and flip recording. Every sentence contributes useful information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations and an output schema present, the description sufficiently covers what the tool returns, how results are ordered, and what counts as a flip. The required unique_key and optional time filters are documented in the schema, so nothing critical is missing for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters. The description adds only the general notion of 'optional time filters,' which aligns with start/end/seconds but provides no additional parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'List retained status changes for a check.' It also states the ordering ('newest first') and clearly distinguishes this tool from siblings by focusing on status-change history rather than listing checks or fetching a single check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use this when you need a check's status changes with optional time filters. It does not explicitly name alternatives or say when not to use it, but the operation is distinct enough from list_checks and get_check that the intended use is evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.1
    • Changedget_check1 field changed
      • addedInput schema / properties / unique_key / description
        Added value: +"40-character stable check identifier from list_checks."
    • Changedlist_checks3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of checks to return, from 1 to 100."
      • addedInput schema / properties / slug / description
        Added value: +"Exact check slug to match, using lowercase letters, numbers, hyphens, or underscores."
      • addedInput schema / properties / tags / description
        Added value: +"Tags that every returned check must have, for example [\"production\", \"backup\"]."
    • Changedlist_flips5 fields changed
      • addedInput schema / properties / end / description
        Added value: +"Exclusive upper bound for status-change timestamps, as Unix seconds; for example 1592217980."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of status changes to return, from 1 to 200."
      • addedInput schema / properties / seconds / description
        Added value: +"Lookback window for status changes in seconds, from 0 to 31536000; for example 3600."
      • addedInput schema / properties / start / description
        Added value: +"Inclusive lower bound for status-change timestamps, as Unix seconds; for example 1592214380."
      • addedInput schema / properties / unique_key / description
        Added value: +"40-character stable check identifier from list_checks."
  2. 3 tool updatesv1.0.0
    • First observedget_check
    • First observedlist_checks
    • First observedlist_flips

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

The three tools are clearly distinct: list checks, get a single check by key, and list status changes. There is no meaningful overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent lowercase verb_noun pattern: list_checks, get_check, list_flips. The singular/plural difference is natural and appropriate.

Tool Count5/5

Three tools is well-scoped for a read-only monitoring server. Each tool provides a distinct capability with no redundancy or filler.

Completeness4/5

The read-only monitoring surface is coherent: discover checks, inspect a check, and view its flip history. Check management and ping actions appear to happen outside MCP, so the lack of mutation tools is a minor gap rather than a fatal one.

Maintenance

ActivityActive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for CronAlert uptime monitoring — manage monitors, check results, and incidents from any MCP-compatible AI client.
    9
    191 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Uptimepage uptime monitoring. An LLM client can read your monitors and incidents, run a check on demand, and post incident updates. Writes need an OAuth login and a scoped token, and each one is logged.
    52
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for KEEPitALIVE monitoring, enabling AI agents to read and manage monitors, incidents, triggers, and notification routing via the v1 API, with scope-based tool filtering and safety modes.
    14 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM clients to manage Uptime Kuma HTTP(S) monitors, groups, tags, and notifications, and to retrieve heartbeats, stats, and incident history through MCP tools.
    MIT