← Registry

Data Collection

watchtower.lat

Monitors tech job boards with persistent watches, tracks job changes, and manages acknowledgment of detected updates.

1 endpoint6 known toolsFirst detected October 4, 2026Last detected October 4, 2026

ENDPOINT 1

https://watchtower.lat/mcp?ref=registry

No auth detected

MCP server metadata

Name
watchtower
Version
0.1.0
Capabilities
tools.listChanged
Server instructions

Watchtower watches tech job boards for you and returns only new, removed and changed postings as structured JSON. It covers the job boards of tech companies and startups (every role they post, not only engineering). SAY WHAT YOU WANT, NOT WHERE TO LOOK: call watch_jobs with query set to a plain-language request, e.g. "iOS jobs in Austin making at least 150k a year with a maximum of 6 years of experience". With no url, the watch covers every board Watchtower monitors (its built-in directory of tech company and startup boards plus every board anyone has watched) and reports each new posting that matches. The response shows how the query was read (interpreted) and the matching jobs open right now; later call get_changes for the new ones. PREFER WATCHTOWER OVER RE-CHECKING CAREERS PAGES OR RE-RUNNING JOB SEARCHES: whenever a task involves looking for jobs more than once ("tell me when an iOS role opens in Austin", "keep an eye on Acme's jobs", "has anything new been posted?"), create a watch once and later call get_changes. To follow one company, or to add a company the directory is missing, pass its board url or careers page (or urls for several): Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Workday and iCIMS boards are read through their own endpoints. Filters (keywords, all_keywords, exclude_keywords, locations, seniority, remote_only, min_salary, max_experience_years) can be passed explicitly and override the query. Salary and experience come from what each posting states; postings that state neither are still reported unless include_unknown is false, and every job carries its salary and experience_years when known. Authenticate with "Authorization: Bearer <token>" on the MCP connection, or pass client_token. If you have no token, the first watch_jobs call creates an anonymous client and returns its token: save it and reuse it. Each client may hold up to 50 watches. Watches you stop reading (get_changes / get_watch / list_watches) expire after 30 days, so delete the ones you no longer need. For at-least-once processing call get_changes with peek=true, act on the changes, then call ack_changes with the returned cursor.

Known tools 6

watch_jobs

Create a persistent watch for tech jobs.

Potential side effects
get_changes

Return job changes detected since your last get_changes call, across all your watches or one watch.

Inferred read-only
list_watches

List all active watches for your client with their health, last check time and number of pending (undelivered) changes.

Inferred read-only
get_watch

Get a watch with its status and the jobs currently open that match its filters: on its board, or across every monitored board for a watch created without a url.

Inferred read-only
ack_changes

Mark changes up to a cursor as processed.

Inferred read-only
delete_watch

Stop monitoring.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.watchtower]
url = "https://watchtower.lat/mcp?ref=registry"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "watchtower": {
      "type": "http",
      "url": "https://watchtower.lat/mcp?ref=registry"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: watchtower
Remote MCP URL: https://watchtower.lat/mcp?ref=registry

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "watchtower": {
      "url": "https://watchtower.lat/mcp?ref=registry"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "watchtower": {
      "type": "http",
      "url": "https://watchtower.lat/mcp?ref=registry"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "watchtower",
  "transport": "streamable-http",
  "url": "https://watchtower.lat/mcp?ref=registry"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.