UNPKG

qbo-mcp-ts

Version:

TypeScript QuickBooks Online MCP Server with enhanced features and dual transport support

169 lines (131 loc) 4.58 kB
# 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!** 🎉