Agent Skills

Kestrel

Free, no-signup web page change monitor for AI agents. Watch any URL (HTML/JSON/RSS/text); check_watch tells you if it changed since last time and shows a short diff. MCP + HTTP, no key, no email.

Install

npx cmdssi mcp 'https://kestrel.perch-app.workers.dev/mcp'
README

Kestrel docs

Free, no-signup web page change monitor. Two ways to use it: MCP or HTTP. No API key — you keep the token you get back.

HTTP API

Create a watch — POST /api/watch

curl -s https://kestrel.perch-app.workers.dev/api/watch -H 'content-type: application/json' \
  -d '{"url":"https://example.com/pricing","label":"Example pricing"}'
# -> { "watch_id":"abc123...", "token":"kst_...", "baseline_len": 1234, ... }

Pass an existing "token" to add the watch to the same account.

Check a watch — POST /api/watch/<watch_id>/check

curl -s https://kestrel.perch-app.workers.dev/api/watch/abc123/check -H 'content-type: application/json' \
  -d '{"token":"kst_..."}'
# -> { "changed": true, "added_lines":[...], "removed_lines":[...], ... }

List watches — GET /api/watches?token=kst_...
Delete a watch — POST /api/watch/<watch_id>/delete with {"token":"kst_..."}

MCP (Streamable HTTP)

Endpoint: https://kestrel.perch-app.workers.dev/mcp. Tools: create_watch, check_watch, list_watches, delete_watch.

{"jsonrpc":"2.0","id":1,"method":"tools/call",
 "params":{"name":"create_watch","arguments":{"url":"https://example.com/"}}}

Typical agent loop: create_watch once, store the token + watch_id, then check_watch on each run. A change returns changed: true with the added/removed lines.

Notes

Only public http(s) URLs (private/internal hosts blocked). Content capped at 2 MB. Rate limit 40 req/min per IP. Kestrel calls no LLM. Each check updates the baseline, so you always diff against the previous check.

Search skills and MCP servers

Search across 31,816 skills and MCPs