mcpField
S
sql-mcp-server

sql-mcp-server

本地服务
github.com/prahveent数据库179 周前更新

关于 sql-mcp-server

sql-mcp-server 是面向 SQL Server 用户和应用的 MCP 服务,提供数据库列表、架构查询及参数化 SELECT 查询功能。

主要功能

  1. 01列出 SQL Server 数据库
  2. 02获取数据库架构
  3. 03执行参数化 SELECT 查询
  4. 04通过环境变量配置连接

适用场景

  1. 01查看 SQL Server 上可用的数据库
  2. 02查询数据库架构以准备后续操作
  3. 03通过 MCP 客户端执行只读 SELECT 查询

MCP 相关

该 MCP 服务向 MCP 客户端提供数据库列表、架构查询和 SELECT 查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sql-mcp-server-prahveent": {
"command": "npx",
"args": [
"-y",
"mcp-debug"
]
}
}
}
启动命令npx -y mcp-debug

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-debug

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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

  1. get-databases-tool - 列出 SQL Server 上可用的数据库
  2. get-database-schema-tool - 获取指定数据库的架构信息
  3. 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 中运行:

  1. 在项目中创建 .vscode/mcp.json 文件:
    • 如果项目根目录中不存在名为 .vscode 的目录,请创建该目录
    • 在 .vscode 目录中创建名为 mcp.json 的文件,内容如下:
{
  "servers": {
    "sql-mcp-server": {
      "url": "http://localhost:1337/mcp"
    }
  }
}

构建和测试

  1. 修改工具
  2. 运行 npm run build 进行编译
  3. 服务启动时会自动加载你的工具

调试

你可以使用 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 快速入门。

了解更多

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。