# Changelog
## [1.0.4] - 2025-12-12
### Cleaned Up - PROJECT SIMPLIFICATION
- **REMOVED UNNECESSARY FILES**: Cleaned up test and diagnostic files no longer needed for simplified setup
- Removed 12+ test/diagnostic files that were over-engineered for Claude Desktop use
- Updated documentation and specs to reflect simplified architecture
- Streamlined project structure for clarity and maintainability
### Files Removed
- `test-env-credentials.js`, `diagnose-simplified-setup.js`, `test-startup-direct.js`
- `debug-server-startup.js`, `test-mcp-tools-list.js`, `test-mcp-protocol.js`
- `test-from-different-dir.js`, `test-mcp-tools.js`, `diagnose-aws-credentials.js`
- `test-real-aws-call.js`, `test-credential-flow.js`, `test-billing-data.js`
- `check-port.js` (no longer needed without health check)
### Updated Documentation
- ✅ Updated requirements spec for Claude Desktop optimization
- ✅ Modified design document to reflect simplified architecture
- ✅ Updated deployment guide with streamlined setup instructions
- ✅ Cleaned up README and removed references to deleted files
- ✅ Updated task specifications to document completed simplifications
### Benefits
- ✅ Cleaner project structure
- ✅ Easier to understand and maintain
- ✅ Focused on Claude Desktop personal use case
- ✅ Reduced complexity and cognitive overhead
## [1.0.3] - 2025-12-12
### Removed - ELIMINATED HEALTH CHECK ENDPOINT
- **REMOVED HTTP HEALTH CHECK**: Eliminated unnecessary health check endpoint that was causing port conflicts
- No more port 37291 usage - eliminates "EADDRINUSE" errors
- MCP servers communicate via stdio, HTTP endpoint not needed for Claude Desktop
### Updated
- Removed `HEALTH_CHECK_PORT` from all configuration files
- Updated documentation to reflect no health check endpoint
- Simplified diagnostic scripts
### Benefits
- ✅ No port conflicts with other services
- ✅ Cleaner startup process
- ✅ True MCP stdio communication (no HTTP needed)
- ✅ Eliminates unnecessary complexity for Claude Desktop use
## [1.0.2] - 2025-12-12
### Changed - SIMPLIFIED CREDENTIAL HANDLING
- **MAJOR SIMPLIFICATION**: Removed complex database credential storage for Claude Desktop use case
- AWS credentials now read directly from environment variables (Claude Desktop config)
- Eliminated encryption/decryption complexity for personal use scenarios
- Automatic fallback to mock data when no credentials provided
- Improved error handling and user experience for credential issues
### Added
- `test-env-credentials.js` - Test script for environment variable credential usage
- `diagnose-simplified-setup.js` - Comprehensive setup diagnostic tool
- Better documentation for Claude Desktop personal use case
- Clearer separation between enterprise and personal use cases
### Removed
- Complex credential manager database storage (over-engineered for Claude Desktop)
- Credential encryption/decryption for single-user scenarios
- Multi-account credential management complexity
- Unused CredentialManager imports and dependencies
### Benefits of Simplified Approach
- ✅ No database credential storage
- ✅ No encryption/decryption complexity
- ✅ Direct environment variable usage from Claude Desktop config
- ✅ Automatic fallback to mock data for testing
- ✅ Simple and secure for personal Claude Desktop use
- ✅ Eliminates credential decryption errors
- ✅ Faster startup and reduced complexity
## [1.0.1] - 2025-12-12
### Fixed
- **Critical**: Fixed "ENOENT: no such file or directory, mkdir 'logs'" error when running from Claude Desktop
- **Critical**: Fixed JSON parsing errors in Claude Desktop by removing console output that interfered with MCP protocol
- **Logging**: Improved log directory handling with automatic creation and fallback paths
- **Startup**: Added proper working directory handling in startup script
- **Robustness**: Server now works correctly regardless of the working directory it's started from
- **MCP Protocol**: Ensured only valid JSON is sent on stdout for proper MCP communication
- **Port Conflicts**: Changed default health check port from 3001 to 37291 to avoid common conflicts
### Added
- Automatic log directory creation with fallback to user home directory
- Test script for verifying directory handling (`test-from-different-dir.js`)
- Enhanced error handling and logging robustness
- Better documentation for troubleshooting
### Technical Details
The main issue was that Claude Desktop starts MCP servers from a different working directory than the project directory. The logger was trying to create a relative `logs/` directory which failed.
**Solution**:
1. Added automatic directory detection and creation
2. Fallback to `~/.aws-billing-mcp-server/logs/` when project directory is not available
3. Updated startup script to set proper working directory
4. Enhanced error handling for file system operations
5. **Removed console output** that was interfering with MCP JSON protocol
6. Added MCP_SERVER_MODE environment variable to disable console logging
7. Redirected all error output to stderr instead of stdout
## [1.0.0] - 2025-12-12
### Added
- Initial release of AWS Billing MCP Server
- 5 MCP tools for AWS cost analysis
- Google SSO authentication support
- SQLite database for caching
- Comprehensive logging and monitoring
- Mock data support for testing
- Health check endpoint
- Complete test suite with property-based testing