https://raw.githubusercontent.com/cyanheads/osv-advisory-mcp-server/HEAD/AGENTS.md
− **Version:** 0.4.1− **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.18`− **Engines:** Bun ≥1.4.0, Node ≥24.0.0− .default(10000)− > **This server has no required env vars.** OSV.dev is fully public and keyless. `OSV_REQUEST_TIMEOUT_MS`, `OSV_BATCH_CONCURRENCY`, and `OSV_QUERY_MAX_PAGES` are optional positive values with defaults of 10000 ms, 10, and 10. Invalid values fail startup rather than silently defaulting.+ **Version:** 0.5.1+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.22`+ **Engines:** Bun ≥1.4.4, Node ≥24.0.0+ .default(40000)+ batchServeOverCap: z+ .stringbool({ truthy: ['true'], falsy: ['false'], case: 'sensitive' })+ .default(true),+ batchServeOverCap: 'OSV_BATCH_SERVE_OVER_CAP',+ > **This server has no required env vars.** OSV.dev is public and keyless. `OSV_REQUEST_TIMEOUT_MS`, `OSV_BATCH_CONCURRENCY`, and `OSV_QUERY_MAX_PAGES` default to 40000 ms, 10, and 10. `OSV_BATCH_SERVE_OVER_CAP` defaults to `true` and accepts only `true` or `false`. Invalid values fail startup.+ Package, commit and batch queries have one 50-second operation deadline, distinct from caller cancellation. A batch cursor advances only through fully hydrated pages, including during field retrieval. A `/results` page preserves the active row's checkpoint and identifies the first unread row with `page.nextOffset`. Field retrieval repeats the same input cursor on resumed package and commit queries. Batch submission remainders use `summary.nextInputOffset`, while field pages address only the proc+ ecosystem-catalog.ts # Canonical ecosystem names and base-name case normalization