mcpField
S
SAP on Azure MCP Server (TypeScript Implementation)

SAP on Azure MCP Server (TypeScript Implementation)

本地服务
github.com/ArchitectRavi云与基础设施082 周前更新

关于 SAP on Azure MCP Server (TypeScript Implementation)

这是面向 SAP on Azure 管理的 TypeScript MCP 服务,供管理 SAP HANA 和 Azure 资源的团队使用。它提供数据库与虚拟机操作,并支持 STDIO、HTTP 和 SSE 传输。

主要功能

  1. 01SAP HANA 状态与磁盘工具
  2. 02Azure VM 生命周期管理
  3. 03Azure NSG 操作
  4. 04系统资源监控
  5. 05支持 STDIO、HTTP 和 SSE

适用场景

  1. 01检查 SAP HANA 状态和磁盘用量
  2. 02启动、停止或重启 Azure VM
  3. 03列出资源组或订阅中的 VM

MCP 相关

向 MCP 客户端提供 SAP HANA、Azure VM、NSG 和资源监控工具,并支持 STDIO、HTTP 和 SSE 连接。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

SAP on Azure MCP 服务(TypeScript 实现)

SAP on Azure 的 Model Context Protocol(MCP)服务的 TypeScript 实现,提供用于 SAP HANA 数据库管理和 Azure 资源管理的工具。

功能

  • 多种传输选项:支持 STDIO、HTTP 和 SSE 传输
  • SAP HANA 集成:用于查询和管理 SAP HANA 数据库的工具
  • Azure VM 管理:用于管理 Azure VM(启动、停止、查看状态)的工具
  • Azure NSG 操作:用于管理网络安全组的工具
  • 资源监控:用于跟踪系统资源的工具
  • TypeScript 实现:采用现代 ECMAScript 特性的完全类型化实现

安装

# Clone the repository
git clone <repository-url>
cd azsap-mcp-typescript

# Install dependencies
npm install

# Configure your environment
cp .env.example .env
# Edit .env with your SAP HANA and Azure credentials

# Build the project
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

使用客户端

此软件包包含可连接到 MCP 服务的客户端实现:

# Connect to a local STDIO server
npm run client -- --transport stdio --command "node" --args "dist/server-cli.js"

# Connect to an HTTP server
npm run client -- --transport http --host localhost --port 3000

# Execute a specific tool
npm run client -- --transport http --host localhost --port 3000 --tool get_system_overview

作为库使用

你也可以在自己的项目中将此软件包用作库:

import { createServer, connectServer, AzureMCPClient } from 'azsap-mcp-typescript';

// Create and start a server
const server = createServer();
await connectServer(server, 'stdio');

// Or use the client
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 支持

此项目包含用于容器化部署的 Dockerfile:

# Build the Docker image
docker build -t azsap-mcp-typescript .

# Run with environment variables
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 集成,请配置 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"
      }
    }
  }
}

项目结构

项目遵循标准的 Node.js/TypeScript 软件包结构:

├── src/                  # Source code
│   ├── index.ts          # Main entry point and library exports
│   ├── server-cli.ts     # CLI for running the server
│   ├── client-cli.ts     # CLI for running the client
│   ├── client.ts         # MCP client implementation
│   ├── hana-connection.ts # SAP HANA connection utilities
│   ├── tools/            # Tool implementations
│   │   ├── system-overview.ts
│   │   ├── disk-usage.ts
│   │   └── azure-tools/   # Azure-specific tools
│   │       └── vm-operations.ts
│   └── utils/            # Utility functions
│       ├── format.ts     # Formatting utilities
│       ├── logger.ts     # Logging configuration
│       └── types.ts      # TypeScript type definitions
├── test/                 # Test files
├── dist/                 # Compiled output (generated)
└── logs/                 # Log files (generated)

可用工具

服务目前提供以下工具:

SAP HANA 工具
  • get_system_overview:获取系统状态、主机信息、服务状态和内存使用情况
  • get_disk_usage:检查各卷、数据文件和日志文件的磁盘空间使用情况
Azure VM 工具
  • get_vm_status:获取 Azure VM 的当前状态
  • start_vm:启动 Azure VM
  • stop_vm:停止 Azure VM(可选是否解除分配)
  • restart_vm:重启 Azure VM
  • list_vms:列出资源组或订阅中的所有 VM

文档

有关可用工具及其参数的更多信息,请参阅源代码和 JSDoc 注释。

测试

# Run all tests
npm test

# Run specific tests
npm test -- -t "system overview"

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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