Azure SQL MCP服务器
  
A. 模型上下文协议 (MCP)服务器,允许AI代理查询和探索 Azure SQL 数据库。它公开了五个工具,用于执行SQL、列出表、检查模式、检索分页数据和获取数据库元数据。
设计用于 微软复制品工作室、Claude Desktop、VS Code和任何其他MCP兼容客户端。
工具
| 工具 | 描述 | 只读 |
|---|---|---|
azure_sql_execute_query | 使用参数化查询执行任意SQL(SELECT、INSERT、UPDATE、DELETE) | 否 |
azure_sql_list_tables | 列出所有具有模式和行数的表,或获取特定表的信息 | 是 |
azure_sql_get_table_schema | 获取列名、数据类型、可空状态、默认值和主键信息 | 是 |
azure_sql_get_table_data | 使用分页(限制/偏移)检索行 | 是 |
azure_sql_get_database_info | 获取数据库名称、SQL Server版本、创建日期和对象计数 | 是 |
所有工具均已归还 标记语言 (人类可读)或 JSON (机器可读)输出。
先决条件
- Python 3.10+
- SQL Server的ODBC驱动程序18
- 具有凭据的Azure SQL数据库
安装ODBC驱动程序
macOS:
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install msodbcsql18 mssql-tools18Linux(Ubuntu/Debian):
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list \
| sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18窗户: 下载自 Microsoft ODBC驱动程序18.
快速开始
使用uvx(推荐)
uvx mcp-server-azure-sql使用pip
pip install mcp-server-azure-sql
mcp-server-azure-sql来源
git clone https://github.com/Microsoft-Course-Content/copilot-studio-mcp-agent-sql.git
cd copilot-studio-mcp-agent-sql
pip install -e .
mcp-server-azure-sql配置
设置这些环境变量(或创建 .env 文件):
| 变量 | 必填 | 描述 |
|---|---|---|
AZURE_SQL_SERVER | 是 | 服务器主机名(例如。, myserver.database.windows.net) |
AZURE_SQL_DATABASE | 是 | 数据库名称 |
AZURE_SQL_USERNAME | 是 | 数据库用户名 |
AZURE_SQL_PASSWORD | 是 | 数据库密码 |
AZURE_SQL_DRIVER | 无 | ODBC驱动程序(默认值: ODBC Driver 18 for SQL Server) |
MCP_API_KEY | 没有用于HTTP模式身份验证的 | neneneba API密钥 |
PORT | 否 | HTTP服务器端口(默认值: 8000) |
复制示例文件以开始:
cp .env.example .env
# Edit .env with your Azure SQL credentials与MCP客户端一起使用
克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"azure-sql": {
"command": "uvx",
"args": ["mcp-server-azure-sql"],
"env": {
"AZURE_SQL_SERVER": "your-server.database.windows.net",
"AZURE_SQL_DATABASE": "your-database",
"AZURE_SQL_USERNAME": "your-username",
"AZURE_SQL_PASSWORD": "your-password"
}
}
}
}VS代码
添加到您的 .vscode/mcp.json:
{
"servers": {
"azure-sql": {
"command": "uvx",
"args": ["mcp-server-azure-sql"],
"env": {
"AZURE_SQL_SERVER": "your-server.database.windows.net",
"AZURE_SQL_DATABASE": "your-database",
"AZURE_SQL_USERNAME": "your-username",
"AZURE_SQL_PASSWORD": "your-password"
}
}
}
}微软复制品工作室
对于Copilot Studio集成,请使用HTTP传输模式进行部署:
mcp-server-azure-sql --transport http看 COPYLOT_STUDIO_SETUP.md 获取完整的分步部署和集成指南。
MCP检查员(调试)
npx @modelcontextprotocol/inspector uvx mcp-server-azure-sql运输方式
| 模式 | 命令 | 用例 |
|---|---|---|
| 标准 (默认) | mcp-server-azure-sql | 本地客户:Claude Desktop、VS Code、MCP Inspector |
| 超文本传输协议 | mcp-server-azure-sql --transport http | 远程部署:Copilot Studio、Azure应用服务、Docker |
码头工人
docker build -t mcp-server-azure-sql .
docker run -p 8000:8000 \
-e AZURE_SQL_SERVER="your-server.database.windows.net" \
-e AZURE_SQL_DATABASE="your-database" \
-e AZURE_SQL_USERNAME="your-username" \
-e AZURE_SQL_PASSWORD="your-password" \
mcp-server-azure-sql发展
git clone https://github.com/Microsoft-Course-Content/copilot-studio-mcp-agent-sql.git
cd copilot-studio-mcp-agent-sql
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Lint
ruff check src/ tests/
ruff format src/ tests/安全
- 所有用户输入使用 参数化查询 (
?占位符)以防止SQL注入 - 单个查询中的多个SQL语句被拒绝
- 凭据从环境变量加载,从不硬编码
- HTTP模式支持通过
MCP_API_KEY - 默认情况下,连接使用TLS加密(
Encrypt=yes) - 用一 最低特权 生产中的数据库帐户
许可证
麻省理工学院-见 许可证.
