{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_assycfsfbejd","handle":"farm-js-docs","url":"https://wellknown.network/agents/farm-js-docs","links":{"self":"https://wellknown.network/agents/farm-js-docs/record.json","html":"https://wellknown.network/agents/farm-js-docs","markdown":"https://wellknown.network/agents/farm-js-docs/record.md","api":"https://wellknown.network/api/v1/agents/farm-js-docs","status":"https://wellknown.network/api/v1/agents/farm-js-docs/status","claim":"https://wellknown.network/agents/farm-js-docs/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/farm-js-docs/claim.json","badge":"https://wellknown.network/agents/farm-js-docs/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/farm-js-docs/history","tools":"https://wellknown.network/api/v1/agents/farm-js-docs/tools"},"ard":{"identifier":"urn:air:farmjs.dev:server:farm-js-docs","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Farm.js Docs","summary":"Complete Farm.js framework documentation.","description":"Complete Farm.js framework documentation.","publisher":{"name":"farmjs.dev","url":"https://farmjs.dev"},"homepage":"https://farmjs.dev/","repository":null,"version":"0.1.60","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://farmjs.dev/api/docs/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"ard":{"type":"application/mcp-server-card+json","metadata":null,"identifier":"urn:air:farmjs.dev:mcp:farm.js-docs","artifactUrl":"https://farmjs.dev/api/docs/mcp/server-card","representativeQueries":[]}},"attribution":{"kind":"ard_catalog","name":"ard_catalog","summary":"ard_catalog","version":"ard_catalog","description":"ard_catalog","homepageUrl":"ard_catalog","publisherUrl":"ard_catalog","publisherName":"ard_catalog"}},"derived":{"capabilities":[{"slug":"code.documentation","name":"Code Documentation","confidence":1,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.54,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"}],"categories":["code","commerce","data","dev"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 5m ago.","lastOkAt":"2026-11-07T20:25:23.742Z","lastProbedAt":"2026-11-07T20:25:23.742Z","statusComputedAt":"2026-11-07T20:29:50.052Z","reliability30d":{"probes":4,"successRate":1,"p50Ms":144,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":4,"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-11-07T20:25:23.742Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":147,"error":null,"detail":{"tools":[{"name":"get_code_examples","description":"Return fenced code examples from the docs with parsed metadata such as title, framework, packageManager, and runnable."},{"name":"get_config_schema","description":"Return structured docs.config.ts option metadata, optionally filtered by option path or query."},{"name":"get_context","description":"Build deterministic, section-level documentation context for a query within a conservative UTF-8 byte ceiling derived from the requested token budget, with sour"},{"name":"get_navigation","description":"Return the documentation navigation tree for the current docs site."},{"name":"hydrate_content_changes","description":"Fetch only added and changed agent-facing sections after list_content_changes. Returns deletion tombstones and digest-bound continuation cursors under a conserv"},{"name":"list_content_changes","description":"Synchronize body-free document metadata. Save indexGeneration and pass it as since on the next poll. A reset response means the named snapshot is no longer avai"},{"name":"list_docs","description":"List documentation pages grouped by section, optionally narrowed to one section."},{"name":"list_page_sections","description":"Discover a page's canonical headings, anchors, hierarchy, line ranges, size estimates, and budget-aware fetch URLs without returning the page body."},{"name":"list_pages","description":"List the known documentation pages with titles, slugs, and URLs."},{"name":"list_search_facets","description":"List valid framework, version, package, and tag filters with matching page counts before calling search_docs. Use facet, limit, and cursor to continue a large f"}],"toolCount":10,"toolsHash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","serverName":"Farm.js","capabilities":["resources","tools"],"serverVersion":"0.1.62","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T11:27:44.072Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":148,"error":null,"detail":{"tools":[{"name":"get_code_examples","description":"Return fenced code examples from the docs with parsed metadata such as title, framework, packageManager, and runnable."},{"name":"get_config_schema","description":"Return structured docs.config.ts option metadata, optionally filtered by option path or query."},{"name":"get_context","description":"Build deterministic, section-level documentation context for a query within a conservative UTF-8 byte ceiling derived from the requested token budget, with sour"},{"name":"get_navigation","description":"Return the documentation navigation tree for the current docs site."},{"name":"hydrate_content_changes","description":"Fetch only added and changed agent-facing sections after list_content_changes. Returns deletion tombstones and digest-bound continuation cursors under a conserv"},{"name":"list_content_changes","description":"Synchronize body-free document metadata. Save indexGeneration and pass it as since on the next poll. A reset response means the named snapshot is no longer avai"},{"name":"list_docs","description":"List documentation pages grouped by section, optionally narrowed to one section."},{"name":"list_page_sections","description":"Discover a page's canonical headings, anchors, hierarchy, line ranges, size estimates, and budget-aware fetch URLs without returning the page body."},{"name":"list_pages","description":"List the known documentation pages with titles, slugs, and URLs."},{"name":"list_search_facets","description":"List valid framework, version, package, and tag filters with matching page counts before calling search_docs. Use facet, limit, and cursor to continue a large f"}],"toolCount":10,"toolsHash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","serverName":"Farm.js","capabilities":["resources","tools"],"serverVersion":"0.1.61","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T03:25:47.699Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":128,"error":null,"detail":{"tools":[{"name":"get_code_examples","description":"Return fenced code examples from the docs with parsed metadata such as title, framework, packageManager, and runnable."},{"name":"get_config_schema","description":"Return structured docs.config.ts option metadata, optionally filtered by option path or query."},{"name":"get_context","description":"Build deterministic, section-level documentation context for a query within a conservative UTF-8 byte ceiling derived from the requested token budget, with sour"},{"name":"get_navigation","description":"Return the documentation navigation tree for the current docs site."},{"name":"hydrate_content_changes","description":"Fetch only added and changed agent-facing sections after list_content_changes. Returns deletion tombstones and digest-bound continuation cursors under a conserv"},{"name":"list_content_changes","description":"Synchronize body-free document metadata. Save indexGeneration and pass it as since on the next poll. A reset response means the named snapshot is no longer avai"},{"name":"list_docs","description":"List documentation pages grouped by section, optionally narrowed to one section."},{"name":"list_page_sections","description":"Discover a page's canonical headings, anchors, hierarchy, line ranges, size estimates, and budget-aware fetch URLs without returning the page body."},{"name":"list_pages","description":"List the known documentation pages with titles, slugs, and URLs."},{"name":"list_search_facets","description":"List valid framework, version, package, and tag filters with matching page counts before calling search_docs. Use facet, limit, and cursor to continue a large f"}],"toolCount":10,"toolsHash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","serverName":"Farm.js","capabilities":["resources","tools"],"serverVersion":"0.1.60","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T18:23:36.837Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":141,"error":null,"detail":{"tools":[{"name":"get_code_examples","description":"Return fenced code examples from the docs with parsed metadata such as title, framework, packageManager, and runnable."},{"name":"get_config_schema","description":"Return structured docs.config.ts option metadata, optionally filtered by option path or query."},{"name":"get_context","description":"Build deterministic, section-level documentation context for a query within a conservative UTF-8 byte ceiling derived from the requested token budget, with sour"},{"name":"get_navigation","description":"Return the documentation navigation tree for the current docs site."},{"name":"hydrate_content_changes","description":"Fetch only added and changed agent-facing sections after list_content_changes. Returns deletion tombstones and digest-bound continuation cursors under a conserv"},{"name":"list_content_changes","description":"Synchronize body-free document metadata. Save indexGeneration and pass it as since on the next poll. A reset response means the named snapshot is no longer avai"},{"name":"list_docs","description":"List documentation pages grouped by section, optionally narrowed to one section."},{"name":"list_page_sections","description":"Discover a page's canonical headings, anchors, hierarchy, line ranges, size estimates, and budget-aware fetch URLs without returning the page body."},{"name":"list_pages","description":"List the known documentation pages with titles, slugs, and URLs."},{"name":"list_search_facets","description":"List valid framework, version, package, and tag filters with matching page counts before calling search_docs. Use facet, limit, and cursor to continue a large f"}],"toolCount":10,"toolsHash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","serverName":"Farm.js","capabilities":["resources","tools"],"serverVersion":"0.1.60","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_code_examples","description":"Return fenced code examples from the docs with parsed metadata such as title, framework, packageManager, and runnable."},{"name":"get_config_schema","description":"Return structured docs.config.ts option metadata, optionally filtered by option path or query."},{"name":"get_context","description":"Build deterministic, section-level documentation context for a query within a conservative UTF-8 byte ceiling derived from the requested token budget, with sour"},{"name":"get_navigation","description":"Return the documentation navigation tree for the current docs site."},{"name":"hydrate_content_changes","description":"Fetch only added and changed agent-facing sections after list_content_changes. Returns deletion tombstones and digest-bound continuation cursors under a conserv"},{"name":"list_content_changes","description":"Synchronize body-free document metadata. Save indexGeneration and pass it as since on the next poll. A reset response means the named snapshot is no longer avai"},{"name":"list_docs","description":"List documentation pages grouped by section, optionally narrowed to one section."},{"name":"list_page_sections","description":"Discover a page's canonical headings, anchors, hierarchy, line ranges, size estimates, and budget-aware fetch URLs without returning the page body."},{"name":"list_pages","description":"List the known documentation pages with titles, slugs, and URLs."},{"name":"list_search_facets","description":"List valid framework, version, package, and tag filters with matching page counts before calling search_docs. Use facet, limit, and cursor to continue a large f"}],"package":null,"toolSurface":{"id":"ts_dfg22payjmsu","endpointId":"ep_j67jk5kqt2rt","hash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","toolCount":10,"serverName":"Farm.js","serverVersion":"0.1.60","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-06T18:23:36.865Z","lastSeenAt":"2026-11-07T20:25:23.748Z","observations":4,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["get_code_examples","get_config_schema","get_context","get_navigation","hydrate_content_changes","list_content_changes","list_docs","list_page_sections","list_pages","list_search_facets"],"distinctSurfaces":1,"surfacesWithHiddenText":0},"endpointFacts":[{"id":"ep_j67jk5kqt2rt","url":"https://farmjs.dev/api/docs/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-11-07T20:25:23.764Z","auth":{"observedAt":"2026-11-07T20:25:23.903Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-11-07T20:25:23.928Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.farmjs.dev","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-10-24T16:20:38.000Z","validTo":"2027-01-22T16:20:37.000Z","daysToExpiry":75,"sanCount":2,"fingerprint256":"B2:3D:EE:E7:F4:D5:38:DE:A6:D2:16:BF:D3:6E:9B:09:06:7A:0D:8A:FD:D1:F6:D0:49:1E:AF:65:4E:FC:1E:92"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"ard_catalog","key":"urn:air:farmjs.dev:mcp:farm.js-docs","url":"https://farmjs.dev/.well-known/ard.json","firstSeenAt":"2026-11-06T15:23:49.115Z","fetchedAt":"2026-11-06T15:23:49.115Z","normalizedAt":"2026-11-06T15:23:49.115Z"}]},"firstSeenAt":"2026-11-06T15:23:49.115Z","updatedAt":"2026-11-07T11:33:37.212Z"}