使用说明
sql-mcp服务器
使用MCP框架构建的模型上下文协议(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为中心的工具:
- 获取数据库工具 -列出SQL Server上的可用数据库
- 获取数据库模式工具 -检索指定数据库的架构信息
- 执行选择查询工具 -对数据库运行参数化SELECT查询
结构化查询语言服务
这 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在运行这些命令之前,请先执行命令。
与VS代码一起使用
您可以按照以下步骤配置MCP服务器在VS Code中运行:
- 创建一个
.vscode/mcp.json项目中的文件:- 创建一个名为的目录
.vscode如果项目根目录不存在 - 创建一个名为的文件
mcp.json里面.vscode包含以下内容的目录:
- 创建一个名为的目录
{
"servers": {
"sql-mcp-server": {
"url": "http://localhost:1337/mcp"
}
}
}
建造和测试
- 对工具进行更改
- 跑
npm run build编写 - 服务器将在启动时自动加载您的工具
调试
您可以使用调试MCP服务器 mcp-debug 工具:
# Start the server in one terminal
npm start
# In another terminal, run mcp-debug
npx mcp-debug
这 mcp-debug 该工具提供了一个CLI界面,用于:
- 列出MCP服务器上的可用工具
- 执行具有特定参数的工具
- 查看服务器的完整响应
这有助于您在将工具与LLM应用程序集成之前对其进行测试。有关更多信息,请参阅 MCP框架HTTP快速入门.