claude数据库工具
用于Claude Code的SQL Server CLI和MCP服务器。
为什么是这个工具?
这个项目是微软官方项目的替代品 mssql MCP服务器 具有一些关键优势:
- 使用用户名和密码:支持SQL Server身份验证(用户名/密码),而不仅仅是Windows/Entra身份验证。非常适合开发环境、Docker容器或集成身份验证不可用的场景。
- CLI首次设计:CLI工具可以直接从 Claude代码技能,使您无需设置MCP服务器即可访问数据库。当您想要更简单的配置或需要在MCP服务器有问题的环境中工作时,这很有用。
- 包括MCP服务器:如果您喜欢这种集成方法,还可以提供MCP服务器。
特性
- CLI工具:SQL Server操作的命令行界面
- MCP服务器:用于Claude集成的模型上下文协议服务器(实验)
- 安全:内置SQL注入预防和查询验证
- 运营:列出表、描述模式、查询数据、插入/更新/删除记录、DDL生成
安装
git clone https://github.com/cyronius/claude-database-tools.git
cd claude-database-tools
npm install
npm run build配置
复制 .env.example 到 .env 并配置您的数据库连接:
cp .env.example .env编辑 .env 使用您的SQL Server凭据:
SQL_SERVER=localhost
SQL_DATABASE=your_database
SQL_USER=your_username
SQL_PASSWORD=your_password
SQL_PORT=1433
SQL_ENCRYPT=false
SQL_TRUST_SERVER_CERTIFICATE=trueCLI使用情况
构建后,使用以下命令运行命令:
node dist/cli/index.js [options]或全局安装:
npm install -g .
sql-cli [options]命令
| 命令 | 描述 |
|---|---|
list-tables [schemas...] | 列出表,可选择按架构筛选 |
describe-table | 获取表架构(列、索引、外键) |
read-data | 执行SELECT查询 |
insert-data | 插入记录 |
update-data | 更新记录 |
delete-data --confirm | 删除记录 |
| `exec-proc | |
| [params]` | 执行存储过程 |
create-table | 创建新表 |
drop-table | 放下一张桌子 |
create-index | 创建索引 |
get-ddl | 生成CREATE TABLE DDL |
get-alter-ddl | 生成ALTER表DDL |
例子
# List all tables
sql-cli list-tables
# List tables in specific schemas
sql-cli list-tables dbo sales
# Describe a table
sql-cli describe-table dbo.Users
# Query data
sql-cli read-data "SELECT TOP 10 * FROM dbo.Users"
# Insert data
sql-cli insert-data dbo.Users '{"name": "John", "email": "john@example.com"}'
# Update data
sql-cli update-data dbo.Users '{"name": "Jane"}' "id = 1"
# Delete data (requires --confirm flag)
sql-cli delete-data dbo.Users "id = 1" --confirm
# Get table DDL
sql-cli get-ddl dbo.UsersMCP服务器(实验)
备注:MCP服务器集成尚未完全测试。使用风险自负。
MCP服务器允许Claude Code直接与您的SQL server数据库交互。
设置
添加到您的 ~/.claude/mcp.json:
{
"mcpServers": {
"mssql": {
"command": "node",
"args": ["/path/to/claude-database-tools/dist/index.js"],
"env": {
"SQL_SERVER": "your-server",
"SQL_DATABASE": "your-database",
"SQL_USER": "your-username",
"SQL_PASSWORD": "your-password",
"SQL_ENCRYPT": "true",
"READONLY": "true"
}
}
}
}重新启动Claude Code以加载MCP服务器。
可用的MCP工具
只读的 (可用时 READONLY=true):
list_tables-列出表格describe_table-获取表架构read_data-执行SELECT查询get_table_ddl-生成CREATE TABLE DDLget_table_alter_ddl-生成ALTER表DDL
写 (要求 READONLY=false):
insert_data-插入记录update_data-更新记录delete_data-删除记录create_table-创建表格create_index-创建索引drop_table-放下桌子execute_stored_proc-执行存储过程
安全
- SQL注入防护:SELECT查询根据危险的关键字和模式进行验证
- 参数化查询:所有INSERT/UPDATE/DELETE操作都使用参数化查询
- WHERE条款必填:UPDATE和DELETE操作需要WHERE子句
- 查询限制:最大查询长度为10000个字符,结果集限制为10000条记录
- 只读模式:设置
READONLY=true禁用写入操作
许可证
麻省理工学院
