---
summary: "pubchem_search_compounds names each mode's required fields and rejects a blank formula or query before calling PubChem, failed PubChem requests log their URL server-side, and integer inputs advertise minimum: 1 instead of exclusiveMinimum."
breaking: false
security: false
---

# 0.6.4 — 2026-09-24

## Added

- **Failed PubChem requests log the request URL server-side** ([#50](https://github.com/cyanheads/pubchem-mcp-server/issues/50)) — one module `logger` line per failure after any retry, carrying `url`, `method`, and the HTTP `status` and `fault` or the error message: `debug` for a 404, `warning` for any other non-2xx, a network error, a 30 s timeout, or an SDQ rejection inside a 2xx. The client-facing `error.data` still carries no URL.

## Fixed

- **`pubchem_search_compounds` `searchType` names each mode's required fields** ([#45](https://github.com/cyanheads/pubchem-mcp-server/issues/45)) — identifier needs `identifierType` + `identifiers`, formula needs `formula`, substructure/superstructure/similarity need `query` + `queryType`. The input root stays a flat object.
- **A whitespace-only `formula` or `query` fails as `missing_formula` / `missing_structure_args`** before any PubChem request, instead of returning unrelated compounds or an upstream HTTP 500. A padded formula such as `" C9H8O4 "` still resolves.
- **Integer inputs use `.min(1)` instead of `.positive()`** ([#51](https://github.com/cyanheads/pubchem-mcp-server/issues/51)) — ten inputs across seven tools now advertise `minimum: 1` rather than a numeric `exclusiveMinimum`, which Microsoft Copilot Studio fails to parse; accepted values are unchanged. The six resource templates' `cid`/`aid` params match.
- **README VS Code install badge** URL-encodes the `/` in `@cyanheads/pubchem-mcp-server`.

## Dependencies

- `@socketsecurity/bun-security-scanner` ^1.1.2 → ^1.1.3
- `@types/node` 26.6.1 → 26.6.2
