v0.2.1 is a stabilization release for the public CompTox MCP surface.
The public boundary does not change: the default server remains an evidence-federation and screening-prioritization MCP. Predictive and orchestrator modules are still in-repo experimental assets, not part of the default public tool catalog.
-
Deterministic identity resolution is stricter.
resolve_chemical_identifiernow locally verifies exact identifier matches instead of trusting permissive upstream name-search behavior. Partial-name inputs that do not resolve exactly now returnambiguouswhen fallback search finds multiple candidates, and invalid search strings normalize tonot_foundinstead of leaking raw upstream 4xx envelopes. -
Readiness is now authenticated and defensible.
/readyzno longer reports success based on a generic/ctx-api/healthreachability probe. It now requires an authenticated CTX probe against stable upstream endpoints, while/healthzremains a pure liveness check. -
The public contract is broader and better documented. The release includes the public
prioritizationandmanifestresources, additive provenance fields on interop payloads, honest AD-enforcement metadata, and aligned response schemas across the public surface. -
Release validation is codified. CTX-backed live fixture capture for interop outputs is now in place, and
scripts/release_smoke.pyprovides a reusable release-oriented validation pass across readiness, HTTP MCP, WebSocket MCP, manifest discovery, identifier resolution, screening prioritization, and interop builders. -
Experimental scientific-engine infrastructure is stronger. In-repo predictive/orchestrator assets gained structured evidence assessment, AD sidecar support, descriptor/expert-rule execution hooks, mechanistic-context derivation, and analogue provenance. These remain experimental and are not advertised as part of the default public server.
chemicalbioactivityexposurehazardchemical_listcheminformaticsmetadatainteropprioritizationmanifest
Release-readiness verification for v0.2.1 included:
pytest -qwith165 passed- direct CTX dependency checks against chemical, hazard, exposure, and bioactivity endpoints using the app-resolved credential path
- live HTTP and WebSocket MCP validation against a running server
- live
resolve_chemical_identifierprobes covering:- exact CAS resolution
- partial-name ambiguity
- invalid-name
not_found
- live
prioritize_risk_signals - live
assemble_comptox_evidence_pack - live
build_aop_linkage_summary - live
build_pbpk_context_bundle - live
scripts/mcp_interop_smoke.py - live
scripts/release_smoke.py
- Partial-name inputs are intentionally no longer treated as deterministic identity. For stable workflows, prefer
DTXSIDorCASRN. - Some optional upstream slices, such as MMDB aggregates for specific chemicals, may still return
404and are treated as known data gaps rather than hard failures. - Predictive and orchestrator modules remain experimental despite the internal hardening work in this release.
v0.2.1 hardens the CompTox MCP public surface without changing its role. The release tightens deterministic identity resolution, makes /readyz prove authenticated CTX capability, stabilizes manifest/prioritization/interop contracts, and adds a codified release smoke path. It also ships significant internal scientific-engine hardening while keeping predictive and orchestrator features out of the default public catalog.