Skip to main content
Glama

SAP OData to MCP Server

by Raistlin82
CHANGELOG.md•14.7 kB
# Changelog > **Reference to Original Project** > This changelog tracks enhancements made to [@lemaiwo](https://github.com/lemaiwo)'s [btp-sap-odata-to-mcp-server](https://github.com/lemaiwo/btp-sap-odata-to-mcp-server) in this playground environment. All notable changes to this playground project 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). ## [Unreleased] ### Planning - Advanced caching mechanisms - Enhanced real-time capabilities ## [3.0.0] - 2025-01-21 - šŸ” Security & Architecture Refactoring ### šŸ” Security Enhancements #### Fixed - **JWT Logging Security**: Removed sensitive JWT payload logging in production - **Session Management**: Fixed race conditions in global session maps - **Error Handling**: Implemented secure error handling that prevents information leakage - **Cloud Logging**: Fixed fallback mechanism for environments without application-logs service - **Logger Data Sanitization**: Implemented automatic sanitization of sensitive data in all log levels - Masks passwords, tokens, secrets, API keys, and other sensitive fields - Preserves debugging capability in development mode - Uses pattern-based detection for comprehensive coverage #### Added - **Modular Authentication Factory**: Pluggable authentication system supporting: - IAS (SAP Identity Authentication Service) - OAuth2 - JWT - Basic Auth - API Keys - Custom providers - **Secure Session Bridge**: Thread-safe session management with proper locking - **Message Externalization**: Complete i18n support with externalized messages ### šŸŽÆ Configuration Simplification #### Changed - **OData Discovery Simplified**: Migrated from complex 8+ parameter system to simple pattern-based: - Pattern Mode: Include/exclude patterns (e.g., `*API*`, `*_TEST*`) - Business Mode: Pre-configured domains (sales, finance, HR) - Whitelist Mode: Explicit service control - All Mode: Development only with safety limits - **Environment Variables**: Streamlined configuration with clear defaults - **Cloud Foundry**: Simplified CF deployment configuration #### Removed - Legacy discovery configuration complexity - Redundant configuration parameters - Unnecessary JWT token logging - Italian documentation (translated to English) ### šŸ“š Documentation Updates #### Updated - **CONFIGURATION.md**: Comprehensive guide with OData discovery, CF deployment, and troubleshooting - **README.md**: Updated with latest security features and simplified configuration - **.env.example**: Aligned with current application configuration - **example-default-env.json**: Updated for local development with BAS - **.cfignore**: Comprehensive exclusion list for CF deployment - **.gitignore**: Updated with complete ignore patterns #### Removed - Redundant discovery documentation files (merged into CONFIGURATION.md) - Italian language documentation files - Internal work documents ## [2.4.0] - 2025-01-16 - šŸŽØ UI Tools Integration Release ### šŸŽØ UI Tools & User Experience #### Added - **Complete UI Tools Suite**: 5 new interactive UI generation tools - `ui-form-generator`: Interactive forms with SAP UI5 styling and validation - `ui-workflow-builder`: Multi-step workflow wizards for business processes - `ui-dashboard-composer`: Interactive dashboards with real-time data visualization - `ui-data-grid`: Advanced data grids with sorting, filtering, and editing - `ui-report-builder`: Formatted reports with export capabilities (PDF, Excel, CSV) - **UI Component Library**: Reusable SAP UI5 components with Horizon and Fiori 3 themes - **UI Rendering Engine**: Server-side HTML generation with optimized performance - **UI Types System**: Comprehensive type definitions for consistent interface development #### Enhanced - **Tool Reference Documentation**: Updated with complete UI tools documentation - **User Guide**: Added interactive examples for form generation and dashboard creation - **Configuration Guide**: New UI tools configuration options and environment variables #### Technical Details - **New Dependencies**: Chart.js for visualizations, JSDOM for server-side rendering - **Export Formats**: HTML, PDF, Excel, CSV support for reports - **Themes**: SAP UI5 Horizon and Fiori 3 theme integration - **Validation**: Enhanced form validation with custom rules and SAP standards compliance ## [2.3.0] - 2025-01-15 - šŸš€ Major Token Optimization Release ### šŸŽÆ Performance & Token Efficiency #### Added - **JSON-based Document Grounding**: Replaced workflow-guide.md (18KB) with efficient tool-routing-rules.json (12KB) - **Smart Authentication Persistence**: Automatic session association (MCP session ↔ User session) - **Token Consumption Optimization**: 98% reduction in token usage per session - **Intelligent Session Management**: Users authenticate once, then all subsequent calls work automatically #### Changed - **Document Structure**: Moved workflow-guide.md from `/config` to `/docs` folder for documentation only - **Resource Registration**: Now uses `sap://routing-rules` (JSON) instead of `sap://workflow-guide` (Markdown) - **Tool Descriptions**: Shortened all tool descriptions for efficiency - **Tool Responses**: Compressed from verbose JSON (~1000 tokens) to concise format (~50 tokens) #### Removed - **tool-routing-rules-old.json**: Deleted unused 20KB legacy file - **Verbose Tool Responses**: Eliminated unnecessary response details and redundant information - **Heavy Document Grounding**: Removed workflow-guide.md from MCP resource registration (pure documentation now) #### šŸ“Š Token Impact Analysis ``` Before Optimization (Per Session): - workflow-guide.md resource: ~4,500 tokens - Verbose tool responses: ~1,000 tokens - Long tool descriptions: ~200 tokens - TOTAL: ~5,700 tokens per session After Optimization (Per Session): - tool-routing-rules.json: ~1,000 tokens - Concise tool responses: ~50 tokens - Short descriptions: ~20 tokens - TOTAL: ~1,070 tokens per session šŸ’° SAVINGS: -4,630 tokens per session (-81.2% reduction) ``` ### šŸ” Authentication System Enhancements #### Fixed - **Session ID Persistence**: Users now provide session_id only ONCE in `check-sap-authentication` - **Automatic Association**: System creates MCP session ↔ User session mapping automatically - **Runtime Operations**: `execute-entity-operation` and other tools work without repeated session_id - **Smart Fallback Logic**: Multiple authentication methods with intelligent fallback chains #### Added - **Auto-Association Logic**: `createAutoAssociation()` function for seamless session linking - **Session State Management**: `getCurrentUserSessionId()` for retrieving associated sessions - **Enhanced Auth Middleware**: Improved `tryMCPSessionAuth()` with session lookup ### šŸŽÆ Workflow & Tool Optimizations #### Updated - **Universal Router**: `sap-smart-query` confirmed as single entry point for all requests - **Tool Count**: 12 total tools properly categorized (2 entry + 4 discovery + 4 execution + 4 real-time) - **Authentication Guidance**: Clear 2-step workflow (authenticate once → use smart router) - **Documentation Structure**: Organized docs with latest architecture information ## [2.0.0] - 2025-09-11 ### Added - Enhanced Authentication System - **Hybrid Authentication**: IAS (Identity Authentication Service) + XSUAA integration - **Session Management**: User-specific session isolation with automatic cleanup - **Principal Propagation**: Seamless user context passing to SAP backend systems - **Role-Based Access Control**: Granular permissions based on SAP BTP role collections - **Session Persistence**: Sessions survive app restarts and deployments - **Multi-Factor Authentication**: Support for MFA via SAP IAS ### Added - Enterprise Monitoring & Logging - **SAP Cloud Logging Integration**: Centralized log aggregation and analysis - **Structured JSON Logging**: Consistent log format with correlation IDs - **Health Check System**: Comprehensive system health monitoring with 7 checks: - Connectivity to SAP systems - Authentication service status - Service binding verification - Memory and resource usage - Cloud logging service health - Session store health - Tool registry status - **Performance Metrics**: Request timing and resource usage tracking - **Audit Logging**: Complete audit trail for all operations ### Added - Advanced Session Management - **User-Specific Sessions**: Each user gets isolated session context - **Configurable Session Timeout**: Default 1 hour, configurable per deployment - **Automatic Session Cleanup**: Expired sessions automatically removed - **Session Tracking**: Client-based session identification - **Concurrent Session Limits**: Configurable max sessions per user (default: 1) - **Session Statistics**: Real-time session monitoring and analytics ### Added - Security Enhancements - **JWT Token Validation**: Comprehensive token verification and refresh - **Secure Error Handling**: Sanitized error messages prevent information leakage - **Security Headers**: Helmet.js integration with strict CSP policies - **Request Validation**: Input sanitization and validation - **Rate Limiting**: Configurable API rate limiting per user/IP - **CORS Configuration**: Flexible CORS setup for different environments ### Added - Cloud-Native Optimizations - **SAP BTP Cloud Foundry Optimization**: Optimized for CF platform - **Service Discovery Enhancement**: Improved SAP service catalog integration - **Connection Pooling**: Efficient SAP system connection reuse - **Auto-scaling Support**: Optimized for horizontal scaling - **Graceful Shutdown**: Proper cleanup during app shutdown - **Resource Management**: Efficient memory and CPU usage patterns ### Enhanced - Original Features - **Tool Registry**: Enhanced hierarchical tool organization with caching - **Error Handling**: Comprehensive error categorization and handling - **Configuration Management**: Flexible configuration via environment variables - **Service Discovery**: Improved SAP service catalog with metadata caching ### Changed - Breaking Changes - **Authentication Required**: Runtime operations now require explicit Session ID - **API Response Format**: Enhanced with metadata and correlation IDs - **Configuration Format**: New environment variables for enhanced features - **Health Check Format**: Comprehensive health status with detailed component checks ### Fixed - Security Issues - **Removed Validation Middleware**: Eliminated false-positive SQL injection detection for OData - **Session Security**: Improved session token handling and validation - **Error Information Leakage**: Sanitized error responses - **Authentication Bypass**: Closed potential authentication bypass scenarios ### Technical Debt - **Removed Deprecated Features**: Cleaned up unused validation middleware - **Code Organization**: Better separation of concerns across modules - **Type Safety**: Enhanced TypeScript types and interfaces - **Test Coverage**: Improved test coverage for new features ## [1.0.0] - Original Release ### Base Features (from Original Project) - **MCP Protocol Support**: Full Model Context Protocol implementation - **SAP OData Integration**: Connect to SAP systems via OData services - **Service Discovery**: Discover available SAP services and entities - **Entity Operations**: CRUD operations on SAP entities - **Metadata Retrieval**: Get entity schemas and service metadata - **Cloud Foundry Deployment**: Deploy to SAP BTP Cloud Foundry - **Basic Authentication**: Simple authentication flow ## Migration Notes ### Upgrading from 1.x to 2.x #### Breaking Changes 1. **Authentication Changes**: - Runtime operations now require Session ID parameter - Authentication flow changed from simple to session-based - Environment variables for IAS configuration required 2. **API Changes**: - Response format includes additional metadata - Health check endpoint provides detailed component status - Error codes and messages updated 3. **Configuration Changes**: - New environment variables for enhanced features - Session management configuration options - Cloud logging service binding required for full functionality #### Migration Steps 1. **Update Environment Variables**: ```bash # Add new IAS configuration SAP_IAS_URL=https://your-tenant.accounts.ondemand.com SAP_IAS_CLIENT_ID=your-client-id SAP_IAS_CLIENT_SECRET=your-client-secret # Configure session management SESSION_TIMEOUT=3600000 MAX_SESSIONS_PER_USER=1 ``` 2. **Update Service Bindings**: ```bash # Bind cloud logging service cf bind-service your-app sap-mcp-cloud-logging cf restage your-app ``` 3. **Update Client Code**: - Add session_id parameter to runtime tool calls - Handle new authentication flow - Update error handling for new error codes 4. **Configure Role Collections**: - Create MCPAdministrator role collection - Create MCPUser role collection - Assign users to appropriate role collections #### Compatibility - **Backward Compatible**: Discovery tools remain unchanged - **Authentication Required**: Runtime tools now require authentication - **Enhanced Features**: All original functionality preserved with enhancements ## Future Roadmap ### Planned Features (v3.0.0) - **Microservices Architecture**: Split into dedicated authentication and tool services - **Advanced Caching**: Redis-based distributed caching - **Multi-tenancy**: Tenant-aware configuration and data isolation - **GraphQL Support**: GraphQL interface alongside OData - **Advanced Monitoring**: APM integration and custom metrics - **Batch Operations**: Support for OData batch requests - **WebSocket Support**: Real-time notifications and updates ### Under Consideration - **Kubernetes Support**: Native Kubernetes deployment - **API Gateway Integration**: SAP API Management integration - **Event-Driven Architecture**: SAP Event Mesh integration - **Machine Learning**: AI-powered query optimization - **Mobile SDK**: Native mobile client SDKs ## Acknowledgments - **[@lemaiwo](https://github.com/lemaiwo)** - Original project creator and maintainer - **SAP Community** - Documentation and best practices - **Anthropic** - Model Context Protocol specification - **Contributors** - All community contributors and testers --- **šŸ“– Related Documentation**: - [README](../README.md) - [Architecture Overview](ARCHITECTURE.md) - [Configuration Guide](CONFIGURATION.md) - [Deployment Guide](DEPLOYMENT.md) - [Troubleshooting](TROUBLESHOOTING.md)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Raistlin82/btp-sap-odata-to-mcp-server-optimized'

If you have feedback or need assistance with the MCP directory API, please join our Discord server