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"
微信扫一扫