Token导航 LogoToken导航TokenDH.com
Claude MCP Aws Sqlserver logo
数据服务stdio官方级别未说明来源级核验

Claude MCP Aws Sqlserver

MCP Server

一个通过自然语言访问AWS VPC内Windows EC2实例上运行的SQL Server的MCP服务器,无需公开数据库。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
数据分析自然语言处理PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jesseeastern

提供方

jesseeastern

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

claude mcp aws sqlserver

MCP服务器 这使Claude能够以自然语言访问在AWS VPC内的Windows EC2实例上运行的SQL Server,而不需要公开公共数据库。

![Python](https://www.python.org/) ![MCP](https://github.com/anthropics/mcp) ![AWS](https://aws.amazon.com/) ![License: MIT](LICENSE)

______________________________________________________________________

概述

该项目演示了如何构建 MCP(模型上下文协议)服务器 它将Claude Desktop连接到AWS托管的SQL Server环境。所有数据库流量都通过私有VPC网络流动——SQL Server端口永远不会暴露在公共互联网上。

克劳德可以用简单的英语:

  • 检查和管理EC2实例(启动、停止、列出)
  • 通过AWS SSM在任何实例上运行PowerShell或bash命令
  • 使用T-SQL查询SQL Server上的任何数据库
  • 列出所有数据库及其运行状况

______________________________________________________________________

建筑

Claude Desktop
     |
     | MCP (streamable-HTTP)
     v
┌─────────────────────────────────┐
│         server.py               │
│         (FastMCP)               │
│                                 │
│  ┌──────────┐  ┌─────────────┐  │
│  │  boto3   │  │   pyodbc    │  │
│  └────┬─────┘  └──────┬──────┘  │
└───────┼───────────────┼─────────┘
        │               │
   AWS API         VPC-internal TCP
        │               │
 ┌──────┴──────┐  ┌─────┴──────────────┐
 │  EC2 + SSM  │  │  Windows EC2       │
 │  (control)  │  │  SQL Server 2019+  │
 └─────────────┘  └────────────────────┘

关键设计决策:

  • SSM用于远程命令执行,而不是RDP/SSH——实例上不需要入站端口。
  • 平台检测会自动选择正确的SSM文档(PowerShell与bash)。
  • pyodbc 通过私有VPC IP连接到SQL Server,使数据库远离公共互联网。

______________________________________________________________________

MCP工具

工具说明
list_instances列出所有EC2实例,包括状态、类型和公共IP
start_instance按ID启动已停止的EC2实例
stop_instance按ID停止正在运行的EC2实例
run_command通过SSM运行shell或PowerShell命令(自动检测操作系统)
sql_query对命名数据库执行任何T-SQL查询
list_databases列出所有具有状态和恢复模式的SQL Server数据库

______________________________________________________________________

先决条件

AWS端

  • 至少有一个EC2实例运行SQL Server(Windows)的AWS帐户
  • SSM代理 在所有托管EC2实例上安装并运行
  • IAM角色通过以下方式附加到每个EC2实例 AmazonSSMManagedInstanceCore 政策
  • 运行此服务器的计算机需要具有以下权限的AWS凭据 ec2:Describe*, ec2:StartInstances, ec2:StopInstances, ssm:SendCommand,以及 ssm:GetCommandInvocation

本地计算机

- 窗户: 从Microsoft下载 - macOS: brew install msodbcsql17 - Ubuntu/Debian: sudo apt-get install -y msodbcsql17

______________________________________________________________________

设置

1.克隆存储库

git clone https://github.com/jesseeastern/claude-mcp-aws-sqlserver.git
cd claude-mcp-aws-sqlserver

2.安装Python依赖项

pip install -r requirements.txt

3.配置凭据

编辑 server.py 并填写文件顶部的常量:

WINDOWS_INSTANCE_ID = "i-XXXXXXXXXXXXXXXXX"   # Your Windows EC2 instance ID
SQL_SERVER_IP       = "10.0.0.X"              # Private VPC IP of the SQL Server
SQL_SERVER_PORT     = 1433
SQL_USER            = "sa"
SQL_PASSWORD        = "your-password-here"
提示: 对于生产使用,请从环境变量或AWS Secrets Manager加载这些值,而不是对其进行硬编码。

4.配置AWS凭据

服务器使用标准boto3凭据链。最简单的方法:

aws configure
# or set environment variables:
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_DEFAULT_REGION=us-east-2

5.在克劳德桌面注册

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "vpc-mcp": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"],
      "transport": "streamable-http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

6.启动服务器

python server.py

______________________________________________________________________

示例提示

连接后,您可以问Claude以下问题:

  • *“列出我的所有EC2实例,并告诉我哪些实例正在运行。”*
  • *“启动实例i-0abc123def456789a并等待其可用。”*
  • *“SQL Server上存在哪些数据库?”*
  • *“对AdventureWorks2019运行此查询:从Sales.SalesOrderHeader ORDER BY TotalDue DESC中选择前10名\*”*
  • *“使用PowerShell检查Windows实例上的可用磁盘空间。”*

______________________________________________________________________

安全说明

  • 切勿提交真实密码或AWS凭据 源代码控制。使用环境变量或机密管理器。
  • 中的占位符值 server.py (i-XXXXXXXXXXXXXXXXX, YOUR_SA_PASSWORD_HERE)是故意的——只在本地副本中替换它们。
  • 使用最小权限原则将IAM角色限制为所需的最小权限。
  • 考虑启用AWS CloudTrail来审核所有SSM命令执行。

______________________________________________________________________

技术栈

  • FastMCP --Python MCP服务器框架
  • 肉毒杆菌3 --AWS Python SDK
  • pyodbc --ODBC数据库连接
  • AWS EC2 --云中的虚拟机
  • AWS系统经理(SSM) --无需打开入站端口即可安全执行远程命令

______________________________________________________________________

许可证

该项目根据 MIT许可证.

目录标签

目录标签

数据分析自然语言处理PythonClaude数据库管理本地部署AWS集成SQLServerEC2控制

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP