{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"dev.coinop/longwatch","title":"longwatch","description":"You are ephemeral. longwatch remembers what you already saw. Create a watch, persist watch_id + key,","version":"1.0.1","websiteUrl":"https://longwatch.dev","serverUrl":"https://longwatch.dev/mcp","remotes":[{"type":"streamable-http","url":"https://longwatch.dev/mcp"}],"icons":[{"src":"https://longwatch.dev/icon.svg","mimeType":"image/svg+xml","sizes":["any"]}],"tools":[{"name":"check_now","title":"Look at a source right now","description":"This-session snapshot only — no watch, no cursor. Use when you will not come back. Types: url, rss, price, edgar (8-K items decoded, Form 4 trades parsed). If the job spans runs, create_watch instead and persist watch_id + key. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["url","rss","price","edgar"],"description":"watch type"},"url":{"type":"string","description":"url|rss: page or feed URL to watch"},"coin":{"type":"string","description":"price: CoinGecko id, e.g. bitcoin"},"above":{"type":"number","description":"price: alert when USD price crosses above"},"below":{"type":"number","description":"price: alert when USD price crosses below"},"move_pct_24h":{"type":"number","description":"price: alert when abs 24h change exceeds this pct"},"ticker":{"type":"string","description":"edgar: stock ticker"},"cik":{"type":"number","description":"edgar: SEC CIK, alternative to ticker"},"forms":{"type":"array","items":{"type":"string"},"description":"edgar: form filter, e.g. [\"8-K\",\"4\"]"}},"required":["type"]}},{"name":"create_watch","title":"Create a standing watch","description":"Keep watching a source between agent runs. Persist watch_id and key; later poll_alerts with since=<last cursor> returns only what you missed. Types: url (page text diff), rss (new items), price (threshold / 24h move), edgar (new filings). Create includes the baseline so the next poll is not empty. Costs $0.005 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["url","rss","price","edgar"],"description":"watch type"},"url":{"type":"string","description":"url|rss: page or feed URL to watch"},"coin":{"type":"string","description":"price: CoinGecko id, e.g. bitcoin"},"above":{"type":"number","description":"price: alert when USD price crosses above"},"below":{"type":"number","description":"price: alert when USD price crosses below"},"move_pct_24h":{"type":"number","description":"price: alert when abs 24h change exceeds this pct"},"ticker":{"type":"string","description":"edgar: stock ticker"},"cik":{"type":"number","description":"edgar: SEC CIK, alternative to ticker"},"forms":{"type":"array","items":{"type":"string"},"description":"edgar: form filter, e.g. [\"8-K\",\"4\"]"},"webhook":{"type":"object","properties":{"url":{"type":"string","description":"https endpoint that alerts are POSTed to"}},"required":["url"],"description":"optional: push alerts to this URL as they occur, instead of only polling"},"idempotency_key":{"type":"string","maxLength":255,"description":"unique retry key"}},"required":["type"]}},{"name":"poll_alerts","title":"Poll a watch for new alerts","description":"What is new since your last run. Pass since={last seq you saw}; the response carries a new cursor. Polling keeps the watch alive (expires after 7 days without a poll). Watches created during the free beta remain free to poll. Costs $0.001 USDC per call via x402 (Base) — no API key, no account. Calling without payment returns 402 with the payment requirements. Free alternative: GET https://longwatch.dev/demo for a free NVDA Form 4 sample, or POST https://longwatch.dev/try for a 24h watch — no wallet needed.","inputSchema":{"type":"object","properties":{"watch_id":{"type":"string"},"key":{"type":"string"},"since":{"type":"number"}},"required":["watch_id","key"]}},{"name":"try_watch","title":"Create a free trial watch","description":"Create a free trial watch — no payment, no wallet, no account. Same watch types as create_watch (url, rss, price, edgar). The trial runs for 24h, one at a time per caller, and cannot use webhooks. Use this first to see what the alerts look like before paying. Free — no payment required.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["url","rss","price","edgar"],"description":"watch type"},"url":{"type":"string","description":"url|rss: page or feed URL to watch"},"coin":{"type":"string","description":"price: CoinGecko id, e.g. bitcoin"},"above":{"type":"number","description":"price: alert when USD price crosses above"},"below":{"type":"number","description":"price: alert when USD price crosses below"},"move_pct_24h":{"type":"number","description":"price: alert when abs 24h change exceeds this pct"},"ticker":{"type":"string","description":"edgar: stock ticker"},"cik":{"type":"number","description":"edgar: SEC CIK, alternative to ticker"},"forms":{"type":"array","items":{"type":"string"},"description":"edgar: form filter, e.g. [\"8-K\",\"4\"]"},"webhook":{"type":"object","properties":{"url":{"type":"string","description":"https endpoint that alerts are POSTed to"}},"required":["url"],"description":"optional: push alerts to this URL as they occur, instead of only polling"}},"required":["type"]}},{"name":"poll_trial","title":"Poll a free trial watch","description":"Poll a trial watch created by try_watch. Free. Pass since={last seq you saw}; the response carries a new cursor. Once the trial expires, create a paid watch with create_watch for the same behaviour without a time limit. Free — no payment required.","inputSchema":{"type":"object","properties":{"watch_id":{"type":"string"},"key":{"type":"string"},"since":{"type":"number"}},"required":["watch_id","key"]}},{"name":"delete_watch","title":"Delete a watch","description":"Stop and delete a watch. Free. Free — no payment required.","inputSchema":{"type":"object","properties":{"watch_id":{"type":"string"},"key":{"type":"string"}},"required":["watch_id","key"]}}]}