SAP on Azure MCP Server (TypeScript Implementation) について
SAP on Azure の管理を目的とした TypeScript 製 MCP サーバーです。SAP HANA や Azure リソースを扱うチーム向けに、データベースや VM の操作を提供し、STDIO、HTTP、SSE に対応します。
主な機能
- 01SAP HANA の状態・ディスク確認ツール
- 02Azure VM のライフサイクル管理
- 03Azure NSG の操作
- 04システムリソースの監視
- 05STDIO、HTTP、SSE に対応
活用シーン
- 01SAP HANA の状態とディスク使用量の確認
- 02Azure VM の起動、停止、再起動
- 03リソースグループまたはサブスクリプション内の VM 一覧表示
MCP 対応
SAP HANA、Azure VM、NSG、リソース監視のツールを MCP クライアントに公開します。STDIO、HTTP、SSE 接続に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SAP on Azure MCP サーバー(TypeScript 実装)
SAP HANA データベース管理と Azure リソース管理のツールを提供する、SAP on Azure 向け Model Context Protocol(MCP)サーバーの TypeScript 実装です。
機能
- 複数のトランスポートオプション: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 トランスポート(ウェブクライアント向け)
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。