
SAP on Azure MCP Server (TypeScript Implementation)

2025.04.02
0
TypeScriptSAP HANA 管理Azure 资源管理系统监控数据库开发效率
azsap-mcp-typescript 是一个基于 TypeScript 实现的 Model Context Protocol (MCP) 服务器,专为 SAP on Azure 设计。它提供了 SAP HANA 数据库管理和 Azure 资源管理的工具集。该服务支持多种传输方式(STDIO、HTTP、SSE),并包含丰富的工具集用于系统监控和资源管理。
View on GitHub
Overview
基本能力
产品定位
azsap-mcp-typescript 是一个专为 SAP on Azure 环境设计的 MCP 服务器实现,主要提供 SAP HANA 数据库管理和 Azure 资源管理的功能。
核心功能
- 多种传输选项:支持 STDIO、HTTP 和 SSE 传输
- SAP HANA 集成:提供查询和管理 SAP HANA 数据库的工具
- Azure VM 管理:提供管理 Azure VM(启动、停止、状态检查)的工具
- Azure NSG 操作:提供网络安全管理组操作工具
- 资源监控:提供系统资源跟踪工具
- TypeScript 实现:完全类型化的实现,使用现代 ECMAScript 特性
适用场景
- SAP HANA 数据库管理和监控
- Azure 虚拟机管理
- Azure 网络安全管理
- 系统资源监控
工具列表
SAP HANA 工具
get_system_overview
:获取系统状态、主机信息、服务状态和内存使用情况get_disk_usage
:检查磁盘空间使用情况(跨卷、数据文件和日志文件)
Azure VM 工具
get_vm_status
:获取 Azure VM 的当前状态start_vm
:启动 Azure VMstop_vm
:停止 Azure VM(可选择取消分配)restart_vm
:重启 Azure VMlist_vms
:列出资源组或订阅中的所有 VM
常见问题解答
(文档中未提供具体常见问题解答)
使用教程
使用依赖
- 需要安装 Node.js 和 npm
- 需要 SAP HANA 和 Azure 的访问凭证
安装教程
# 克隆仓库
git clone <repository-url>
cd azsap-mcp-typescript
# 安装依赖
npm install
# 配置环境
cp .env.example .env
# 使用 SAP HANA 和 Azure 凭证编辑 .env 文件
# 构建项目
npm run build
运行服务器
STDIO 传输(用于 Claude Desktop)
npm start
HTTP 传输(用于 Web 客户端)
npm run start:http
或使用自定义主机/端口:
node dist/server-cli.js --transport http --host localhost --port 3000
使用客户端
# 连接到本地 STDIO 服务器
npm run client -- --transport stdio --command "node" --args "dist/server-cli.js"
# 连接到 HTTP 服务器
npm run client -- --transport http --host localhost --port 3000
# 执行特定工具
npm run client -- --transport http --host localhost --port 3000 --tool get_system_overview
作为库使用
import { createServer, connectServer, AzureMCPClient } from 'azsap-mcp-typescript';
// 创建并启动服务器
const server = createServer();
await connectServer(server, 'stdio');
// 或使用客户端
const client = new AzureMCPClient({
transport: 'http',
host: 'localhost',
port: 3000
});
await client.connect();
const status = await client.getVmStatus('SID001', 'db', 'myResourceGroup');
console.log(status);
Docker 支持
# 构建 Docker 镜像
docker build -t azsap-mcp-typescript .
# 运行并设置环境变量
docker run -p 3000:3000 \
-e HANA_HOST=your-hana-host \
-e HANA_PORT=30215 \
-e HANA_USER=your-user \
-e HANA_PASSWORD=your-password \
-e HANA_SCHEMA=your-schema \
azsap-mcp-typescript
Claude Desktop 集成
配置 claude_desktop_config.json
文件:
{
"mcpServers": {
"sap-hana-ts": {
"command": "node",
"args": ["/path/to/azsap-mcp-typescript/dist/server-cli.js"],
"env": {
"HANA_HOST": "your-hana-host",
"HANA_PORT": "30215",
"HANA_USER": "your-user",
"HANA_PASSWORD": "your-password"
}
}
}
}
测试
# 运行所有测试
npm test
# 运行特定测试
npm test -- -t "system overview"