Watchgoose

io.github.bartekrutkowskiPublished by GitHub account bartekrutkowskiv1.1.3Updated Oct 24, 2026

Monitor cron jobs and recurring work through a project-scoped Watchgoose connection.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowSecurity & Monitoring

Overview

AI-generated overview

Connects an AI assistant to Watchgoose cron and recurring-job monitoring, so it can list checks, inspect status history and, if enabled, change checks.

What you can do
  • List and read monitoring checks, including a single check by its stable key
  • Review status history and flips for a check
  • List pings and alert integrations (read-write key required)
  • Create, update, pause, resume or delete checks when writes are explicitly enabled
When to use it
Useful when you want an assistant to review the health of scheduled jobs and heartbeats, triage missed runs, or draft and apply changes to monitoring checks in a single Watchgoose project.
Requirements
Either the hosted Streamable HTTP endpoint with OAuth 2.1 and Dynamic Client Registration, or the npm package run locally with Node.js 20 or later. A project-scoped Watchgoose API key is needed for the local setup, passed as WATCHGOOSE_API_KEY; optional WATCHGOOSE_API_URL, WATCHGOOSE_ENABLE_WRITES and WATCHGOOSE_API_KEY_ACCESS settings exist. Network access to the Watchgoose API is required.
Before you install
The API key is a credential: protect config files containing it, prefer a read-only hcr_ key and a dedicated project, and revoke keys you no longer use. Writes are off by default and must be turned on with WATCHGOOSE_ENABLE_WRITES; with a read-write key the assistant can create, update, pause, resume and delete checks, and create_check can overwrite an existing check's settings or clear all alert integrations. The key is sent to the host in WATCHGOOSE_API_URL, so only point it at a trusted URL.

Installation

In SourceWeft

  1. Open Watchgoose in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.bartekrutkowski%2Fwatchgoose-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "watchgoose": {
      "type": "http",
      "url": "https://mcp.watchgoose.com/mcp"
    }
  }
}

README

Watchgoose MCP

Watchgoose MCP connects MCP-capable AI clients to the Watchgoose Management API. It lets you inspect cron and recurring-task monitoring, with check changes available only when you explicitly enable writes.

Hosted connector

Use the hosted Streamable HTTP endpoint in clients that support OAuth 2.1 and Dynamic Client Registration:

text
https://mcp.watchgoose.com/mcp

Available in

Watchgoose is available in the Claude connector directory.

Watchgoose is listed in ChatGPT plugins for GPT and Codex.

Watchgoose is listed in the official MCP Registry.

The watchgoose-mcp package is available on npm.

In Claude, open Settings > Connectors and add the endpoint as a custom connector. For Claude Code, run:

shell
claude mcp add --transport http --scope user watchgoose https://mcp.watchgoose.com/mcp

The browser consent flow limits each connection to one project and defaults to read-only access. See the Watchgoose MCP documentation for the tool and privacy boundaries.

Requirements

  • Node.js 20 or later
  • A project-scoped Watchgoose API key from Project settings → API Access → Create (read-only)

Use an hcr_ read-only key when you only need check state and status history. Use an hcw_ read-write key when you also need pings, integrations, or check changes.

Claude Desktop

Add this entry to claude_desktop_config.json and restart Claude Desktop:

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

Claude Code

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

Run claude mcp get watchgoose to check the connection.

Cursor

Create .cursor/mcp.json in your project, or add the same entry to your user MCP configuration:

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

VS Code

Create .vscode/mcp.json:

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

Run MCP: List Servers and start watchgoose.

Cline

Cline connects to the hosted endpoint with OAuth, so no API key is needed. Open MCP Servers > Configure MCP Servers and add this entry to cline_mcp_settings.json:

json
{  "mcpServers": {    "watchgoose": {      "type": "streamableHttp",      "url": "https://mcp.watchgoose.com/mcp"    }  }}

Keep "type": "streamableHttp" exactly as written; without it Cline falls back to SSE and the connection fails. When Cline prompts you to authenticate, sign in to Watchgoose in the browser, choose one project and keep read-only access unless you want Cline to change checks. To use a project API key instead, add the npx entry from the Cursor section above to the same file.

Environment

VariableRequiredDefaultDescription
WATCHGOOSE_API_KEYYes-Project-scoped hcr_ read-only key, hcw_ read-write key, or legacy 32-character key.
WATCHGOOSE_API_URLNohttps://watchgoose.com/api/v3Management API base URL. HTTPS is required except for loopback development hosts. The key is sent to this host, so use only a URL you trust.
WATCHGOOSE_ENABLE_WRITESNofalseSet to true to expose mutation tools when the key is read-write.
WATCHGOOSE_API_KEY_ACCESSLegacy keys only-Required as read-only or read-write for an unprefixed 32-character key.

The server classifies key prefixes locally and never probes the API to infer access. Setting WATCHGOOSE_ENABLE_WRITES=true cannot give a read-only key additional access.

Tools

Checks are addressed by stable 40-character unique_key values. UUIDs, ping URLs, and integration UUIDs are used only inside the server and are not shown to the AI client.

ToolRequired accessManagement API mapping
list_checksRead-onlyGET /checks/
get_checkRead-onlyGET /checks/<unique_key>
list_flipsRead-onlyGET /checks/<unique_key>/flips/
list_pingsRead-writeResolve unique_key, then GET /checks/<uuid>/pings/
list_channelsRead-writeGET /channels/
create_checkRead-write plus writes enabledPOST /checks/
update_checkRead-write plus writes enabledResolve unique_key, then POST /checks/<uuid>
pause_checkRead-write plus writes enabledResolve unique_key, then POST /checks/<uuid>/pause
resume_checkRead-write plus writes enabledResolve unique_key, then POST /checks/<uuid>/resume
delete_checkRead-write plus writes enabledResolve unique_key, then DELETE /checks/<uuid>

Integration assignments use exact integration names. Names must be non-empty and unique within the project.

create_check is a create-or-update operation when unique is supplied: a matching existing check has its supplied settings replaced. timeout without schedule also switches a scheduled check to interval monitoring: the stored schedule string remains, but no longer governs cadence. Include the confirmed schedule to retain scheduled monitoring. Other omitted settings remain unchanged. channels: [] clears all alert integration assignments. The tool therefore advertises destructiveHint: true. A new check awaits success/failure for completion-based cadence; a first failure can move it down. An optional start ping can initiate runtime monitoring before completion.

List results are capped at 100 checks, 100 pings, 200 flips, and 100 integrations. Every serialized tool result is also capped at 24,000 characters. Results include metadata when entries are omitted.

Security

  • Writes are disabled by default, even with an hcw_ key.
  • The API key is sent only in the X-Api-Key header and is never logged or returned.
  • API redirects are rejected so credentials cannot be forwarded to another host.
  • Check UUIDs, ping and update URLs, integration UUIDs, and unknown future API fields are removed from output.
  • Pings keep only type, date, n, scheme, method, and duration. Source IP addresses, user agents, run IDs, and body URLs are removed.
  • Ping bodies are never requested.
  • The server has no telemetry.

Protect client configuration files that contain API keys. Prefer a dedicated project and the least-privileged key that exposes the tools you need. Revoke a key from Watchgoose project settings when it is no longer in use.

Report vulnerabilities privately as described in SECURITY.md.

Workflow skills

The repository includes portable skills for auditing scheduled-job coverage, drafting single-job setup, triaging missed heartbeats, reviewing existing monitoring health, and proposing approved create-only batches from an audit, list or CSV. See the skills guide for local installation, examples, and safety boundaries. Skills do not grant additional access, automatically run jobs, or change the existing directory listings.

The installable monitoring plugin lives in plugins/watchgoose-monitoring/, with one canonical skill tree and remote-MCP adapters. Load that subfolder rather than the repository root; the old root plugin/skill paths are superseded without automatic migration of installed copies. The npm CLI and hosted endpoint remain unchanged.

Each release also publishes the plugin as the root of pixeware/watchgoose-plugin:

  • Gemini CLI: gemini extensions install https://github.com/pixeware/watchgoose-plugin
  • Grok Build: grok plugin install pixeware/watchgoose-plugin --trust
  • Any agent that reads Agent Skills: npx skills add pixeware/watchgoose-plugin, then add the hosted endpoint in your client

Development

shell
npm installnpm run format:checknpm run lintnpm run typechecknpm testnpm run publish:dry-run

Production integration tests are opt-in and require dedicated test-project keys. They never run in CI.

Every user-visible distribution shares one release version: the npm package, server.json, the hosted server, the Claude and portable plugin manifests and the OpenAI plugin. Bump WATCHGOOSE_RELEASE_VERSION in packages/core/src/constants.ts and the matching manifests together; tests/skills/release-version.test.ts fails if any of them disagree. The OpenAI upload ZIP is built with npm run build:openai-plugin.

Support

License

MIT

Various badges

[MCP Badge]

Source: README.md at commit d244690

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

5
  1. v1.1.3LatestOct 24, 2026
  2. v1.1.2Oct 15, 2026
  3. v1.1.1Oct 14, 2026
  4. v0.1.3Oct 7, 2026
  5. v0.1.2Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts