{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_gkr7tkddyqmu","handle":"contextfetch","url":"https://wellknown.network/agents/contextfetch","links":{"self":"https://wellknown.network/agents/contextfetch/record.json","html":"https://wellknown.network/agents/contextfetch","markdown":"https://wellknown.network/agents/contextfetch/record.md","api":"https://wellknown.network/api/v1/agents/contextfetch","status":"https://wellknown.network/api/v1/agents/contextfetch/status","claim":"https://wellknown.network/agents/contextfetch/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/contextfetch/claim.json","badge":"https://wellknown.network/agents/contextfetch/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/contextfetch/history","tools":"https://wellknown.network/api/v1/agents/contextfetch/tools"},"ard":{"identifier":"urn:air:api.contextfetch.dev:server:contextfetch","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ContextFetch","summary":"Web search and any page as LLM-ready Markdown for AI agents. Free keyless tier, no signup.","description":"Web search and any page as LLM-ready Markdown for AI agents. Free keyless tier, no signup.","publisher":{"name":"dev.contextfetch","url":null},"homepage":"https://contextfetch.dev","repository":"https://github.com/lachy3433/contextfetch-mcp","version":"1.0.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.contextfetch.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@contextfetch/mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-19T21:57:56.726482Z","publishedAt":"2026-10-19T21:57:56.726482Z","registryName":"dev.contextfetch/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.web-search","name":"Web Search","confidence":1,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.977,"provenance":"derived"},{"slug":"research.web","name":"Deep Web Research","confidence":0.583,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.54,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"}],"categories":["commerce","data","dev","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-23T14:29:56.143Z","lastProbedAt":"2026-10-23T14:29:56.143Z","statusComputedAt":"2026-10-23T14:32:55.686Z","reliability30d":{"probes":5,"successRate":0.8,"p50Ms":50,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":5,"ok":4,"authBoundaryOk":0,"serviceOk":4,"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-23T14:29:56.143Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":32,"error":null,"detail":{"tools":[{"name":"contextfetch_search","description":"Search the web and get LLM-ready Markdown. Each result has its title, URL and only the passages relevant to the query (cross-encoder pruned context), so it cost"},{"name":"contextfetch_extract_url","description":"Fetch a public web page (docs, articles, GitHub files, arXiv papers) as clean Markdown with tables preserved. Pass `query` to get only the passages relevant to "},{"name":"contextfetch_find_similar","description":"Find pages similar to a given URL (alternatives, related docs, competing libraries), excluding the source domain. Returns titles, URLs and the most relevant pas"},{"name":"contextfetch_research","description":"Research a question in one call, server-side: runs up to 5 web searches (sub-queries) concurrently, dedupes the pages by URL, ranks them all against the questio"},{"name":"contextfetch_deep_research","description":"Deep research in one call, no LLM: a deep search of the question, its sub-topics (or your sub_queries) as searches of their own, and the pages its list and inde"},{"name":"contextfetch_answer","description":"Answer a question with passages quoted verbatim from the web, never generated: searches, scores every passage of the top pages with a cross-encoder and returns "},{"name":"contextfetch_crawl","description":"Crawl one website from a start URL and get its pages as Markdown: same-site links only, up to `max_depth` hops (<= 3) and `limit` pages (<= 50). Pass `query` to"},{"name":"contextfetch_map","description":"List a website's URLs without fetching its pages: its sitemaps (from robots.txt, else /sitemap.xml) plus the start page's links, same site only, up to `limit` ("},{"name":"contextfetch_balance","description":"Show the API key's remaining credits, daily burn rate (7-day average) and auto-reload settings, including the last auto-reload error if a payment failed. Needs "},{"name":"contextfetch_auto_reload","description":"Turn auto-reload on or off, or change it: when credits drop below `threshold`, the saved card buys `pack` again, up to `monthly_max_usd` per month. Needs an API"},{"name":"contextfetch_get_free_key","description":"Get a free ContextFetch API key (no signup, no payment) with starter credits, for when the keyless daily limit runs out. One key per network, ever: keep the key"},{"name":"search","description":"Search the web. Returns {results: [{id, title, url}]} as JSON; pass an id to `fetch` for the page text."},{"name":"fetch","description":"Fetch the full text of a search result by its id (a URL). Returns {id, title, text, url, metadata} as JSON."}],"toolCount":13,"toolsHash":"a4a59604120458e68d19ca551d4dc4ab5d50dbaf9a26dbde3f883666b9710035","serverName":"contextfetch","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T08:28:51.176Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":38,"error":null,"detail":{"tools":[{"name":"contextfetch_search","description":"Search the web and get LLM-ready Markdown. Each result has its title, URL and only the passages relevant to the query (cross-encoder pruned context), so it cost"},{"name":"contextfetch_extract_url","description":"Fetch a public web page (docs, articles, GitHub files, arXiv papers) as clean Markdown with tables preserved. Pass `query` to get only the passages relevant to "},{"name":"contextfetch_find_similar","description":"Find pages similar to a given URL (alternatives, related docs, competing libraries), excluding the source domain. Returns titles, URLs and the most relevant pas"},{"name":"contextfetch_research","description":"Research a question in one call, server-side: runs up to 5 web searches (sub-queries) concurrently, dedupes the pages by URL, ranks them all against the questio"},{"name":"contextfetch_deep_research","description":"Deep research in one call, no LLM: a deep search of the question, its sub-topics (or your sub_queries) as searches of their own, and the pages its list and inde"},{"name":"contextfetch_answer","description":"Answer a question with passages quoted verbatim from the web, never generated: searches, scores every passage of the top pages with a cross-encoder and returns "},{"name":"contextfetch_crawl","description":"Crawl one website from a start URL and get its pages as Markdown: same-site links only, up to `max_depth` hops (<= 3) and `limit` pages (<= 50). Pass `query` to"},{"name":"contextfetch_map","description":"List a website's URLs without fetching its pages: its sitemaps (from robots.txt, else /sitemap.xml) plus the start page's links, same site only, up to `limit` ("},{"name":"contextfetch_balance","description":"Show the API key's remaining credits, daily burn rate (7-day average) and auto-reload settings, including the last auto-reload error if a payment failed. Needs "},{"name":"contextfetch_auto_reload","description":"Turn auto-reload on or off, or change it: when credits drop below `threshold`, the saved card buys `pack` again, up to `monthly_max_usd` per month. Needs an API"},{"name":"contextfetch_get_free_key","description":"Get a free ContextFetch API key (no signup, no payment) with starter credits, for when the keyless daily limit runs out. One key per network, ever: keep the key"},{"name":"search","description":"Search the web. Returns {results: [{id, title, url}]} as JSON; pass an id to `fetch` for the page text."},{"name":"fetch","description":"Fetch the full text of a search result by its id (a URL). Returns {id, title, text, url, metadata} as JSON."}],"toolCount":13,"toolsHash":"a4a59604120458e68d19ca551d4dc4ab5d50dbaf9a26dbde3f883666b9710035","serverName":"contextfetch","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T01:30:29.453Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"contextfetch_search","description":"Search the web and get LLM-ready Markdown. Each result has its title, URL and only the passages relevant to the query (cross-encoder pruned context), so it cost"},{"name":"contextfetch_extract_url","description":"Fetch a public web page (docs, articles, GitHub files, arXiv papers) as clean Markdown with tables preserved. Pass `query` to get only the passages relevant to "},{"name":"contextfetch_find_similar","description":"Find pages similar to a given URL (alternatives, related docs, competing libraries), excluding the source domain. Returns titles, URLs and the most relevant pas"},{"name":"contextfetch_research","description":"Research a question in one call, server-side: runs up to 5 web searches (sub-queries) concurrently, dedupes the pages by URL, ranks them all against the questio"},{"name":"contextfetch_deep_research","description":"Deep research in one call, no LLM: a deep search of the question, its sub-topics (or your sub_queries) as searches of their own, and the pages its list and inde"},{"name":"contextfetch_answer","description":"Answer a question with passages quoted verbatim from the web, never generated: searches, scores every passage of the top pages with a cross-encoder and returns "},{"name":"contextfetch_crawl","description":"Crawl one website from a start URL and get its pages as Markdown: same-site links only, up to `max_depth` hops (<= 3) and `limit` pages (<= 50). Pass `query` to"},{"name":"contextfetch_map","description":"List a website's URLs without fetching its pages: its sitemaps (from robots.txt, else /sitemap.xml) plus the start page's links, same site only, up to `limit` ("},{"name":"contextfetch_balance","description":"Show the API key's remaining credits, daily burn rate (7-day average) and auto-reload settings, including the last auto-reload error if a payment failed. Needs "},{"name":"contextfetch_auto_reload","description":"Turn auto-reload on or off, or change it: when credits drop below `threshold`, the saved card buys `pack` again, up to `monthly_max_usd` per month. Needs an API"},{"name":"contextfetch_get_free_key","description":"Get a free ContextFetch API key (no signup, no payment) with starter credits, for when the keyless daily limit runs out. One key per network, ever: keep the key"},{"name":"search","description":"Search the web. Returns {results: [{id, title, url}]} as JSON; pass an id to `fetch` for the page text."},{"name":"fetch","description":"Fetch the full text of a search result by its id (a URL). Returns {id, title, text, url, metadata} as JSON."}],"toolCount":13,"toolsHash":"a4a59604120458e68d19ca551d4dc4ab5d50dbaf9a26dbde3f883666b9710035","serverName":"contextfetch","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T19:29:33.114Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"tools":[{"name":"contextfetch_search","description":"Search the web and get LLM-ready Markdown. Each result has its title, URL and only the passages relevant to the query (cross-encoder pruned context), so it cost"},{"name":"contextfetch_extract_url","description":"Fetch a public web page (docs, articles, GitHub files, arXiv papers) as clean Markdown with tables preserved. Pass `query` to get only the passages relevant to "},{"name":"contextfetch_find_similar","description":"Find pages similar to a given URL (alternatives, related docs, competing libraries), excluding the source domain. Returns titles, URLs and the most relevant pas"},{"name":"contextfetch_research","description":"Research a question in one call, server-side: runs up to 5 web searches (sub-queries) concurrently, dedupes the pages by URL, ranks them all against the questio"},{"name":"contextfetch_deep_research","description":"Deep research in one call, no LLM: a deep search of the question, its sub-topics (or your sub_queries) as searches of their own, and the pages its list and inde"},{"name":"contextfetch_answer","description":"Answer a question with passages quoted verbatim from the web, never generated: searches, scores every passage of the top pages with a cross-encoder and returns "},{"name":"contextfetch_crawl","description":"Crawl one website from a start URL and get its pages as Markdown: same-site links only, up to `max_depth` hops (<= 3) and `limit` pages (<= 50). Pass `query` to"},{"name":"contextfetch_map","description":"List a website's URLs without fetching its pages: its sitemaps (from robots.txt, else /sitemap.xml) plus the start page's links, same site only, up to `limit` ("},{"name":"contextfetch_balance","description":"Show the API key's remaining credits, daily burn rate (7-day average) and auto-reload settings, including the last auto-reload error if a payment failed. Needs "},{"name":"contextfetch_auto_reload","description":"Turn auto-reload on or off, or change it: when credits drop below `threshold`, the saved card buys `pack` again, up to `monthly_max_usd` per month. Needs an API"},{"name":"contextfetch_get_free_key","description":"Get a free ContextFetch API key (no signup, no payment) with starter credits, for when the keyless daily limit runs out. One key per network, ever: keep the key"},{"name":"search","description":"Search the web. Returns {results: [{id, title, url}]} as JSON; pass an id to `fetch` for the page text."},{"name":"fetch","description":"Fetch the full text of a search result by its id (a URL). Returns {id, title, text, url, metadata} as JSON."}],"toolCount":13,"toolsHash":"a4a59604120458e68d19ca551d4dc4ab5d50dbaf9a26dbde3f883666b9710035","serverName":"contextfetch","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T06:25:34.689Z","kind":"mcp_initialize","ok":false,"httpStatus":null,"latencyMs":null,"error":"fetch failed","detail":null}],"tools":[{"name":"contextfetch_search","description":"Search the web and get LLM-ready Markdown. Each result has its title, URL and only the passages relevant to the query (cross-encoder pruned context), so it cost"},{"name":"contextfetch_extract_url","description":"Fetch a public web page (docs, articles, GitHub files, arXiv papers) as clean Markdown with tables preserved. Pass `query` to get only the passages relevant to "},{"name":"contextfetch_find_similar","description":"Find pages similar to a given URL (alternatives, related docs, competing libraries), excluding the source domain. Returns titles, URLs and the most relevant pas"},{"name":"contextfetch_research","description":"Research a question in one call, server-side: runs up to 5 web searches (sub-queries) concurrently, dedupes the pages by URL, ranks them all against the questio"},{"name":"contextfetch_deep_research","description":"Deep research in one call, no LLM: a deep search of the question, its sub-topics (or your sub_queries) as searches of their own, and the pages its list and inde"},{"name":"contextfetch_answer","description":"Answer a question with passages quoted verbatim from the web, never generated: searches, scores every passage of the top pages with a cross-encoder and returns "},{"name":"contextfetch_crawl","description":"Crawl one website from a start URL and get its pages as Markdown: same-site links only, up to `max_depth` hops (<= 3) and `limit` pages (<= 50). Pass `query` to"},{"name":"contextfetch_map","description":"List a website's URLs without fetching its pages: its sitemaps (from robots.txt, else /sitemap.xml) plus the start page's links, same site only, up to `limit` ("},{"name":"contextfetch_balance","description":"Show the API key's remaining credits, daily burn rate (7-day average) and auto-reload settings, including the last auto-reload error if a payment failed. Needs "},{"name":"contextfetch_auto_reload","description":"Turn auto-reload on or off, or change it: when credits drop below `threshold`, the saved card buys `pack` again, up to `monthly_max_usd` per month. Needs an API"},{"name":"contextfetch_get_free_key","description":"Get a free ContextFetch API key (no signup, no payment) with starter credits, for when the keyless daily limit runs out. One key per network, ever: keep the key"},{"name":"search","description":"Search the web. Returns {results: [{id, title, url}]} as JSON; pass an id to `fetch` for the page text."},{"name":"fetch","description":"Fetch the full text of a search result by its id (a URL). Returns {id, title, text, url, metadata} as JSON."}],"package":null,"toolSurface":{"id":"ts_sk55h6qarbb2","endpointId":"ep_enksvczm7qez","hash":"a4a59604120458e68d19ca551d4dc4ab5d50dbaf9a26dbde3f883666b9710035","toolCount":13,"serverName":"contextfetch","serverVersion":"1.0.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-22T19:29:33.118Z","lastSeenAt":"2026-10-23T14:29:56.147Z","observations":4,"toolNames":["contextfetch_search","contextfetch_extract_url","contextfetch_find_similar","contextfetch_research","contextfetch_deep_research","contextfetch_answer","contextfetch_crawl","contextfetch_map","contextfetch_balance","contextfetch_auto_reload","contextfetch_get_free_key","search","fetch"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_enksvczm7qez","url":"https://api.contextfetch.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T06:25:34.691Z","auth":null,"tls":null}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.contextfetch/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.contextfetch%2Fmcp","firstSeenAt":"2026-10-22T05:20:56.096Z","fetchedAt":"2026-10-22T05:20:56.096Z","normalizedAt":"2026-10-22T05:20:56.096Z"}]},"firstSeenAt":"2026-10-22T05:20:56.096Z","updatedAt":"2026-10-23T14:35:00.551Z"}