SQL-AI-samples icon indicating copy to clipboard operation
SQL-AI-samples copied to clipboard

Add comprehensive authentication documentation and multi-auth support

Open hlgr360 opened this issue 6 months ago • 9 comments

Summary

This PR adds comprehensive authentication documentation and enhances the MCP server to support multiple authentication methods for connecting to MSSQL databases.

Changes Made

Documentation (README.md)

  • Added detailed "Authentication Configuration" section with three supported methods:
    • Azure Active Directory (default) - for Azure SQL Database
    • SQL Server Authentication - for traditional SQL Server instances
    • Windows Authentication (NTLM) - for on-premises domain authentication
  • Provided complete configuration examples for each authentication method
  • Organized configuration parameters into "Common" and "Authentication-Specific" sections
  • Updated all MCP configuration examples to be consistent
  • Added environment variable documentation for all authentication methods

Code Enhancement (src/index.ts)

  • Enhanced createSqlConfig() function to support multiple authentication methods
  • Added configurable authentication via AUTH_METHOD environment variable
  • Implemented proper token management and connection reuse for Azure AD
  • Added support for SQL Server and Windows authentication methods
  • Improved connection handling for different authentication types

Environment Variables Added

  • AUTH_METHOD: Specifies authentication method (azure-ad, sql, windows)
  • SQL_USERNAME & SQL_PASSWORD: For SQL Server authentication
  • USERNAME, PASSWORD & DOMAIN: For Windows authentication

Benefits

  • Provides flexibility for different deployment scenarios
  • Maintains backward compatibility (defaults to Azure AD)
  • Improves security by supporting appropriate auth methods per environment
  • Clear documentation for easy setup and configuration

Testing

  • Tested with MS SQL Server for SQL Server Auth
  • Code structure supports SQL Server and Windows auth (requires appropriate environment for testing)

hlgr360 avatar Jul 10 '25 15:07 hlgr360