{
 "id": "dev.workers.adamhaleworks.tools/web-research",
 "name": "Adam Hale Tools: Web Research and Open Data",
 "description": "Free web lookups; PDF to Markdown, audio transcripts, screenshots, WHOIS/DNS paid per call via x402.",
 "connect": {
  "transport": "streamable-http",
  "url": "https://tools.adamhaleworks.workers.dev/mcp"
 },
 "website": "https://tools.adamhaleworks.workers.dev/x402/#mcp",
 "version": "1.1.0",
 "source": "official MCP registry (registry.modelcontextprotocol.io)",
 "reliability": {
  "verdict": "reliable",
  "attempts": 24,
  "successes": 24,
  "successRate": 1,
  "consecutiveSuccesses": 24,
  "lastStatus": "ok",
  "lastCheckedAt": "2026-10-19T12:35:47.814Z",
  "lastLatencyMs": 7048,
  "toolsAdvertised": 12,
  "method": "MCP initialize + tools/list from Faceabot, identified as FaceabotProbe/1.0 plus, when the server declares a read-only tool (readOnlyHint), one call of that tool with a neutral sample input to check it really returns a result. Servers on the 2026-07-28 MCP revision (no initialize handshake) get the same checks in that revision",
  "work": {
   "verdict": "proven_working",
   "tool": "ted_tender_search",
   "attempts": 24,
   "successes": 24,
   "successRate": 1,
   "consecutiveSuccesses": 24,
   "lastStatus": "ok",
   "lastMs": 6553,
   "sampleInput": "{\"q\":\"hello world\"}",
   "method": "Faceabot calls one read-only tool (annotations.readOnlyHint) with a neutral sample input and checks that it returns a non-empty result without error."
  }
 },
 "details": "https://faceabot.com/api/catalog?id=dev.workers.adamhaleworks.tools%2Fweb-research",
 "page": "https://faceabot.com/tools/dev.workers.adamhaleworks.tools/web-research",
 "badge": {
  "image": "https://faceabot.com/badge/dev.workers.adamhaleworks.tools/web-research.svg",
  "markdown": "[![Measured by Faceabot](https://faceabot.com/badge/dev.workers.adamhaleworks.tools/web-research.svg)](https://faceabot.com/tools/dev.workers.adamhaleworks.tools/web-research)",
  "note": "Live reliability badge the publisher of this server can show on its README or website."
 },
 "recentChecks": [
  {
   "at": "2026-10-19T12:35:47.814Z",
   "ok": 1,
   "status": "ok",
   "ms": 7048,
   "f_status": "ok"
  },
  {
   "at": "2026-10-18T20:32:49.395Z",
   "ok": 1,
   "status": "ok",
   "ms": 5486,
   "f_status": "ok"
  },
  {
   "at": "2026-10-18T07:15:44.550Z",
   "ok": 1,
   "status": "ok",
   "ms": 5209,
   "f_status": "ok"
  },
  {
   "at": "2026-10-17T23:25:42.764Z",
   "ok": 1,
   "status": "ok",
   "ms": 5140,
   "f_status": "ok"
  },
  {
   "at": "2026-10-17T15:15:46.377Z",
   "ok": 1,
   "status": "ok",
   "ms": 6043,
   "f_status": "ok"
  },
  {
   "at": "2026-10-17T07:10:44.417Z",
   "ok": 1,
   "status": "ok",
   "ms": 5131,
   "f_status": "ok"
  },
  {
   "at": "2026-10-16T23:20:47.208Z",
   "ok": 1,
   "status": "ok",
   "ms": 4852,
   "f_status": "ok"
  },
  {
   "at": "2026-10-16T16:10:50.128Z",
   "ok": 1,
   "status": "ok",
   "ms": 5451,
   "f_status": "ok"
  },
  {
   "at": "2026-10-16T09:05:52.389Z",
   "ok": 1,
   "status": "ok",
   "ms": 5465,
   "f_status": "ok"
  },
  {
   "at": "2026-10-16T02:11:00.198Z",
   "ok": 1,
   "status": "ok",
   "ms": 5658,
   "f_status": "ok"
  },
  {
   "at": "2026-10-15T19:15:57.624Z",
   "ok": 1,
   "status": "ok",
   "ms": 6590,
   "f_status": "ok"
  },
  {
   "at": "2026-10-15T12:31:04.418Z",
   "ok": 1,
   "status": "ok",
   "ms": 3875,
   "f_status": "ok"
  },
  {
   "at": "2026-10-15T05:55:30.309Z",
   "ok": 1,
   "status": "ok",
   "ms": 3053,
   "f_status": "ok"
  },
  {
   "at": "2026-10-14T23:20:30.387Z",
   "ok": 1,
   "status": "ok",
   "ms": 3242,
   "f_status": "ok"
  },
  {
   "at": "2026-10-14T16:55:20.767Z",
   "ok": 1,
   "status": "ok",
   "ms": 6968,
   "f_status": "ok"
  },
  {
   "at": "2026-10-14T10:25:36.840Z",
   "ok": 1,
   "status": "ok",
   "ms": 3606,
   "f_status": "ok"
  },
  {
   "at": "2026-10-14T03:51:18.681Z",
   "ok": 1,
   "status": "ok",
   "ms": 7175,
   "f_status": "ok"
  },
  {
   "at": "2026-10-13T21:16:00.004Z",
   "ok": 1,
   "status": "ok",
   "ms": 5699,
   "f_status": "ok"
  },
  {
   "at": "2026-10-13T15:05:56.875Z",
   "ok": 1,
   "status": "ok",
   "ms": 7984,
   "f_status": "ok"
  },
  {
   "at": "2026-10-13T08:55:59.462Z",
   "ok": 1,
   "status": "ok",
   "ms": 8130,
   "f_status": "ok"
  }
 ],
 "trust": {
  "access": "no sign-in needed",
  "tools": 12,
  "declaredReadOnly": 12,
  "declaredCanWrite": 0,
  "declaredDestructive": 0,
  "toolDefinitionsFingerprint": "7aa0c1379a34dc438a01d9378fb733ea",
  "toolDefinitionsLastChangedAt": null,
  "toolDefinitionChangesSinceFirstSeen": 0,
  "firstSeenAt": "2026-10-17T23:25:42.928Z",
  "protocol": "2025-06-18",
  "warnings": [],
  "note": "Facts observed by Faceabot when it last read this server's tool list. 'Can write' counts tools not declared read-only (annotations are self-declared). A changed fingerprint means tool names, descriptions or schemas changed since Faceabot first saw them: re-check before trusting an earlier approval."
 }
}