mcpField
A
azure-mcp-server

azure-mcp-server

ローカル
github.com/matthewfreshitクラウド・インフラ080 週間前に更新

azure-mcp-server について

azure-mcp-serverは、ツールを使ってAzureサービスを管理するための、mcp-framework製MCPサーバーです。Storage、Virtual Machines、App Serviceに対応し、認証にはDefaultAzureCredentialを使用します。

主な機能

  1. 01BlobとコンテナーのCRUD操作
  2. 02VMの一覧表示とライフサイクル管理
  3. 03App Serviceの詳細と構成の確認
  4. 04App Serviceの起動・停止・再起動
  5. 05DefaultAzureCredentialによる認証

活用シーン

  1. 01Azure Blobのコンテナーやファイルの一覧・管理
  2. 02仮想マシンの起動・停止・再起動・削除
  3. 03App Serviceの構成確認と状態の操作

MCP 対応

Azure Storage、Virtual Machines、App Serviceを操作するツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Azure MCP サーバー

Azure サービスを操作するためのツールを提供する、mcp-framework で構築された Model Context Protocol(MCP)サーバーです。

クイックスタート

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start

プロジェクト構成

azure-mcp-server/
├── src/
│   ├── tools/                # MCP Tools
│   │   ├── Storage/          # Azure Storage tools
│   │   ├── VirtualMachine/   # Azure VM tools
│   │   └── AppService/      # Azure App Service tools
│   └── index.ts              # Server entry point
├── package.json
└── tsconfig.json

Azure ツールの概要

このサーバーは、複数の Azure サービスを操作するためのツールを提供します。

サービスツールのプレフィックス説明
Storageazure_*Blob ストレージ操作
Virtual Machinesazure_vms_*VM 管理操作
App Serviceazure_apps_*App Service 操作
認証

すべてのツールは @azure/identity の DefaultAzureCredential を使用します。次の順序で複数の認証方法を試します。

  1. 環境変数(AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET)
  2. マネージド ID
  3. Azure CLI の認証情報
  4. Visual Studio Code の認証情報
  5. インタラクティブなブラウザーでのログイン(フォールバック)

利用可能なツール

Azure Storage ツール
必要なアクセス許可
  • Storage Account Contributor:ストレージアカウント設定の管理用
  • Storage Blob Data Contributor:Blob とコンテナーの CRUD 操作用
コンテナー操作
ツール説明入力例
azure_list_containersコンテナーの一覧表示{ "accountName": "yourstorageaccount" }
azure_create_containerコンテナーの作成{ "accountName": "yourstorageaccount", "containerName": "mycontainer" }
azure_delete_containerコンテナーの削除{ "accountName": "yourstorageaccount", "containerName": "mycontainer" }
Blob 操作
ツール説明入力例
azure_list_blobsBlob の一覧表示{ "accountName": "yourstorageaccount", "containerName": "mycontainer" }
azure_upload_blobBlob のアップロード{ "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt", "content": "This is the content" }
azure_download_blobBlob のダウンロード{ "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt" }
azure_delete_blobBlob の削除{ "accountName": "yourstorageaccount", "containerName": "mycontainer", "blobName": "example.txt" }
Azure Virtual Machine ツール
必要なアクセス許可
  • Virtual Machine Contributor:VM の管理用
  • Reader:VM の一覧表示と詳細の表示用
VM の操作
ツール説明入力例
azure_vms_listVM を一覧表示{ "subscriptionId": "your-subscription-id" }
azure_vms_startVM を起動{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" }
azure_vms_stopVM を停止{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" }
azure_vms_restartVM を再起動{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" }
azure_vms_deleteVM を削除{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "vmName": "your-vm-name" }
Azure App Service ツール
必要なアクセス許可
  • Website Contributor:App Services の管理に必要です
  • Reader:App Service の詳細の一覧表示と確認に必要です
App Service の操作
ツール説明入力例
azure_apps_listApp Services を一覧表示{ "subscriptionId": "your-subscription-id" }
azure_apps_getApp Service の詳細を取得{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" }
azure_apps_get_configApp Service の構成を取得{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" }
azure_apps_startApp Service を起動{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" }
azure_apps_stopApp Service を停止{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" }
azure_apps_restartApp Service を再起動{ "subscriptionId": "your-subscription-id", "resourceGroupName": "your-resource-group", "appName": "your-app-name" }

ツールの開発

新しいツールの作成
import { MCPTool } from 'mcp-framework';
import { z } from 'zod';

interface MyToolInput {
  message: string;
}

class MyTool extends MCPTool<MyToolInput> {
  name = 'my_tool';
  description = 'Describes what your tool does';

  schema = {
    message: {
      type: z.string(),
      description: 'Description of this input parameter'
    }
  };

  async execute(input: MyToolInput) {
    // Your tool logic here
    return `Processed: ${input.message}`;
  }
}

export default MyTool;

デバッグ

Azure ツールで問題が発生した場合は、コンソールログを確認して詳細なデバッグ情報を確認してください。よくある問題は次のとおりです。

  • 認証の失敗
  • アクセス許可の不足
  • 存在しないリソース
  • ネットワーク接続の問題

ビルドとテスト

  1. ツールに変更を加えます
  2. npm run build を実行してコンパイルします
  3. サーバーは起動時にツールを自動的に読み込みます

詳細情報

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。