A Model Context Protocol (MCP) server for Azure SQL database operations with action card support.
index.ts- Main MCP server entry point (supports both stdio and HTTP modes)sqlTool.ts- Database operations and action card implementationspackage.json- Dependencies and scriptstsconfig.json- TypeScript configuration.env- Database connection credentials (create from .env.example).env.example- Template for environment variables
mcp_config.json- MCP server configuration for VS Code integration
README.md- This fileNATURAL_LANGUAGE_GUIDE.md- How to use natural language with the MCP serverUSER_MANAGEMENT.md- Database schema and user management detailsAZURE_DEPLOYMENT_GUIDE.md- Azure deployment instructions
azure.yaml- Azure Developer CLI configurationinfra/- Bicep infrastructure templatesmain.bicep- Main infrastructure templatemain.parameters.json- Infrastructure parametersresources.bicep- Resource definitionsresources-appservice.bicep- App Service specific resources
npm installcp .env.example .env
# Edit .env with your Azure SQL database credentials# For local MCP usage (stdio mode)
npm start
# For HTTP mode (Azure deployment)
NODE_ENV=production npm start# Basic functionality test
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | npx tsx index.ts- queryAzureSQL - Execute read-only SQL queries
- addUser - Add new users to the database
- getSampleActionCard - Generate interactive action cards
- handleActionCardResponse - Process action card responses
Show me an action card for user 1
How many users are in my database?
Add a user named John with email john@example.com
# Get action card
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getSampleActionCard","arguments":{"userId":1}}}' | npx tsx index.tsazd upnpm startStatus: ✅ Production Ready
Mode: Dual (stdio for MCP, HTTP for Azure)
Database: Azure SQL Database
Action Cards: Interactive Yes/No workflows