qbo-mcp-ts
Version:
TypeScript QuickBooks Online MCP Server with enhanced features and dual transport support
169 lines (131 loc) • 4.58 kB
Markdown
# Changelog - QBOMCP-TS
All notable changes to QBOMCP-TS will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.0.0] - 2025-01-08
### 🎉 Initial TypeScript Release
This is a complete reimplementation of the original QBOMCP Python server in TypeScript, with significant architectural improvements and production-ready features.
### Added
#### Core Features
- ✅ Full TypeScript implementation with strict type safety
- ✅ Dual transport support (STDIO for local, SSE for production)
- ✅ Comprehensive type definitions for all QuickBooks entities
- ✅ Natural language date parsing for all date inputs
- ✅ Modular service-oriented architecture
#### Performance & Reliability
- ✅ Intelligent LRU caching with persistence
- ✅ Queue management for API rate limiting
- ✅ Exponential backoff retry logic
- ✅ Connection pooling and token refresh management
- ✅ Graceful shutdown handling
#### Production Features
- ✅ SSE (Server-Sent Events) transport for web deployments
- ✅ Health check endpoints for monitoring
- ✅ CORS configuration for cross-origin requests
- ✅ Rate limiting to prevent abuse
- ✅ Structured logging with Winston
- ✅ Request tracing and performance metrics
#### Developer Experience
- ✅ Comprehensive error handling with typed errors
- ✅ Jest test framework setup
- ✅ ESLint and Prettier configuration
- ✅ Detailed JSDoc documentation
- ✅ Example usage and configuration files
- ✅ Command-line interface with yargs
### Changed
- Migrated from Python to TypeScript
- Improved error messages with suggestions
- Enhanced natural language processing
- Optimized API call patterns
- Restructured project organization
### Security
- Environment-based configuration (no hardcoded secrets)
- Input validation using Zod schemas
- Rate limiting implementation
- Secure token refresh handling
### Performance Improvements
- Caching reduces API calls by up to 80%
- Queue management prevents rate limit errors
- Optimized date parsing with memoization
- Lazy loading of services
## [1.0.0] - Original Release
### Initial Python Implementation
- Basic QuickBooks Online integration
- STDIO transport support
- Invoice management tools
- Natural language date parsing
- OAuth2 authentication
---
## Roadmap for Future Releases
### [2.1.0] - Planned
- [ ] Complete expense tracking implementation
- [ ] Financial reports (P&L, Balance Sheet, Cash Flow)
- [ ] Customer management tools
- [ ] Vendor management tools
### [2.2.0] - Planned
- [ ] Batch operations support
- [ ] WebSocket transport option
- [ ] Multi-company support
- [ ] OAuth2 flow UI
### [2.3.0] - Planned
- [ ] Docker deployment support
- [ ] Kubernetes manifests
- [ ] Prometheus metrics export
- [ ] Webhook support for real-time updates
### [3.0.0] - Future
- [ ] GraphQL API layer
- [ ] Advanced analytics and insights
- [ ] Machine learning for categorization
- [ ] Multi-currency support
- [ ] International tax compliance
---
## Migration Guide from QBOMCP (Python) to QBOMCP-TS
### For Claude Desktop Users
1. **Update your configuration**:
```json
{
"mcpServers": {
"quickbooks": {
"command": "node",
"args": ["/path/to/QBOMCP-TS/dist/index.js"],
"env": {
"QBO_CLIENT_ID": "your_client_id",
"QBO_CLIENT_SECRET": "your_client_secret",
"QBO_COMPANY_ID": "your_company_id",
"QBO_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
```
2. **Build the TypeScript version**:
```bash
cd QBOMCP-TS
npm install
npm run build
```
3. **All existing tools remain compatible** - The API interface is unchanged
### For Production Users
1. **New SSE transport available**:
```bash
npm run start:sse
```
2. **Enhanced monitoring**:
- Health check: `http://localhost:3000/health`
- API status: Use the `get_api_status` tool
3. **Improved error handling**:
- More descriptive error messages
- Automatic retry for transient failures
- Better suggestions for fixing issues
### Breaking Changes
- None - Full backward compatibility maintained
### Deprecations
- Python version will be maintained for 6 months but not receive new features
---
## Support
For issues or questions:
- Open an issue in the repository
- Check the README for troubleshooting guide
- Review the comprehensive documentation
---
**Thank you for using QBOMCP-TS!** 🎉