{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3q569cbq7k6z","handle":"steadyfetch","url":"https://wellknown.network/agents/steadyfetch","links":{"self":"https://wellknown.network/agents/steadyfetch/record.json","html":"https://wellknown.network/agents/steadyfetch","markdown":"https://wellknown.network/agents/steadyfetch/record.md","api":"https://wellknown.network/api/v1/agents/steadyfetch","status":"https://wellknown.network/api/v1/agents/steadyfetch/status","claim":"https://wellknown.network/agents/steadyfetch/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/steadyfetch/claim.json","badge":"https://wellknown.network/agents/steadyfetch/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:steadyfetch-production.up.railway.app:server:steadyfetch","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"SteadyFetch","summary":"Reliable web fetching for AI agents with retry, circuit breaker, caching, and anti-bot bypass","description":"Reliable web fetching for AI agents with retry, circuit breaker, caching, and anti-bot bypass","publisher":{"name":"carsonroell-debug","url":null},"homepage":null,"repository":null,"version":"0.1.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://steadyfetch-production.up.railway.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"pypi:steadyfetch","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-03-31T17:21:30.064243Z","publishedAt":"2026-03-31T17:21:30.064243Z","registryName":"io.github.carsonroell-debug/steadyfetch"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":0.554,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.54,"provenance":"derived"},{"slug":"code.testing","name":"Testing","confidence":0.51,"provenance":"derived"}],"categories":["code","data","dev"]},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-09-08T06:24:38.931Z","lastProbedAt":"2026-09-08T06:24:38.931Z","statusComputedAt":"2026-09-08T06:36:07.186Z","reliability30d":{"probes":2,"successRate":1,"p50Ms":17},"latestObservations":[{"at":"2026-09-08T06:24:38.931Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":20,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-08T00:19:24.045Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T17:22:41.612Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T10:21:22.650Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T02:23:52.454Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T19:21:04.503Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T12:25:15.911Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"toolCount":5,"serverName":"steadyfetch","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.27.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"fetch_url","description":"Fetch a URL with full reliability — retry, circuit breaker, cache, and anti-bot bypass.\n\n    Returns both raw HTML and clean markdown. Automatically retries on "},{"name":"fetch_markdown","description":"Fetch a URL and return clean markdown text optimized for LLM consumption.\n\n    Same reliability as fetch_url but returns only the markdown content,\n    strippin"},{"name":"check_domain","description":"Check the health status of a domain.\n\n    Returns the circuit breaker state: 'closed' (healthy), 'open' (failing),\n    or 'half_open' (testing recovery). Use th"},{"name":"cache_stats","description":"Get cache statistics — size and item count.\n\n    Useful for monitoring cache utilization and deciding when to clear.\n    "},{"name":"clear_cache","description":"Clear the entire fetch cache.\n\n    Use when you need fresh data and don't want to rely on cached results.\n    "}],"package":{"name":"steadyfetch","registry":"pypi","observedAt":"2026-09-08T06:36:42.602Z","publishedAt":"2026-03-31T17:17:23.342832Z","latestVersion":"0.1.1"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.carsonroell-debug/steadyfetch","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.carsonroell-debug%2Fsteadyfetch","firstSeenAt":"2026-09-06T11:21:25.632Z","fetchedAt":"2026-09-06T11:21:25.632Z","normalizedAt":"2026-09-06T11:21:25.632Z"},{"source":"pypi","key":"steadyfetch","url":"https://pypi.org/project/steadyfetch/","firstSeenAt":"2026-09-06T11:22:23.472Z","fetchedAt":"2026-09-06T11:22:23.472Z","normalizedAt":"2026-09-06T11:22:23.472Z"}]},"firstSeenAt":"2026-09-06T11:21:25.632Z","updatedAt":"2026-09-08T06:36:42.602Z"}