MS SQL MCP(Microsoft SQL Machine Learning Platform)服务器是一个模块化、可扩展的工具,能简化用户与 Microsoft SQL 数据库的交互过程,提供查询执行、表结构查看和数据库发现等多种功能。
在使用 MS SQL MCP 服务器前,需进行环境配置,通过 .env 文件控制其连接数据库的方式和运行模式。以下是 .env 文件的详细设置说明:
# 数据库连接设置
DB_USER=your_username # SQL Server 用户名
DB_PASSWORD=your_password # SQL Server 密码
DB_SERVER=your_server_name # 服务器主机名或 IP 地址(示例:localhost, 10.0.0.1, myserver.database.windows.net)
DB_DATABASE=your_database_name # 要连接到的数据库名称
# 服务器配置
PORT=3333 # HTTP/SSE 服务器监听的端口
TRANSPORT=stdio # 连接方法:'stdio'(用于 Claude Desktop)或 'sse'(用于网络连接)
SERVER_URL=http://localhost:3333 # 使用 SSE 传输时的基础 URL(必须与 PORT 设置匹配)
# 高级设置
DEBUG=false # 设为 'true' 以启用详细日志记录(调试时有用)
QUERY_RESULTS_PATH=/path/to/query_results # 存储查询结果的文件夹路径
.env 文件中设置 TRANSPORT=stdio。npm start 启动。.env 文件中设置 TRANSPORT=sse。npm run sse 启动。文档未提及安装步骤,故跳过此章节。
const { Database } = require('mssql-mcp');
async function connect() {
const db = new Database({
config: {
user: 'your_username',
password: 'your_password',
server: 'localhost',
database: 'your_database'
}
});
try {
await db.connect();
console.log('已连接到 SQL Server。');
} catch (error) {
console.error('无法连接到数据库:', error);
}
}
connect();
async function queryExample() {
const db = new Database({
config: {
user: 'your_username',
password: 'your_password',
server: 'localhost',
database: 'your_database'
}
});
try {
await db.connect();
const result = await db.query('SELECT TOP 5 * FROM YourTable');
console.log('查询结果:', result);
} catch (error) {
console.error('执行查询时出错:', error);
} finally {
await db.disconnect();
}
}
queryExample();
async function paginatedQuery() {
const db = new Database({
config: {
user: 'your_username',
password: 'your_password',
server: 'localhost',
database: 'your_database'
},
options: {
pageNumber: 2,
pageSize: 10
}
});
try {
await db.connect();
const result = await db.query('SELECT * FROM YourTable ORDER BY Id');
console.log('分页结果:', result);
} catch (error) {
console.error('执行分页查询时出错:', error);
} finally {
await db.disconnect();
}
}
paginatedQuery();
database.mjs - 数据库连接tools.mjs - 工具注册resources.mjs - 数据库资源pagination.mjs - 结果导航errors.mjs - 错误处理logger.mjs - 日志系统MS SQL MCP 服务器提供了强大的数据库发现功能,使用户能够轻松浏览和分析其结构,主要功能如下:
MS SQL MCP 服务器支持详细的日志记录,以帮助用户调试和监控运行状态。通过设置 DEBUG 环境变量,可以启用或禁用详细日志输出。
# 启用调试模式
DEBUG=true npm start
# 禁用调试模式(默认)
npm start
在遇到错误时,MS SQL MCP 服务器会提供详细的错误信息,帮助用户快速定位和解决问题。以下是一些常见的错误场景及解决方案:
MS SQL MCP 服务器通过模块化设计,将不同功能封装在各个核心组件中,各组件之间相互协作,实现了与 Microsoft SQL 数据库的高效交互。例如,database.mjs 负责数据库连接和查询执行,tools.mjs 负责工具注册和调用映射,resources.mjs 负责暴露数据库元数据等。同时,服务器还支持详细的日志记录和错误处理,方便用户调试和监控运行状态。
文档未提及许可证信息,故跳过此章节。