Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Unreleased
[1.2.0] - 2026-01-06
Added
- 82 MCP Tools: Expanded library to 75 clinical calculators and 7 discovery tools.
- 1,566 Tests: Reached 92% code coverage with a comprehensive unit and E2E test suite.
- uv Package Management: Migrated from
piptouvfor faster and more reliable dependency management. - Strict Type Safety: Achieved 100%
mypy --strictcoverage across the entire codebase (src, tests, examples, scripts). - Internationalization: Split documentation into English (
README.md) and Traditional Chinese (README.zh-TW.md). - Modernized Tooling: Integrated
rufffor linting and formatting.
Changed
- CI/CD Pipeline: Enhanced GitHub Actions with
uvand enforced a 90% coverage threshold. - Project Structure: Updated
pyproject.tomlto usehatchlingas build backend. - MCP Entry Point: Unified MCP server entry point to
src.main. - Docker Image: Updated
Dockerfileto v1.2.0 usinguvfor multi-stage builds. - MCP Debugging: Optimized logging to
stderrfor better compatibility with MCP clients. - VS Code Integration: Updated
.vscode/mcp.jsonto follow the latest Copilot MCP server configuration standards.
Fixed
- Resolved hundreds of type-hinting issues and potential null-pointer exceptions.
- Fixed regression in MCP calculator handlers where return keys were inconsistent.
- Corrected Windows-specific paths in
.vscode/settings.jsonfor Linux compatibility.
1.1.0 - 2025-12-09
Added
- Comprehensive E2E Test Suite: 697 E2E tests covering all 75 medical calculators
- 77 test files in
tests/e2e/directory - One test file per calculator with multiple clinical scenarios
- Tests cover normal cases, edge cases, and error handling
- Full coverage of parameter validation
- 77 test files in
Changed
- Test Count: 1639 total tests (was ~940)
- E2E tests: 697 (new)
- Unit tests: 940 (existing)
- Test Coverage: Comprehensive REST API endpoint testing
Fixed
- Multiple E2E test parameter fixes to match actual calculator implementations:
tbsa: Corrected body region parameters (chest, abdomen, thigh vs anterior_trunk)timi_stemi: Fixed parameter names and types (age_years, killip_class, booleans)news2_score: Fixed consciousness AVPU values ("A", "C" vs "alert", "confusion")transfusion_calc: Corrected assertion for mL output- And 20+ other calculators with parameter/assertion fixes
1.0.0 - 2025-12-03
Added
- 75 Medical Calculators across 12 specialties
- MCP Server with FastMCP SDK integration
- REST API with Starlette/Uvicorn
- Docker Support with docker-compose.yml and HTTPS configuration
- Security Features: Optional rate limiting and API key authentication
- Tool Discovery: Two-level key system (Low/High Level) for AI tool selection
- DDD Architecture: Clean onion architecture with domain-driven design
Specialties Covered
- Anesthesiology/Preoperative (ASA-PS, Mallampati, STOP-BANG, Aldrete, etc.)
- Critical Care/ICU (APACHE II, SOFA, qSOFA, SAPS II, etc.)
- Pediatrics (Pediatric GCS, PEWS, PIM3, APGAR, etc.)
- Nephrology (eGFR-CKD-EPI, Cockcroft-Gault, KDIGO-AKI, etc.)
- Pulmonology (A-a Gradient, CURB-65, PSI/PORT, ROX Index, etc.)
- Cardiology (CHA₂DS₂-VASc, HAS-BLED, HEART Score, TIMI, etc.)
- Hematology (4Ts HIT, PLASMIC, DIC Score, Transfusion Calc)
- Emergency Medicine (Wells DVT/PE, Canadian C-Spine, etc.)
- Hepatology (Child-Pugh, MELD, MELD-Na, etc.)
- Acid-Base/Metabolic (Anion Gap, Osmolar Gap, Winters Formula, etc.)
- Neurology (GCS, NIHSS, Hunt & Hess, Fisher Grade, ICH Score)
- Trauma/Surgery (ISS, TBSA, Parkland Formula, MABL)
Technical Features
- 1566 tests with 92% code coverage
- Fully migrated to
uvfor dependency management - Type-safe Python with dataclass entities
- Evidence-based formulas with paper citations (Vancouver style)
- Bilingual documentation (English/Chinese)
Version History
| Version | Date | Highlights |
|---|---|---|
| 1.1.0 | 2025-12-09 | 697 E2E tests, comprehensive API testing |
| 1.0.0 | 2025-12-03 | Initial release, 75 calculators |