关于 sql-mcp-server
sql-mcp-server 是面向 SQL Server 用户和应用的 MCP 服务,提供数据库列表、架构查询及参数化 SELECT 查询功能。
主要功能
- 01列出 SQL Server 数据库
- 02获取数据库架构
- 03执行参数化 SELECT 查询
- 04通过环境变量配置连接
适用场景
- 01查看 SQL Server 上可用的数据库
- 02查询数据库架构以准备后续操作
- 03通过 MCP 客户端执行只读 SELECT 查询
MCP 相关
该 MCP 服务向 MCP 客户端提供数据库列表、架构查询和 SELECT 查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
sql-mcp-server
基于 mcp-framework 构建的 Model Context Protocol(MCP)服务,用于与 SQL Server 数据库交互。
快速开始
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
项目结构
sql-mcp-server/
├── src/
│ ├── services/ # Services for the application
│ │ └── sql-service.ts
│ ├── tools/ # MCP Tools
│ │ ├── execute-select-query-tool.ts
│ │ ├── get-database-schema-tool.ts
│ │ └── get-databases-tool.ts
│ └── index.ts # Server entry point
├── .env # Environment configuration
├── package.json
└── tsconfig.json
可用工具
项目包含多个专注于 SQL 的工具:
- get-databases-tool - 列出 SQL Server 上可用的数据库
- get-database-schema-tool - 获取指定数据库的架构信息
- execute-select-query-tool - 对数据库运行参数化 SELECT 查询
SQL 服务
SqlService 类提供以下核心功能:
- 使用环境变量创建连接字符串
- 对 SQL Server 数据库执行查询
环境配置
在 .env 文件中配置数据库连接:
DB_SERVER=localhost\SQLEXPRESS
DB_DATABASE=AdventureWorks2019
DB_USERNAME=readonly_user
DB_PASSWORD=StrongPassword!123
DB_PORT=1433
AdventureWorks 示例数据库
本项目使用 AdventureWorks 示例数据库。你可以从以下链接下载并安装:
按照 Microsoft 文档页面中的说明下载数据库备份文件,并将其还原到 SQL Server 实例。
创建只读用户
要为应用程序创建可使用的 SQL Server 只读用户:
-- Create a new login and user in master database
CREATE LOGIN readonly_user WITH PASSWORD = 'StrongPassword!123';
GO
-- Switch to your target database
USE AdventureWorks2019;
GO
-- create user for the MasterDB login
CREATE USER readonly_user FOR LOGIN readonly_user;
-- Add the user to the db_datareader role for read-only access
ALTER ROLE db_datareader ADD MEMBER readonly_user;
GO
注意:运行这些命令之前,你需要先使用 SQL Server Management Studio 或
CREATE LOGIN命令创建 SQL Server 登录名。
在 VS Code 中使用
按照以下步骤配置 MCP 服务,使其在 VS Code 中运行:
- 在项目中创建
.vscode/mcp.json文件:- 如果项目根目录中不存在名为
.vscode的目录,请创建该目录 - 在
.vscode目录中创建名为mcp.json的文件,内容如下:
- 如果项目根目录中不存在名为
{
"servers": {
"sql-mcp-server": {
"url": "http://localhost:1337/mcp"
}
}
}
构建和测试
- 修改工具
- 运行
npm run build进行编译 - 服务启动时会自动加载你的工具
调试
你可以使用 mcp-debug 工具调试 MCP 服务:
# Start the server in one terminal
npm start
# In another terminal, run mcp-debug
npx mcp-debug
mcp-debug 工具提供 CLI 界面,可用于:
- 列出 MCP 服务上的可用工具
- 使用特定参数执行工具
- 查看服务的完整响应
这有助于你在将工具集成到大模型应用之前进行测试。有关更多信息,请参阅 MCP Framework HTTP 快速入门。
了解更多
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。