SQL数据库交互工具

一个基于MCP框架构建的SQL Server数据库交互工具,提供数据库列表查询、模式检索和执行SELECT查询等功能。

  • by prahveent
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 prahveent/sql-mcp-server

使用说明

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为中心的工具:

  1. 获取数据库工具 -列出SQL Server上的可用数据库
  2. 获取数据库模式工具 -检索指定数据库的架构信息
  3. 执行选择查询工具 -对数据库运行参数化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中运行:

  1. 创建一个 .vscode/mcp.json 项目中的文件:
    • 创建一个名为的目录 .vscode 如果项目根目录不存在
    • 创建一个名为的文件 mcp.json 里面 .vscode 包含以下内容的目录:
{
  "servers": {
    "sql-mcp-server": {
      "url": "http://localhost:1337/mcp"
    }
  }
}

建造和测试

  1. 对工具进行更改
  2. 跑 npm run build 编写
  3. 服务器将在启动时自动加载您的工具

调试

您可以使用调试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快速入门.

了解更多