UNPKG

hana-mcp-server

Version:

🚀 Easy-to-use MCP server for SAP HANA database integration with AI agents like Claude Desktop. Connect to HANA databases with natural language queries.

67 lines (55 loc) • 2.26 kB
/** * Configuration-related tools for HANA MCP Server */ const { logger } = require('../utils/logger'); const { config } = require('../utils/config'); const { connectionManager } = require('../database/connection-manager'); const Formatters = require('../utils/formatters'); class ConfigTools { /** * Show HANA configuration */ static async showConfig(args) { logger.tool('hana_show_config'); const displayConfig = config.getDisplayConfig(); const formattedConfig = Formatters.formatConfig(displayConfig); return Formatters.createResponse(formattedConfig); } /** * Test HANA connection */ static async testConnection(args) { logger.tool('hana_test_connection'); if (!config.isHanaConfigured()) { const missingConfig = config.getDisplayConfig(); const errorMessage = Formatters.formatConnectionTest(missingConfig, false, 'Missing required configuration'); return Formatters.createErrorResponse('Connection test failed!', errorMessage); } try { const testResult = await connectionManager.testConnection(); const displayConfig = config.getDisplayConfig(); if (testResult.success) { const successMessage = Formatters.formatConnectionTest(displayConfig, true, null, testResult.result); return Formatters.createResponse(successMessage); } else { const errorMessage = Formatters.formatConnectionTest(displayConfig, false, testResult.error); return Formatters.createErrorResponse('Connection test failed!', errorMessage); } } catch (error) { logger.error('Connection test error:', error.message); const displayConfig = config.getDisplayConfig(); const errorMessage = Formatters.formatConnectionTest(displayConfig, false, error.message); return Formatters.createErrorResponse('Connection test failed!', errorMessage); } } /** * Show environment variables */ static async showEnvVars(args) { logger.tool('hana_show_env_vars'); const envVars = config.getEnvironmentVars(); const formattedEnvVars = Formatters.formatEnvironmentVars(envVars); return Formatters.createResponse(formattedEnvVars); } } module.exports = ConfigTools;