{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_y473ne2epjuh","handle":"ned-watch","url":"https://wellknown.network/agents/ned-watch","links":{"self":"https://wellknown.network/agents/ned-watch/record.json","html":"https://wellknown.network/agents/ned-watch","markdown":"https://wellknown.network/agents/ned-watch/record.md","api":"https://wellknown.network/api/v1/agents/ned-watch","status":"https://wellknown.network/api/v1/agents/ned-watch/status","claim":"https://wellknown.network/agents/ned-watch/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ned-watch/claim.json","badge":"https://wellknown.network/agents/ned-watch/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/ned-watch/history","tools":"https://wellknown.network/api/v1/agents/ned-watch/tools"},"ard":{"identifier":"urn:air:api.ned.watch:server:ned-watch","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Ned Watch","summary":"Wake me when my agent misses its heartbeat. Deadman, overrun, HTTP, TLS, content; US+EU nodes.","description":"Wake me when my agent misses its heartbeat. Deadman, overrun, HTTP, TLS, content; US+EU nodes.","publisher":{"name":"watch.ned","url":null},"homepage":"https://ned.watch","repository":null,"version":"1.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.ned.watch/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-01T02:45:29.134358Z","publishedAt":"2026-10-01T02:45:29.134358Z","registryName":"watch.ned/ned-watch"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.chat","name":"Team Chat","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["commerce","communication","security"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-12T02:24:09.216Z","lastProbedAt":"2026-10-12T02:24:09.216Z","statusComputedAt":"2026-10-12T02:25:51.295Z","reliability30d":{"probes":45,"successRate":1,"p50Ms":134,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":45,"ok":45,"authBoundaryOk":0,"serviceOk":45,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T02:24:09.216Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":129,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T19:23:27.180Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":114,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T13:24:18.362Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":155,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T07:22:09.062Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":126,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T00:27:00.393Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T18:26:37.475Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":125,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T11:25:43.569Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T05:30:11.901Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":213,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:29:52.986Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":127,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:38.631Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"toolCount":12,"toolsHash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","serverName":"Ned Watch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"is_up","description":"Ask before you call. No key needed. Returns the state of everything Ned watches publicly on a host (and its\n    subdomains) from two continents: up, degraded (a"},{"name":"watch_register","description":"Register a watch. type: deadman | http | tls (for overrun and content use overrun_watch / content_watch).\n    notify: up to 3 Discord/Slack/Teams webhook URLs t"},{"name":"quickstart","description":"The fastest way to be watched, in one call. Makes you an agent (if you have no key yet) and a deadman watch that expects\n    a check-in every `every_minutes` (5"},{"name":"watch_get","description":"Current state of one of your watches: status, fired, fire_count, next_check, last_state."},{"name":"watch_cancel","description":"Cancel a watch you registered. Frees a free-tier slot."},{"name":"deadman_checkin","description":"Check in on a deadman watch to keep it from firing. Proves you hold the watch's signing_secret (returned at\n    registration): it is sent as Authorization: Bear"},{"name":"overrun_watch","description":"Fire when something is STILL running past its deadline (the other side of a deadman). Register once, then call\n    overrun_start when a run begins and overrun_f"},{"name":"overrun_start","description":"A run began on an overrun watch. Returns run_id and deadline. Sends the watch's signing_secret as\n    Authorization: Bearer for this one call; no agent key need"},{"name":"overrun_finish","description":"The run ended. Returns runtime_s and late. If Ned already fired for this run, your callback gets 'clear' with\n    late: true. Finishing with no run open is an e"},{"name":"content_watch","description":"Fire when a URL answers but says the wrong thing. expect has 1 to 5 conditions: status (int), contains /\n    not_contains (a string or list of strings), json_pa"},{"name":"balance","description":"Your balance in cents, free allowance used, burn per day, days left, and the top-up routes."},{"name":"pricing","description":"Ned Watch pricing: 5 free watches at >=300s, then per-day rates (http/tls/content 2c, fast 7c, deadman 1c, overrun 1c) from a prepaid\n    balance topped up over"}],"package":null,"toolSurface":{"id":"ts_md8bnuscqd6f","endpointId":"ep_pvuj7dpgjc6a","hash":"df9c17b0861dafe68a0a85852d38dacda1b6e999ed3f865e770efcb1e164e665","toolCount":12,"serverName":"Ned Watch","serverVersion":"1.30.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-07T05:24:42.999Z","lastSeenAt":"2026-10-12T02:24:09.224Z","observations":19,"toolNames":["is_up","watch_register","quickstart","watch_get","watch_cancel","deadman_checkin","overrun_watch","overrun_start","overrun_finish","content_watch","balance","pricing"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_pvuj7dpgjc6a","url":"https://api.ned.watch/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T18:26:37.475Z","auth":{"observedAt":"2026-10-10T18:26:37.584Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T18:26:37.598Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ned.watch","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-26T04:55:10.000Z","validTo":"2026-12-25T04:55:09.000Z","daysToExpiry":74,"sanCount":2,"fingerprint256":"29:4B:54:CC:A3:D5:F0:5F:F0:DF:03:9C:D3:8C:B8:5B:4A:73:AD:DA:E3:DE:28:C5:6E:DF:D4:F8:2B:41:F4:3B"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"watch.ned/ned-watch","url":"https://registry.modelcontextprotocol.io/v0/servers/watch.ned%2Fned-watch","firstSeenAt":"2026-09-30T06:21:51.289Z","fetchedAt":"2026-10-11T17:19:07.544Z","normalizedAt":"2026-10-11T17:19:07.544Z"}]},"firstSeenAt":"2026-09-30T06:21:51.289Z","updatedAt":"2026-10-12T02:26:48.956Z"}