Watchtower
Job alerts for AI agents: describe a role once, get only new postings from 1,500+ tech job boards.
Connect it
Settings → Connectors → Add custom connector
URL: https://watchtower.lat/mcp?ref=registrySettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://watchtower.lat/mcp?ref=registry{
"mcpServers": {
"watchtower": {
"url": "https://watchtower.lat/mcp?ref=registry"
}
}
}claude mcp add --transport http watchtower https://watchtower.lat/mcp?ref=registry{
"servers": {
"watchtower": {
"type": "http",
"url": "https://watchtower.lat/mcp?ref=registry"
}
}
}8 tools, verified live
watch_jobsCreate a persistent watch for tech jobs. Describe what you want in query ("iOS jobs in Austin making at least 150k a year with a maximum of 6 years of experience") and leave url out: the watch then covers every job board Watchtower monitors (tech companies and startups, whatever platform they use) and reports each new matching posting (JOB_ADDED). The response shows how the query was read (interpr
search_jobsread-onlyFind the tech jobs open right now that match a request, across every job board Watchtower monitors (tech companies and startups). Describe what you want in query ("iOS jobs in Austin with a maximum of 6 years of experience"). Read-only: nothing is saved and no watch is created, and no token is needed. The response shows how the query was read (interpreted), the matching jobs newest first, the tota
list_companiesread-onlyList the companies whose job boards Watchtower monitors, i.e. what search_jobs and watch_jobs without a url cover. Pass query to check whether a company is covered ("stripe"). Each entry has name, board_url (pass it to watch_jobs as url to follow only that company), platform and open_jobs. Read-only, no token needed. If a company is missing, watch its board URL or careers page to add it.
get_changesReturn job changes detected since your last get_changes call, across all your watches or one watch. This is the cheap replacement for re-browsing careers pages: if it returns an empty list, nothing you care about has changed. By default the cursor advances so each change is delivered once; pass peek=true to look without advancing, or since=<cursor> to replay.
list_watchesread-onlyList all active watches for your client with their health, last check time and number of pending (undelivered) changes.
get_watchread-onlyGet 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. Use this to answer "what is open right now" without searching or fetching careers pages yourself.
ack_changesMark changes up to a cursor as processed. Use with get_changes(peek=true) for at-least-once delivery: peek, act on the changes, then ack the cursor get_changes returned. Not needed if you call get_changes without peek (that acknowledges automatically).
delete_watchcan modifyStop monitoring. Frees one of your watch slots. Delete watches you no longer need.
Alternatives in AI & Agents
Compare →AGAgentDataB
Free company data for AI agents: profiles, tech stacks, contact details and people. No sign-in.
AuscaB
Pay-per-call APIs and MCP services for agents, no accounts or keys, with verifiable receipts.
TMTetrees MCPB
Own, grow and trade portable agent intelligence via TAIP/1 Packs and MCP.
ASAsterwiseB
Vedic and Western astrology for AI agents: charts, dasha, matchmaking, panchanga, numerology, tarot.
e18eB
The official e18e MCP server keeping your agent in check from installing bloated dependencies.
Competitor Tracking Trends MCPB
Brand and competitor trend volume over time, with growth signals. Free key at trendsmcp.ai