Back to MCP directory
publicPublicdnsLocal runtime

azsap-mcp-typescript

一个基于TypeScript实现的SAP on Azure模型上下文协议(MCP)服务器,提供SAP HANA数据库管理和Azure资源管理工具,支持多种传输协议。

article

README

🚀 在Azure上运行SAP的MCP服务器(TypeScript实现)

这是在Azure环境中运行SAP时的一种Model Context Protocol (MCP) 服务器的TypeScript实现。它提供了对SAP HANA数据库管理和Azure资源管理的工具,能有效助力相关业务的开展。

✨ 主要特性

  • 多种传输方式:支持STDIO、HTTP和SSE三种传输协议,可满足不同场景的传输需求。
  • SAP HANA集成:提供查询和管理SAP HANA数据库的工具,方便对数据库进行操作。
  • Azure虚拟机管理:提供对Azure虚拟机的启动、停止和状态检查功能,实现对虚拟机的有效管控。
  • 网络安全组操作:提供对Network Security Group(NSG)的管理工具,增强网络安全性。
  • 资源监控:提供对系统资源的跟踪工具,有助于实时掌握系统资源使用情况。
  • TypeScript实现:采用现代ECMAScript特性,完全基于类型定义的实现,提升代码的可维护性和可读性。

📦 安装指南

# 克隆仓库
git clone <repository-url>
cd azsap-mcp-typescript

# 安装依赖项
npm install

# 配置环境
cp .env.example .env
# 根据提示编辑.env文件,输入SAP HANA和Azure的凭证信息

# 构建项目
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();
await client.connect('localhost', 3000);
await client.execute('get_system_overview');

高级用法

目前暂无高级用法的相关内容,若有需要可根据实际情况进行拓展。

📚 详细文档

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

🔧 技术细节

项目结构如下:

- azsap-mcp-typescript/
  - src/
    - Server.ts              # MCP服务器实现
    - Client.ts              # MCP客户端实现
    - tools/
      - systemOverview.ts    # 系统概览工具
      - diskUsage.ts         # 磁盘使用情况工具
      - vmManagement.ts      # 虚拟机管理工具
  - package.json            # 项目依赖和脚本配置
  - README.md               # 项目文档

📄 许可证

本项目采用MIT许可证。

🔧 测试

# 运行所有测试
npm test

# 运行特定测试
npm test -- -t "system overview"
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client