{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_b8hyk6ryzgyy","handle":"farm-js-mcp","url":"https://wellknown.network/agents/farm-js-mcp","links":{"self":"https://wellknown.network/agents/farm-js-mcp/record.json","html":"https://wellknown.network/agents/farm-js-mcp","markdown":"https://wellknown.network/agents/farm-js-mcp/record.md","api":"https://wellknown.network/api/v1/agents/farm-js-mcp","status":"https://wellknown.network/api/v1/agents/farm-js-mcp/status","claim":"https://wellknown.network/agents/farm-js-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/farm-js-mcp/claim.json","badge":"https://wellknown.network/agents/farm-js-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/farm-js-mcp/history","tools":"https://wellknown.network/api/v1/agents/farm-js-mcp/tools"},"ard":{"identifier":"urn:air:mcp.farmjs.dev:server:farm-js-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Farm.js Docs","summary":"Search and read the Farm.js docs: pages, sections, code examples and config options.","description":"Search and read the Farm.js docs: pages, sections, code examples and config options.","publisher":{"name":"dev.farmjs","url":null},"homepage":"https://farmjs.dev","repository":"https://github.com/farming-labs/farm.js","version":"0.1.28","license":"MIT","protocols":["mcp"],"tags":["agents","farm.js","mcp"],"pricing":null,"endpoints":[{"url":"https://mcp.farmjs.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@farm.js/mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-20T20:52:39.447598Z","npmKeywords":["agents","farm.js","mcp"],"publishedAt":"2026-10-20T20:52:39.447598Z","registryName":"dev.farmjs/docs"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"derived"},{"slug":"code.documentation","name":"Code Documentation","confidence":0.583,"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":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-22T06:25:35.925Z","lastProbedAt":"2026-10-22T06:25:35.925Z","statusComputedAt":"2026-10-22T06:29:01.172Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":234,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":1,"ok":1,"authBoundaryOk":0,"serviceOk":1,"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-22T06:25:35.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":234,"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.0.0","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":{"name":"@farm.js/mcp","registry":"npm","observedAt":"2026-10-22T06:31:29.709Z","publishedAt":"2026-10-20T17:26:16.242Z","latestVersion":"0.1.0-beta.27","weeklyDownloads":1806},"toolSurface":{"id":"ts_z5uyxeh5xrjj","endpointId":"ep_nzswqgzqcgwx","hash":"e3bc2c9fa8c08fc3f7dd01a650825d265242efb26347bf1e9abdb1457cf53c53","toolCount":10,"serverName":"Farm.js","serverVersion":"0.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-22T06:25:35.928Z","lastSeenAt":"2026-10-22T06:25:35.928Z","observations":1,"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},"endpointFacts":[{"id":"ep_nzswqgzqcgwx","url":"https://mcp.farmjs.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T06:25:35.991Z","auth":{"observedAt":"2026-10-22T06:25:36.133Z","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-22T06:25:36.170Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.farmjs.dev","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-08-23T12:00:41.000Z","validTo":"2026-11-21T12:00:40.000Z","daysToExpiry":30,"sanCount":2,"fingerprint256":"65:6D:DB:11:ED:A7:AA:2C:2C:C2:06:A6:B1:8A:DE:A6:F0:AF:A0:DC:12:1B:35:5F:BD:A0:74:2C:54:88:C4:B0"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.farmjs/docs","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.farmjs%2Fdocs","firstSeenAt":"2026-10-22T05:21:08.140Z","fetchedAt":"2026-10-22T05:21:08.140Z","normalizedAt":"2026-10-22T05:21:08.140Z"},{"source":"npm","key":"@farm.js/mcp","url":"https://www.npmjs.com/package/@farm.js/mcp","firstSeenAt":"2026-10-13T13:18:04.547Z","fetchedAt":"2026-10-22T01:21:55.624Z","normalizedAt":"2026-10-22T01:21:55.624Z"}]},"firstSeenAt":"2026-10-13T13:18:04.547Z","updatedAt":"2026-10-22T06:31:29.709Z"}