mcp-mssql服务器
一种模型上下文协议(MCP)服务器,为AI模型与MS SQL server数据库交互提供标准化接口。该服务器实现MCP规范,通过一致的API实现无缝数据库操作。
特性
- 使用参数支持执行SQL查询
- 列出数据库中的所有表
- 描述表模式
- 支持stdio和HTTP传输模式
- 综合测井系统
- 基于环境的配置
- 错误处理和优雅关机
先决条件
- Node.js(支持ES模块的版本)
- MS SQL Server实例
- 数据库的访问凭据
安装
- 克隆存储库
- 安装依赖项:
npm install您还可以全局安装该软件包:
npm install -g mcp-mssql-server- 创建一个
.env项目根目录中的文件,其中包含以下必需变量:
DB_SERVER=your_server_address
DB_USER=your_username
DB_PASSWORD=your_password
DB_DATABASE_NAME=your_database_name用法
服务器可以以两种不同的传输模式启动:
stdio模式(默认)
npm start
# or
npm run start:stdioHTTP模式
npm run start:http开发模式
npm run devJSON-RPC协议
服务器使用以下关键方法实现JSON-RPC 2.0协议:
initialize-初始化服务器连接:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {
"tools": {}
},
"clientInfo": {
"name": "your-client",
"version": "1.0.0"
}
}
}tools/list-列出可用工具tools/call-调用特定工具
测试
该包包括一个测试客户端(test.package.js)演示如何与MCP服务器交互:
node test.package.js测试客户端实现了 MCPTestClient 类:
- 使用生成服务器进程
npx mcp-mssql-server - 使用协议版本“2024-11-05”初始化连接
- 列出可用工具
- 执行示例查询,包括:
- 列出所有表格 - 运行特定的SQL查询以计数文档
- 通过stdio流处理服务器响应和错误
- 包括正确的错误处理和流程清理
来自客户端的示例测试查询:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "execute_sql_query",
"arguments": {
"query": "SELECT COUNT(*) as document_count FROM document_new"
}
}
}测试客户端提供了一种验证服务器功能的简单方法,可以作为实现自己客户端的参考。
可用工具
服务器提供以下MCP工具:
1.执行_sql_query
使用可选参数化对数据库执行SQL查询。
{
"query": "SELECT * FROM Users WHERE id = @userId",
"parameters": [
{
"name": "userId",
"type": "int",
"value": 1
}
]
}2.列表表
列出连接数据库中的所有可用表。
3.描述表
获取特定表的详细架构信息。
{
"table_name": "Users"
}日志记录
日志存储在 logs 目录:
error.log:错误级别日志combined.log:所有日志
在HTTP模式下,日志也会输出到控制台。
依赖项
主要依赖关系:
- @模型上下文协议/sdk:^1.13.0
- Dotenv:^16.4.5
- 快递:^5.1.0
- mssql:^11.0.1
- 温斯顿:^3.11.0
开发依赖关系:
- 轴距:^1.10.0
许可证
麻省理工学院
贡献
- 分叉存储库
- 创建功能分支
- 提交您的更改
- 推到分支
- 创建新的Pull请求
