An architecture image showing how Claude is integrated into OpsNow through the AI agent standard MCP.
Insights

AIエージェントのスタンダード、MCPでClaudeとOpsNowを連携する

OpsNow Team
April 9, 2025

MCP登場の背景:なぜAIに新しい接続規格が必要なのか?

図:MCP導入前(左)と導入後(右)の比較。標準がなければ、各AIモデルがSlack、Google Drive、GitHubなどのツールごとにそれぞれ独自の方式(Unique API)で接続する必要があります。MCPを導入すると、一つの標準化されたインターフェース(MCP)を通じて複数のツールにアクセスでき、統合がはるかに簡単になります。

人工知能ベースのチャットボットやアシスタントと呼ばれる大規模言語モデル(LLM)は賢いものの、しばしば外部世界から隔離されているという限界を持っています。簡単に言えば、どんなに賢いAIでも、インターネットや社内データベースなど必要なデータに直接アクセスできなければ限界があることは避けられません。例えば、現在のAIに「弊社の売上データでグラフを作成して」と依頼しても、AIはそのデータに直接アクセスする方法がないため困ってしまうというわけです。

このため、AIを外部ツールやデータソースと接続しようとする試みは以前から多くありました。しかし従来の方式は、各AIと各ツールを個別にカスタムコードで繋ぎ合わせる作業であり、新しいツールを接続するたびに複雑な開発が必要でした。まるで昔、プリンターやキーボードごとに異なるケーブルを使わなければならなかったように、AIとツールの間にもそれぞれ異なる「規格」が乱立していたのです。

Anthropicが提案したMCP(Model Context Protocol)は、このような問題を解決するために登場したオープン標準プロトコルです。一言で言えば**「AI用USB-Cポート」と例えることができます。USB-Cが様々な機器を一つの統一されたポートで接続してくれるように、MCPはAIアプリケーションと各種外部システムを一つの統一された方式で繋ぐ規格です。これによりAIとツールを接続する方式を標準化**して重複作業を減らし、異なるシステム間の連携をより簡単にすることができます。

例えば、3つのAIアプリと3つのツールを連携させる必要がある場合、MCPなしでそれぞれを接続するには3×3、つまり9つの別々の連携を作成する必要があります。しかしMCPを導入すれば3+3、つまり6つの標準接続だけを構成すれば済みます。このようにMCPはAIとツール間の接続を効率化し、より良い回答のためにAIが必要なデータを簡単に活用できるよう支援します。

最近の動向:Claudeと業界のMCP活用の動き

AIモデルを外部ツールと連携させようとする流れは、Anthropicだけの話ではありません。2023年からOpenAIのChatGPTもプラグイン関数呼び出し機能を通じて外部ウェブサイト検索、計算機使用などの連携を図ってきました。マイクロソフトもBingにChatGPTを組み込んでウェブ検索機能を提供するなど、複数の企業がAIを実用的に活用するためにツール接続を研究しています。

そんな中、AnthropicはMCPを2024年11月に公開し、業界標準として定着し得るアプローチを提示しました。特にAnthropicのAIアシスタントClaudeにはMCPクライアント機能が内蔵されており、Claudeを活用するアプリケーションは簡単にMCPサーバーと接続できます。例えば、Claude用デスクトップアプリでは数クリックだけで様々なMCPサーバー(Google Drive、Slack、GitHubなどのコネクター)を追加し、Claudeが該当サービスの情報を取得できるようにすることが可能です。

MCPが公開されると、複数の開発ツールやサービスが競ってこれをサポートし始めました。実際に発表直後にGitHubのCopilot、開発用IDEのCursorなど様々なツールがMCP連携を発表しました。また、Zedエディター、Replit、Codeium、Sourcegraphなどの企業も自社プラットフォームにMCPを組み込み、AIアシスタントがコード作業時のコンテキストをより良く把握できるよう改善しています。

要約すると、AIモデルと外部システムの接続は業界の大きな流れであり、MCPはその中でもオープン標準として急速に注目を集めている方法です。一部の専門家は、MCPが事実上2023-2025年間の「AIエージェント標準」競争の有力候補になるほどのモメンタムを得たと評価することもあります。それほど多くの場所でMCPを採用したり類似の試みをしながら、AIをより有用にする実験が活発に行われています。

MCPの強み:多様なLLMをサポートし、クローズドネットワークで

MCPが注目される理由は様々な利点を持っているからです。まずAIとツール接続の標準化という最大のメリットがあります。開発者の立場では、新しいAIサービスが登場してもMCP規格に合わせて一度接続しておけば複数の場所で再利用できるため、開発生産性が向上します。また、コード実装が一貫して行われるためサービス安定性と保守性も向上します。ユーザーの立場でも、様々なアプリケーションでAI機能を使用する際に体験が一貫して続く可能性が高まります。

二つ目は、特定のAIモデルやベンダーに依存しない柔軟性です。MCP自体はある特定のAIモデル専用ではなく、複数種類のLLMを包括する汎用プロトコルです。例えば、AnthropicのClaudeはもちろん、OpenAIのGPTシリーズ、あるいはオープンソースLLMまでもMCP規格に合わせれば接続して活用できます。実際にMCPを活用すればLlama 2やDeepSeekのようなオープンソースベースのLLMも使用でき、特定企業のAPIに依存する必要がありません。これは企業内部で完全に閉域網(インターネットが遮断された内部網)環境を使用していても、内部にインストールしたオープンソースAIモデルとMCPコネクターを通じてAIアシスタント機能を提供できるということを意味します。インターネットが使えない環境でも標準さえ合えばAIと各種システムを連携できるため、セキュリティ上外部接続が困難な場合でもAI導入が可能になるのです。

三つ目は、多様なインフラ環境を包括できるという利点です。MCPはクラウドでもオンプレミスでも問わず使用でき、その上で動作するあらゆる種類のハイパーバイザー(仮想化プラットフォーム)をサポートします。例えば、VMware、Proxmox、OpenStackのように異なる仮想化ソリューションがあっても、MCPを通じて一括してAIが制御できます。このようにインフラ依存性なく汎用的に動作するため、企業の立場では既存システムを大幅に変更することなくMCPを導入してAI機能を付加できます。

その他にもMCPは双方向通信を念頭に置いた構造で、AIがツールに質問を送るだけでなく、逆にイベントが発生すればAIが通知を受け取ることも可能です。またセキュリティ面でもMCPサーバーを通じてアクセス権限を細分化し制御できるため、AIに必要な情報のみを安全に提供する設計が可能です。

まとめると、MCPは柔軟性、汎用性、セキュリティ性の面ですべて考慮された新しい標準と言えます。

OpsNow ユースケース:MCPによる会話型仮想マシン管理

OpsNowでは、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。

  1. OpsNow FinOpsとMCPの結合

    • Third Parties MCP Server
      • 既に公開されている様々な外部MCPサーバーと接続され、機能を拡張できます。
    • LLM Vendor Desktop Application (Claude)
      • ClaudeはAnthropicの高性能LLMで、様々なMCPサーバーと接続され、ユーザーのコマンドを自然言語で処理します。Claudeはユーザーのリクエストを受けて適切なMCPサーバーを呼び出し、外部システムとの相互作用を主導します。
    • OpsNow MCP Server
      • ClaudeはOpsNowのクラウドコストおよびアセット情報にアクセスするため、別途構築した2つのMCPサーバーと接続されます。
        • OpsNow Cost MCP Server:OpsNowのクラウドコスト情報を照会します。
        • OpsNow Asset MCP Server:使用中のアセット(サーバー、ネットワーク、DBなど)に関する情報を提供する役割を担います。
    • OpsNow MCP Provider
      • MCPサーバーは内部的にOpsNow MCP Providerと接続されています。このコンポーネントはClaude MCPのリクエストを実際のOpsNow APIにブリッジする役割を果たします。
    • OpsNow Resources
      • 実際のデータを提供する主体はOpsNow内部システム(OpsNow Resources)です。
    既存のFinOpsのサービスやリソースをOpsNow Resourcesとする際、緑色の部分を簡単に開発しながらMCPの活用性を見てみましょう。現在は実際のデータ環境ではなく、テスト目的のダミーデータによる動作を実行いたします。

OpsNow MCP Provider

このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:

FastAPIベースの非同期ウェブサーバー

  • アセット照会用APIクライアント(asset_api_client.py)
  • コスト照会用APIクライアント(cost_api_client.py)
  • MCPサーバーのリクエストを処理するメインアプリ(main.py)

main.py: MCP リクエストを処理するためのエントリポイント

Python

from fastapi import FastAPI
from asset_api_client import get_assets
from cost_api_client import get_costs

app = FastAPI()

@app.get("/health")
async def health_check():
    return {"status": "ok"}

@app.get("/assets")
async def get_assets_data():
    return await get_assets()

@app.get("/costs")
async def get_costs_data():
    return await get_costs()
  • /assets: Claude がアセットリストをリクエストしたときに呼び出される API エンドポイント
  • /cost: Claude がコストデータをリクエストしたときに呼び出される API エンドポイント
  • /health: MCP サーバーのステータスを確認するために使用されるヘルスチェックエンドポイント

cost_api_client.py: コストデータを提供

Python

async def get_costs():
    return {
        "costs": [
            {
                "cloud_provider": "<CSP_NAME>",  # Example: AWS, Azure, GCP, etc.
                "monthly_costs": [
                    {
                        "month": "<YYYY-MM>",  # Example: 2025-03
                        "total": "<TOTAL_COST>",
                        "by_service": {
                            "<SERVICE_NAME_1>": "<COST_1>",
                            "<SERVICE_NAME_2>": "<COST_2>",
                            # ...
                        }
                    },
                    # ...Multiple monthly cost data
                ]
            },
            # ...Multiple CSP
        ]
    }

  • 実際の OpsNow API 統合ではなく、ダミーデータに基づいてコストデータを提供します。
  • クロードが「今月の費用はいくらですか?」などのリクエストを受け取ったとき、このデータは返却されます。

asset_api_client.py: アセットデータを提供

Python

async def get_assets():
    return {
        "AWS": [
            {
                "id": "<RESOURCE_ID>",
                "type": "<RESOURCE_TYPE>",  # Example: EC2, RDS 
                "region": "<REGION_CODE>",
                "status": "<STATUS>"        # Example: running, stopped 
            },
            # ...Multiple Assets
        ]
    }

  • 実際のOpsNow API統合ではなく、ダミーデータに基づくアセットリストを提供します。
  • クロードが「現在使用されているリソースは何ですか?」などのリクエストを受け取ったとき、このデータは返却されます。

実行方法

# Default Installation
pip install -r requirements.txt

# 서버 실행
python main.py

フルソースコード: オプスノウ-MCP-プロバイダー

OpsNow MCP Server

OpsNow Cost MCP Server

これからClaude MCP連携構造における「OpsNow Cost MCP Server」役割を担う部分を詳しく見てみましょう。該当コンポーネントは、Claudeデスクトップアプリケーションからのリクエストを受け取り、OpsNowコストデータをMCPプロトコルで応答するサーバーです。

この部分を始める前に、以下のドキュメントを参照することを強く推奨します。

キーテクノロジー

  • Node.js + TypeScript
  • @modelcontextprotocol /sdk: クロード MCP サーバーを開発するための公式SDK
  • ノードフェッチ:プロバイダー API との通信に使用
  • zod: スキーマ検証ライブラリ

src/index.ts: MCP サーバの初期化

JavaScript

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

// Create server instance
const server = new McpServer({
  name: "cloud-cost",
  version: "1.0.0",
});

入力スキーマの定義とツールの登録

JavaScript

server.tool(
  "get-cost",
  "Get cloud cost summary for multiple vendors and months",
  {
    vendors: z.array(z.string()).optional().describe("List of cloud vendor names"),
    months: z.array(z.string()).optional().describe("List of months in YYYY-MM format"),
  },
  async ({ vendors, months }) => {
    ...
  }
);


プロバイダー API からコストデータを取得

JavaScript

async function readCostData(): Promise<any | null> {
  const response = await fetch('http://localhost:8000/api/v1/costs/info');
  ...
  return data;
}

ビルド

# Default Installation
npm install

# Build
npm run build

フルソースコード: opsnow-mcp-コストサーバー

OpsNow アセット MCP サーバー

構造はOpsNow Cost MCPサーバーと同じなので、説明は省略します。

フルソースコード: opsnow-mcp-アセットサーバー

クロード・デスクトップでの使い方

環境設定

1。Claude デスクトップ設定 > 開発者 > 設定の編集

2。claude_desktop_config.json ファイルを開きます。

クラウドコストサーバーとクラウドアセットサーバーの設定を登録する

JavaScript

{
  "mcpServers": {
   "cloud-cost-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-cost-server/build/index.js"
      ]
    },
    "cloud-asset-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-asset-server/build/index.js"
      ]
    }
  }
}

3。登録が成功したことを確認する

プロンプト入力フィールドで「Hammer2」を確認します

MCPサーバーのリストを表示するには、をクリックします。

使用例

Claude Desktop Agentのパワフルなパフォーマンスをベースにしており、非常に有用なポテンシャルを示しています。

1.「4月のクラウド費用はいくらですか?」

2.「3月よりは高いかな?もしそうなら、その理由は何?」

3.「クラウド利用とは?」

4.それを視覚化してほしい。

私のMCP Server配布Smithery.aiは、大規模言語モデル(LLM)の機能を拡張するためのModel Context Protocol(MCP)サーバーを検索、インストール、管理できる中央ハブです。開発者はSmitheryを通じて様々な外部ツールとデータをLLMに統合し、より強力なAIシステムを構築することができます。

Smithery.aiの主要機能

  • MCPサーバーレジストリ:Smitheryは4,500個以上のMCPサーバーを保有しており、これによってLLMが多様な機能を実行できるよう支援します。例えば、GitHub、Google Drive、PostgreSQL、Slack、Brave Searchなどとの統合が可能です。

1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。

  1. 画面右上の「+サーバーを追加」をクリックします。

  1. 自分の GitHub に登録されている MCP サーバープロジェクトを 1 つ選択してください。

  1. ここでは、opsnow-mcp-asset-server-no-server を選択します。

  1. 「作成」ボタンをクリックします。

  1. 情報を入力し、[保存] ボタンをクリックします。

  1. デプロイは自動的に実行されます (ただし、手動で行うこともできます)。

デプロイされた MCP サーバーの登録

1。claude_desktop_config.json ファイルを開きます。

の MCP サーバ情報を登録します クラウドコストサーバークラウドアセットサーバー

{
  "mcpServers": {
    "opsnow-mcp-cost-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-cost-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    },
    "opsnow-mcp-asset-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-asset-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    }
  }
}

将来の拡張提案:Claude MCP ベースの OpsNow 統合アーキテクチャ

  • OpsNow Desktop Application
    • Claude、ChatGPTなどMCPをサポートする様々なLLMデスクトップアプリを統合的に制御するハイブリッドデスクトップアプリケーションです。
    • 多様なMCP対応LLMサポート(Claude、GPTなど)
    • サードパーティMCPサーバー(Sequential Thinking、Githubなど)および自社OpsNow MCP Server統合サポート
    • ユーザーが直接LLM API Keyを入力して希望するモデルを接続可能
    • OpsNow ReAct(Reasoning + Acting)フレームワークを活用したChat UI内ナチュラルワークフロー提供
    OpsNow MCP Provider
    • OpsNowのアセット、コスト、接続情報などを外部LLMに提供するAPIサービス役割を果たします。
      • OpsNow Resourceベースのデータをサーブするエンドポイントサーバー
      • License Key Manager内蔵:
        • OpsNow License Keyによる認証と権限分離
        • Key別会社IDマッピング(Company-Specific Mapping)
        • 顧客別カスタマイズ情報提供(例:特定サービス範囲のみ許可)
        • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • License Keyベース制御システム
      • すべてのMCP通信はLicense Keyベースで認証され、以下のようなセキュリティ/制御機能を提供します。
        • Key別呼び出し範囲制限(例:特定アセット照会のみ可能)
        • 顧客IDベース専用データ提供
        • 複数会社および顧客に対する拡張性保証
    • 多様なMCP互換性とサードパーティ連携
      • Claude以外にもLLMベンダーのMCPサポート強化により、GPT、GeminiなどサードパーティLLMもMCPサーバーを通じて統合可能
    今回の構造設計およびPoCを通じて、ClaudeベースAIが単純な質疑応答を超えてOpsNowのFinOpsデータを直接照会し解釈するエージェントとして拡張できることを確認しました。今後この構造を通じて以下のような可能性を発見できました:
    • 企業内すべてのリソースに対するAIベース運用分析自動化
    • 顧客カスタマイズポータル + LLMエージェント融合
    • ユーザー別LLMモデル選択 → Licenseベース制御 → 自然言語インターフェース完成
    Claude MCPは今や実験的な導入段階を超え、AI運用の核心ツールとして位置づけられています。OpsNowはこれを基盤に新しいユーザーインターフェースと高度化された顧客体験を提供する方向に飛躍しようとしています。

2. OpsNow PrimeとMCPの結合

2025年上半期にリリース予定のインストール型CMPソリューションであるOpsNow PrimeにもMCP技術を融合し、AIを通じたインフラ作業の自動化を可能にし、ユーザーが簡単なコマンドだけで複雑な作業を実行できるよう支援します。

OpsNow Primeは企業のITインフラとクラウドリソースを管理するPrivate & OnPrem Cloud Management Platformですが、ここにMCPを融合してAIアシスタントがインフラ作業を簡単に支援する例をご紹介します。簡単に言えば、チャットするようにコマンドすると仮想マシン(VM)を作成したり終了したりする作業をAIが代わりに処理してくれるのです。

例えば、管理者がOpsNowのAIチャットボットに「新しい仮想サーバーを一つ作って」とリクエストすると、AIが自動的に該当仮想化プラットフォーム(API)を呼び出してVMを作成し、結果を知らせてくれます。

以前はこのようなサービスを開発するために多くの時間と労力、リソースが必要でしたが、オープン標準であるMCPを通じれば簡単で便利に連携して、より効率的にサービスを提供できるようになりました。

OpsNowチームは自社MCPサーバーを構築し、内部システム(例:仮想化ハイパーバイザーのAPI)をMCP規格で統合しました。そしてAnthropic Claudeのような LLMをOpsNowに連携してMCPクライアントとして活用しました。その結果、Claudeのような AIモデルがOpsNow MCPサーバーを通じてProxmoxやVMwareのようなハイパーバイザーに接続し、ユーザーのコマンドを実際のインフラ作業として実行できるようになりました。

OpsNow内部にはMCP Providerというモジュールもありますが、これは複数種類のハイパーバイザーとOpsNow自体のAPIを接続してくれるアダプター役割を果たします。つまり、AIが「VMを削除して」と言えば、MCP Providerが該当VMがあるプラットフォームを特定して適切なコマンド(API呼び出し)を実行し、結果を再びMCPを通じてAIに伝達してくれます。おかげでユーザーはわざわざコンソールに入る必要なく、AIに口頭で指示するだけでインフラを制御することができます。

Claude DesktopでOpsNow Prime MCPサーバーを活用してProxmoxのVMを簡単に作成/アクティブ化し、OpsNow Primeで管理される事例をご紹介いたします。

MCPサーバーの学習から作成、構動までのプロセスについての説明です。MCPサーバーの学習はCursorを活用しました。nodeを活用するサーバーで、基本構造はGitHubのMCPリンクから取得できます。

まず基本構造を活用するため、MCPサーバー例のgit repoからcloneでソースをダウンロードし、Postmanのcollectionファイルとtsファイルを通じて学習を進めた後、OpsNow Prime MCPサーバーを作成しました。

ポストマンコレクションファイル

JavaScript

"item":[
   {
      "name":"Proxmox",
      "item":[
         {
            "name":"VM list view(PRX-IF-VM-003)",
            "request":{
               "auth":{
                  "type":"bearer",
                  ... skip
               },
               ... skip
            },
            "response":[
               {
                  "name":"VM list view(PRX-IF-VM-003)",
                  ... skip
                  ],
... skip

route.ts

JavaScript

import { Express, Request, Response } from 'express';
import { ProxmoxApiManager } from './proxmox/proxmoxApiManager';
import { getLogger } from './utils/logger';

const logger = getLogger('Routes');
const proxmoxManager = ProxmoxApiManager.getInstance();

export const setupRoutes = (app: Express) => {
  // Default health check endpoint
  app.get('/api/health', (req: Request, res: Response) => {
    res.status(200).json({ status: 'ok', message: 'Prime MCP server is operating normally.' });
  });

  // Node related endpoints
  app.get('/api/nodes', async (req: Request, res: Response) => {
    try {
      const result = await proxmoxManager.getNodes();
      res.status(200).json(result);
    } catch (error) {
      logger.error('Node list lookup failed:', error);
      res.status(500).json({ error: 'An error occurred trying to query the node list.' });
    }
  });

// ....(skip)

学習を進めた後、OpsNow Prime MCPサーバーに学習された結果としてソースファイルが生成され、これをビルドするために以下のようにコマンドを入力します。現在のnodeバージョンは20以上を使用しました。

サーバー実行に必要なモジュールをインストールし、ビルドを進めた後、サーバーが正常に稼働するかを確認します。OpsNow Prime MCPサーバーの場合、LLMモデル別に差異が存在しましたが、精度を高めるために再学習とテストを行いました。

## Check node version
node -version

## build a project
npm install & npm run build

## Check project normal startup
node dist/index.js

CursorでOpsNow Prime MCPサーバーテストを実行するよう指示すると、API呼び出しテストが進行され、問題が発生すれば自動的に修正します。エラーがないことを確認し、今作成したMCPサーバーを登録するために、Cursor上部の設定ボタンを押して登録を進めます。

左側の「MCP」をクリックして MCP 管理画面に移動します。

上の画面で「新規グローバル MCP サーバーの追加」をクリックし、ビルド後に生成される index.js ファイルの絶対パスを「args」セクションに指定します。

その後、CursorまたはClaudeを通じてサーバー生成およびインスタンス情報呼び出しコマンドを実行すると、関連APIを呼び出して要求された作業を実行します。この過程で、APIの定義または認証情報が正確でなければ複数回エラーが発生する可能性があり、Cursorを通じて自動的に再学習および再ビルドプロセスを経ることになります。

CursorでもこのMCPサーバーを活用できますが、MCPサーバーが実際にクロスプラットフォームでも正常に動作するかをテストする目的で、生成されたMCPサーバーをClaude Desktopで機能テストを実施しました。ClaudeでMCPを登録する方法は以下の通りです。

これで、学習した MCP サーバーを使用してリソースを管理する準備が整いました。クロード・デスクトップに「プライム・プロクスモックスで仮想マシンを1つ作成」と入力するだけで、OpsNow Prime MCPサーバーと連携して仮想マシンを作成することになります。

画面のようにすぐ簡単にProxmoxにVMが作成されることを確認でき、OpsNow Primeでも生成されたVMと状態を確認することができます。注目すべき点は、進行途中でストレージ接続エラーなどが発生しても、他の可能な方案を自ら判断してVM作成を問題なく完了したことです。

生成された画面はProxmoxコンソールでもリアルタイムで照会可能で、OpsNow PrimeのVM管理メニューでもリアルタイムで生成されたVMと状態を確認することができます。

それでは、作成したリソースを中止/削除しましょう。Claude Desktop で「先ほど作成した VM を削除する」と入力すると、作成した VM を停止して削除する API が自動的に呼び出されます。

Proxmoxコンソールでリアルタイムで削除されたことを確認できます。

OpsNowのMCP活用は、すでに一部機能を通じて実証されています。現在、Proxmox仮想化環境を対象にVM作成、照会、削除などの機能をMCPを通じて実装し、開発およびテストを完了しました。

続いてVM終了などの追加機能も拡張していっています。例えば、従来は管理者がProxmoxウェブインターフェースに入って手動でVMを作成していたところを、今ではOpsNow AIアシスタントにコマンドするだけで同じ作業が自動化されるのです。

興味深い点は、このような機能が特定の仮想化製品に限定されず、VMware、OpenStackなどに簡単に汎用化できることです。OpsNowチームが一度MCP標準に合わせて接続を実装したため、新しいプラットフォームを接続することも比較的容易です。また、先述したように、閉域網で運用されるデータセンター環境でもオープンソースLLMとMCPサーバーを配備すれば、このようなAI機能を同様に提供することができます。

また、OpsNow PrimeはOn-Premiseインフラ運用の観点から、リソースの生成/削除などの管理を超えて、未使用/異常リソースに対する検知および自動化対処、リソース最適化自動化、システム障害に対する自動化対処、ITSM(リソース申請/承認)に関する部分にもMCPサーバーをサポートするロードマップを持って機能開発を進めています。

OpsNowの事例で見ることができるように、MCPを導入すればAIがデータセンターの手足の役割を果たすことができるようになり、インフラ運用に新しい自動化の風を巻き起こすことが期待されます。

_______________________________________________________________________________________________________________________________________

このように、AnthropicのMCPは孤立したAIに世界の情報をもたらす万能コネクターとして登場し、徐々にその活用範囲を広げています。初期段階ではありますが、業界の多くの関心を集めており、OpsNowのような事例を通じて現実的な利点も続々と実証されています。今後MCPがどれだけ迅速に標準として定着し、私たちの日常のサービスに溶け込んでいくか、見守る価値のある部分です。データとAIをつなぐ「MCP時代」が着実に近づいています。

An architecture image showing how Claude is integrated into OpsNow through the AI agent standard MCP.

AIエージェントのスタンダード、MCPでClaudeとOpsNowを連携する

OpsNow Team
April 9, 2025

MCP登場の背景:なぜAIに新しい接続規格が必要なのか?

図:MCP導入前(左)と導入後(右)の比較。標準がなければ、各AIモデルがSlack、Google Drive、GitHubなどのツールごとにそれぞれ独自の方式(Unique API)で接続する必要があります。MCPを導入すると、一つの標準化されたインターフェース(MCP)を通じて複数のツールにアクセスでき、統合がはるかに簡単になります。

人工知能ベースのチャットボットやアシスタントと呼ばれる大規模言語モデル(LLM)は賢いものの、しばしば外部世界から隔離されているという限界を持っています。簡単に言えば、どんなに賢いAIでも、インターネットや社内データベースなど必要なデータに直接アクセスできなければ限界があることは避けられません。例えば、現在のAIに「弊社の売上データでグラフを作成して」と依頼しても、AIはそのデータに直接アクセスする方法がないため困ってしまうというわけです。

このため、AIを外部ツールやデータソースと接続しようとする試みは以前から多くありました。しかし従来の方式は、各AIと各ツールを個別にカスタムコードで繋ぎ合わせる作業であり、新しいツールを接続するたびに複雑な開発が必要でした。まるで昔、プリンターやキーボードごとに異なるケーブルを使わなければならなかったように、AIとツールの間にもそれぞれ異なる「規格」が乱立していたのです。

Anthropicが提案したMCP(Model Context Protocol)は、このような問題を解決するために登場したオープン標準プロトコルです。一言で言えば**「AI用USB-Cポート」と例えることができます。USB-Cが様々な機器を一つの統一されたポートで接続してくれるように、MCPはAIアプリケーションと各種外部システムを一つの統一された方式で繋ぐ規格です。これによりAIとツールを接続する方式を標準化**して重複作業を減らし、異なるシステム間の連携をより簡単にすることができます。

例えば、3つのAIアプリと3つのツールを連携させる必要がある場合、MCPなしでそれぞれを接続するには3×3、つまり9つの別々の連携を作成する必要があります。しかしMCPを導入すれば3+3、つまり6つの標準接続だけを構成すれば済みます。このようにMCPはAIとツール間の接続を効率化し、より良い回答のためにAIが必要なデータを簡単に活用できるよう支援します。

最近の動向:Claudeと業界のMCP活用の動き

AIモデルを外部ツールと連携させようとする流れは、Anthropicだけの話ではありません。2023年からOpenAIのChatGPTもプラグイン関数呼び出し機能を通じて外部ウェブサイト検索、計算機使用などの連携を図ってきました。マイクロソフトもBingにChatGPTを組み込んでウェブ検索機能を提供するなど、複数の企業がAIを実用的に活用するためにツール接続を研究しています。

そんな中、AnthropicはMCPを2024年11月に公開し、業界標準として定着し得るアプローチを提示しました。特にAnthropicのAIアシスタントClaudeにはMCPクライアント機能が内蔵されており、Claudeを活用するアプリケーションは簡単にMCPサーバーと接続できます。例えば、Claude用デスクトップアプリでは数クリックだけで様々なMCPサーバー(Google Drive、Slack、GitHubなどのコネクター)を追加し、Claudeが該当サービスの情報を取得できるようにすることが可能です。

MCPが公開されると、複数の開発ツールやサービスが競ってこれをサポートし始めました。実際に発表直後にGitHubのCopilot、開発用IDEのCursorなど様々なツールがMCP連携を発表しました。また、Zedエディター、Replit、Codeium、Sourcegraphなどの企業も自社プラットフォームにMCPを組み込み、AIアシスタントがコード作業時のコンテキストをより良く把握できるよう改善しています。

要約すると、AIモデルと外部システムの接続は業界の大きな流れであり、MCPはその中でもオープン標準として急速に注目を集めている方法です。一部の専門家は、MCPが事実上2023-2025年間の「AIエージェント標準」競争の有力候補になるほどのモメンタムを得たと評価することもあります。それほど多くの場所でMCPを採用したり類似の試みをしながら、AIをより有用にする実験が活発に行われています。

MCPの強み:多様なLLMをサポートし、クローズドネットワークで

MCPが注目される理由は様々な利点を持っているからです。まずAIとツール接続の標準化という最大のメリットがあります。開発者の立場では、新しいAIサービスが登場してもMCP規格に合わせて一度接続しておけば複数の場所で再利用できるため、開発生産性が向上します。また、コード実装が一貫して行われるためサービス安定性と保守性も向上します。ユーザーの立場でも、様々なアプリケーションでAI機能を使用する際に体験が一貫して続く可能性が高まります。

二つ目は、特定のAIモデルやベンダーに依存しない柔軟性です。MCP自体はある特定のAIモデル専用ではなく、複数種類のLLMを包括する汎用プロトコルです。例えば、AnthropicのClaudeはもちろん、OpenAIのGPTシリーズ、あるいはオープンソースLLMまでもMCP規格に合わせれば接続して活用できます。実際にMCPを活用すればLlama 2やDeepSeekのようなオープンソースベースのLLMも使用でき、特定企業のAPIに依存する必要がありません。これは企業内部で完全に閉域網(インターネットが遮断された内部網)環境を使用していても、内部にインストールしたオープンソースAIモデルとMCPコネクターを通じてAIアシスタント機能を提供できるということを意味します。インターネットが使えない環境でも標準さえ合えばAIと各種システムを連携できるため、セキュリティ上外部接続が困難な場合でもAI導入が可能になるのです。

三つ目は、多様なインフラ環境を包括できるという利点です。MCPはクラウドでもオンプレミスでも問わず使用でき、その上で動作するあらゆる種類のハイパーバイザー(仮想化プラットフォーム)をサポートします。例えば、VMware、Proxmox、OpenStackのように異なる仮想化ソリューションがあっても、MCPを通じて一括してAIが制御できます。このようにインフラ依存性なく汎用的に動作するため、企業の立場では既存システムを大幅に変更することなくMCPを導入してAI機能を付加できます。

その他にもMCPは双方向通信を念頭に置いた構造で、AIがツールに質問を送るだけでなく、逆にイベントが発生すればAIが通知を受け取ることも可能です。またセキュリティ面でもMCPサーバーを通じてアクセス権限を細分化し制御できるため、AIに必要な情報のみを安全に提供する設計が可能です。

まとめると、MCPは柔軟性、汎用性、セキュリティ性の面ですべて考慮された新しい標準と言えます。

OpsNow ユースケース:MCPによる会話型仮想マシン管理

OpsNowでは、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。

  1. OpsNow FinOpsとMCPの結合

    • Third Parties MCP Server
      • 既に公開されている様々な外部MCPサーバーと接続され、機能を拡張できます。
    • LLM Vendor Desktop Application (Claude)
      • ClaudeはAnthropicの高性能LLMで、様々なMCPサーバーと接続され、ユーザーのコマンドを自然言語で処理します。Claudeはユーザーのリクエストを受けて適切なMCPサーバーを呼び出し、外部システムとの相互作用を主導します。
    • OpsNow MCP Server
      • ClaudeはOpsNowのクラウドコストおよびアセット情報にアクセスするため、別途構築した2つのMCPサーバーと接続されます。
        • OpsNow Cost MCP Server:OpsNowのクラウドコスト情報を照会します。
        • OpsNow Asset MCP Server:使用中のアセット(サーバー、ネットワーク、DBなど)に関する情報を提供する役割を担います。
    • OpsNow MCP Provider
      • MCPサーバーは内部的にOpsNow MCP Providerと接続されています。このコンポーネントはClaude MCPのリクエストを実際のOpsNow APIにブリッジする役割を果たします。
    • OpsNow Resources
      • 実際のデータを提供する主体はOpsNow内部システム(OpsNow Resources)です。
    既存のFinOpsのサービスやリソースをOpsNow Resourcesとする際、緑色の部分を簡単に開発しながらMCPの活用性を見てみましょう。現在は実際のデータ環境ではなく、テスト目的のダミーデータによる動作を実行いたします。

OpsNow MCP Provider

このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:

FastAPIベースの非同期ウェブサーバー

  • アセット照会用APIクライアント(asset_api_client.py)
  • コスト照会用APIクライアント(cost_api_client.py)
  • MCPサーバーのリクエストを処理するメインアプリ(main.py)

main.py: MCP リクエストを処理するためのエントリポイント

Python

from fastapi import FastAPI
from asset_api_client import get_assets
from cost_api_client import get_costs

app = FastAPI()

@app.get("/health")
async def health_check():
    return {"status": "ok"}

@app.get("/assets")
async def get_assets_data():
    return await get_assets()

@app.get("/costs")
async def get_costs_data():
    return await get_costs()
  • /assets: Claude がアセットリストをリクエストしたときに呼び出される API エンドポイント
  • /cost: Claude がコストデータをリクエストしたときに呼び出される API エンドポイント
  • /health: MCP サーバーのステータスを確認するために使用されるヘルスチェックエンドポイント

cost_api_client.py: コストデータを提供

Python

async def get_costs():
    return {
        "costs": [
            {
                "cloud_provider": "<CSP_NAME>",  # Example: AWS, Azure, GCP, etc.
                "monthly_costs": [
                    {
                        "month": "<YYYY-MM>",  # Example: 2025-03
                        "total": "<TOTAL_COST>",
                        "by_service": {
                            "<SERVICE_NAME_1>": "<COST_1>",
                            "<SERVICE_NAME_2>": "<COST_2>",
                            # ...
                        }
                    },
                    # ...Multiple monthly cost data
                ]
            },
            # ...Multiple CSP
        ]
    }

  • 実際の OpsNow API 統合ではなく、ダミーデータに基づいてコストデータを提供します。
  • クロードが「今月の費用はいくらですか?」などのリクエストを受け取ったとき、このデータは返却されます。

asset_api_client.py: アセットデータを提供

Python

async def get_assets():
    return {
        "AWS": [
            {
                "id": "<RESOURCE_ID>",
                "type": "<RESOURCE_TYPE>",  # Example: EC2, RDS 
                "region": "<REGION_CODE>",
                "status": "<STATUS>"        # Example: running, stopped 
            },
            # ...Multiple Assets
        ]
    }

  • 実際のOpsNow API統合ではなく、ダミーデータに基づくアセットリストを提供します。
  • クロードが「現在使用されているリソースは何ですか?」などのリクエストを受け取ったとき、このデータは返却されます。

実行方法

# Default Installation
pip install -r requirements.txt

# 서버 실행
python main.py

フルソースコード: オプスノウ-MCP-プロバイダー

OpsNow MCP Server

OpsNow Cost MCP Server

これからClaude MCP連携構造における「OpsNow Cost MCP Server」役割を担う部分を詳しく見てみましょう。該当コンポーネントは、Claudeデスクトップアプリケーションからのリクエストを受け取り、OpsNowコストデータをMCPプロトコルで応答するサーバーです。

この部分を始める前に、以下のドキュメントを参照することを強く推奨します。

キーテクノロジー

  • Node.js + TypeScript
  • @modelcontextprotocol /sdk: クロード MCP サーバーを開発するための公式SDK
  • ノードフェッチ:プロバイダー API との通信に使用
  • zod: スキーマ検証ライブラリ

src/index.ts: MCP サーバの初期化

JavaScript

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

// Create server instance
const server = new McpServer({
  name: "cloud-cost",
  version: "1.0.0",
});

入力スキーマの定義とツールの登録

JavaScript

server.tool(
  "get-cost",
  "Get cloud cost summary for multiple vendors and months",
  {
    vendors: z.array(z.string()).optional().describe("List of cloud vendor names"),
    months: z.array(z.string()).optional().describe("List of months in YYYY-MM format"),
  },
  async ({ vendors, months }) => {
    ...
  }
);


プロバイダー API からコストデータを取得

JavaScript

async function readCostData(): Promise<any | null> {
  const response = await fetch('http://localhost:8000/api/v1/costs/info');
  ...
  return data;
}

ビルド

# Default Installation
npm install

# Build
npm run build

フルソースコード: opsnow-mcp-コストサーバー

OpsNow アセット MCP サーバー

構造はOpsNow Cost MCPサーバーと同じなので、説明は省略します。

フルソースコード: opsnow-mcp-アセットサーバー

クロード・デスクトップでの使い方

環境設定

1。Claude デスクトップ設定 > 開発者 > 設定の編集

2。claude_desktop_config.json ファイルを開きます。

クラウドコストサーバーとクラウドアセットサーバーの設定を登録する

JavaScript

{
  "mcpServers": {
   "cloud-cost-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-cost-server/build/index.js"
      ]
    },
    "cloud-asset-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-asset-server/build/index.js"
      ]
    }
  }
}

3。登録が成功したことを確認する

プロンプト入力フィールドで「Hammer2」を確認します

MCPサーバーのリストを表示するには、をクリックします。

使用例

Claude Desktop Agentのパワフルなパフォーマンスをベースにしており、非常に有用なポテンシャルを示しています。

1.「4月のクラウド費用はいくらですか?」

2.「3月よりは高いかな?もしそうなら、その理由は何?」

3.「クラウド利用とは?」

4.それを視覚化してほしい。

私のMCP Server配布Smithery.aiは、大規模言語モデル(LLM)の機能を拡張するためのModel Context Protocol(MCP)サーバーを検索、インストール、管理できる中央ハブです。開発者はSmitheryを通じて様々な外部ツールとデータをLLMに統合し、より強力なAIシステムを構築することができます。

Smithery.aiの主要機能

  • MCPサーバーレジストリ:Smitheryは4,500個以上のMCPサーバーを保有しており、これによってLLMが多様な機能を実行できるよう支援します。例えば、GitHub、Google Drive、PostgreSQL、Slack、Brave Searchなどとの統合が可能です。

1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。

  1. 画面右上の「+サーバーを追加」をクリックします。

  1. 自分の GitHub に登録されている MCP サーバープロジェクトを 1 つ選択してください。

  1. ここでは、opsnow-mcp-asset-server-no-server を選択します。

  1. 「作成」ボタンをクリックします。

  1. 情報を入力し、[保存] ボタンをクリックします。

  1. デプロイは自動的に実行されます (ただし、手動で行うこともできます)。

デプロイされた MCP サーバーの登録

1。claude_desktop_config.json ファイルを開きます。

の MCP サーバ情報を登録します クラウドコストサーバークラウドアセットサーバー

{
  "mcpServers": {
    "opsnow-mcp-cost-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-cost-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    },
    "opsnow-mcp-asset-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-asset-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    }
  }
}

将来の拡張提案:Claude MCP ベースの OpsNow 統合アーキテクチャ

  • OpsNow Desktop Application
    • Claude、ChatGPTなどMCPをサポートする様々なLLMデスクトップアプリを統合的に制御するハイブリッドデスクトップアプリケーションです。
    • 多様なMCP対応LLMサポート(Claude、GPTなど)
    • サードパーティMCPサーバー(Sequential Thinking、Githubなど)および自社OpsNow MCP Server統合サポート
    • ユーザーが直接LLM API Keyを入力して希望するモデルを接続可能
    • OpsNow ReAct(Reasoning + Acting)フレームワークを活用したChat UI内ナチュラルワークフロー提供
    OpsNow MCP Provider
    • OpsNowのアセット、コスト、接続情報などを外部LLMに提供するAPIサービス役割を果たします。
      • OpsNow Resourceベースのデータをサーブするエンドポイントサーバー
      • License Key Manager内蔵:
        • OpsNow License Keyによる認証と権限分離
        • Key別会社IDマッピング(Company-Specific Mapping)
        • 顧客別カスタマイズ情報提供(例:特定サービス範囲のみ許可)
        • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • License Keyベース制御システム
      • すべてのMCP通信はLicense Keyベースで認証され、以下のようなセキュリティ/制御機能を提供します。
        • Key別呼び出し範囲制限(例:特定アセット照会のみ可能)
        • 顧客IDベース専用データ提供
        • 複数会社および顧客に対する拡張性保証
    • 多様なMCP互換性とサードパーティ連携
      • Claude以外にもLLMベンダーのMCPサポート強化により、GPT、GeminiなどサードパーティLLMもMCPサーバーを通じて統合可能
    今回の構造設計およびPoCを通じて、ClaudeベースAIが単純な質疑応答を超えてOpsNowのFinOpsデータを直接照会し解釈するエージェントとして拡張できることを確認しました。今後この構造を通じて以下のような可能性を発見できました:
    • 企業内すべてのリソースに対するAIベース運用分析自動化
    • 顧客カスタマイズポータル + LLMエージェント融合
    • ユーザー別LLMモデル選択 → Licenseベース制御 → 自然言語インターフェース完成
    Claude MCPは今や実験的な導入段階を超え、AI運用の核心ツールとして位置づけられています。OpsNowはこれを基盤に新しいユーザーインターフェースと高度化された顧客体験を提供する方向に飛躍しようとしています。

2. OpsNow PrimeとMCPの結合

2025年上半期にリリース予定のインストール型CMPソリューションであるOpsNow PrimeにもMCP技術を融合し、AIを通じたインフラ作業の自動化を可能にし、ユーザーが簡単なコマンドだけで複雑な作業を実行できるよう支援します。

OpsNow Primeは企業のITインフラとクラウドリソースを管理するPrivate & OnPrem Cloud Management Platformですが、ここにMCPを融合してAIアシスタントがインフラ作業を簡単に支援する例をご紹介します。簡単に言えば、チャットするようにコマンドすると仮想マシン(VM)を作成したり終了したりする作業をAIが代わりに処理してくれるのです。

例えば、管理者がOpsNowのAIチャットボットに「新しい仮想サーバーを一つ作って」とリクエストすると、AIが自動的に該当仮想化プラットフォーム(API)を呼び出してVMを作成し、結果を知らせてくれます。

以前はこのようなサービスを開発するために多くの時間と労力、リソースが必要でしたが、オープン標準であるMCPを通じれば簡単で便利に連携して、より効率的にサービスを提供できるようになりました。

OpsNowチームは自社MCPサーバーを構築し、内部システム(例:仮想化ハイパーバイザーのAPI)をMCP規格で統合しました。そしてAnthropic Claudeのような LLMをOpsNowに連携してMCPクライアントとして活用しました。その結果、Claudeのような AIモデルがOpsNow MCPサーバーを通じてProxmoxやVMwareのようなハイパーバイザーに接続し、ユーザーのコマンドを実際のインフラ作業として実行できるようになりました。

OpsNow内部にはMCP Providerというモジュールもありますが、これは複数種類のハイパーバイザーとOpsNow自体のAPIを接続してくれるアダプター役割を果たします。つまり、AIが「VMを削除して」と言えば、MCP Providerが該当VMがあるプラットフォームを特定して適切なコマンド(API呼び出し)を実行し、結果を再びMCPを通じてAIに伝達してくれます。おかげでユーザーはわざわざコンソールに入る必要なく、AIに口頭で指示するだけでインフラを制御することができます。

Claude DesktopでOpsNow Prime MCPサーバーを活用してProxmoxのVMを簡単に作成/アクティブ化し、OpsNow Primeで管理される事例をご紹介いたします。

MCPサーバーの学習から作成、構動までのプロセスについての説明です。MCPサーバーの学習はCursorを活用しました。nodeを活用するサーバーで、基本構造はGitHubのMCPリンクから取得できます。

まず基本構造を活用するため、MCPサーバー例のgit repoからcloneでソースをダウンロードし、Postmanのcollectionファイルとtsファイルを通じて学習を進めた後、OpsNow Prime MCPサーバーを作成しました。

ポストマンコレクションファイル

JavaScript

"item":[
   {
      "name":"Proxmox",
      "item":[
         {
            "name":"VM list view(PRX-IF-VM-003)",
            "request":{
               "auth":{
                  "type":"bearer",
                  ... skip
               },
               ... skip
            },
            "response":[
               {
                  "name":"VM list view(PRX-IF-VM-003)",
                  ... skip
                  ],
... skip

route.ts

JavaScript

import { Express, Request, Response } from 'express';
import { ProxmoxApiManager } from './proxmox/proxmoxApiManager';
import { getLogger } from './utils/logger';

const logger = getLogger('Routes');
const proxmoxManager = ProxmoxApiManager.getInstance();

export const setupRoutes = (app: Express) => {
  // Default health check endpoint
  app.get('/api/health', (req: Request, res: Response) => {
    res.status(200).json({ status: 'ok', message: 'Prime MCP server is operating normally.' });
  });

  // Node related endpoints
  app.get('/api/nodes', async (req: Request, res: Response) => {
    try {
      const result = await proxmoxManager.getNodes();
      res.status(200).json(result);
    } catch (error) {
      logger.error('Node list lookup failed:', error);
      res.status(500).json({ error: 'An error occurred trying to query the node list.' });
    }
  });

// ....(skip)

学習を進めた後、OpsNow Prime MCPサーバーに学習された結果としてソースファイルが生成され、これをビルドするために以下のようにコマンドを入力します。現在のnodeバージョンは20以上を使用しました。

サーバー実行に必要なモジュールをインストールし、ビルドを進めた後、サーバーが正常に稼働するかを確認します。OpsNow Prime MCPサーバーの場合、LLMモデル別に差異が存在しましたが、精度を高めるために再学習とテストを行いました。

## Check node version
node -version

## build a project
npm install & npm run build

## Check project normal startup
node dist/index.js

CursorでOpsNow Prime MCPサーバーテストを実行するよう指示すると、API呼び出しテストが進行され、問題が発生すれば自動的に修正します。エラーがないことを確認し、今作成したMCPサーバーを登録するために、Cursor上部の設定ボタンを押して登録を進めます。

左側の「MCP」をクリックして MCP 管理画面に移動します。

上の画面で「新規グローバル MCP サーバーの追加」をクリックし、ビルド後に生成される index.js ファイルの絶対パスを「args」セクションに指定します。

その後、CursorまたはClaudeを通じてサーバー生成およびインスタンス情報呼び出しコマンドを実行すると、関連APIを呼び出して要求された作業を実行します。この過程で、APIの定義または認証情報が正確でなければ複数回エラーが発生する可能性があり、Cursorを通じて自動的に再学習および再ビルドプロセスを経ることになります。

CursorでもこのMCPサーバーを活用できますが、MCPサーバーが実際にクロスプラットフォームでも正常に動作するかをテストする目的で、生成されたMCPサーバーをClaude Desktopで機能テストを実施しました。ClaudeでMCPを登録する方法は以下の通りです。

これで、学習した MCP サーバーを使用してリソースを管理する準備が整いました。クロード・デスクトップに「プライム・プロクスモックスで仮想マシンを1つ作成」と入力するだけで、OpsNow Prime MCPサーバーと連携して仮想マシンを作成することになります。

画面のようにすぐ簡単にProxmoxにVMが作成されることを確認でき、OpsNow Primeでも生成されたVMと状態を確認することができます。注目すべき点は、進行途中でストレージ接続エラーなどが発生しても、他の可能な方案を自ら判断してVM作成を問題なく完了したことです。

生成された画面はProxmoxコンソールでもリアルタイムで照会可能で、OpsNow PrimeのVM管理メニューでもリアルタイムで生成されたVMと状態を確認することができます。

それでは、作成したリソースを中止/削除しましょう。Claude Desktop で「先ほど作成した VM を削除する」と入力すると、作成した VM を停止して削除する API が自動的に呼び出されます。

Proxmoxコンソールでリアルタイムで削除されたことを確認できます。

OpsNowのMCP活用は、すでに一部機能を通じて実証されています。現在、Proxmox仮想化環境を対象にVM作成、照会、削除などの機能をMCPを通じて実装し、開発およびテストを完了しました。

続いてVM終了などの追加機能も拡張していっています。例えば、従来は管理者がProxmoxウェブインターフェースに入って手動でVMを作成していたところを、今ではOpsNow AIアシスタントにコマンドするだけで同じ作業が自動化されるのです。

興味深い点は、このような機能が特定の仮想化製品に限定されず、VMware、OpenStackなどに簡単に汎用化できることです。OpsNowチームが一度MCP標準に合わせて接続を実装したため、新しいプラットフォームを接続することも比較的容易です。また、先述したように、閉域網で運用されるデータセンター環境でもオープンソースLLMとMCPサーバーを配備すれば、このようなAI機能を同様に提供することができます。

また、OpsNow PrimeはOn-Premiseインフラ運用の観点から、リソースの生成/削除などの管理を超えて、未使用/異常リソースに対する検知および自動化対処、リソース最適化自動化、システム障害に対する自動化対処、ITSM(リソース申請/承認)に関する部分にもMCPサーバーをサポートするロードマップを持って機能開発を進めています。

OpsNowの事例で見ることができるように、MCPを導入すればAIがデータセンターの手足の役割を果たすことができるようになり、インフラ運用に新しい自動化の風を巻き起こすことが期待されます。

_______________________________________________________________________________________________________________________________________

このように、AnthropicのMCPは孤立したAIに世界の情報をもたらす万能コネクターとして登場し、徐々にその活用範囲を広げています。初期段階ではありますが、業界の多くの関心を集めており、OpsNowのような事例を通じて現実的な利点も続々と実証されています。今後MCPがどれだけ迅速に標準として定着し、私たちの日常のサービスに溶け込んでいくか、見守る価値のある部分です。データとAIをつなぐ「MCP時代」が着実に近づいています。

AIエージェントのスタンダード、MCPでClaudeとOpsNowを連携する

MCP登場の背景:なぜAIに新しい接続規格が必要なのか?

図:MCP導入前(左)と導入後(右)の比較。標準がなければ、各AIモデルがSlack、Google Drive、GitHubなどのツールごとにそれぞれ独自の方式(Unique API)で接続する必要があります。MCPを導入すると、一つの標準化されたインターフェース(MCP)を通じて複数のツールにアクセスでき、統合がはるかに簡単になります。

人工知能ベースのチャットボットやアシスタントと呼ばれる大規模言語モデル(LLM)は賢いものの、しばしば外部世界から隔離されているという限界を持っています。簡単に言えば、どんなに賢いAIでも、インターネットや社内データベースなど必要なデータに直接アクセスできなければ限界があることは避けられません。例えば、現在のAIに「弊社の売上データでグラフを作成して」と依頼しても、AIはそのデータに直接アクセスする方法がないため困ってしまうというわけです。

このため、AIを外部ツールやデータソースと接続しようとする試みは以前から多くありました。しかし従来の方式は、各AIと各ツールを個別にカスタムコードで繋ぎ合わせる作業であり、新しいツールを接続するたびに複雑な開発が必要でした。まるで昔、プリンターやキーボードごとに異なるケーブルを使わなければならなかったように、AIとツールの間にもそれぞれ異なる「規格」が乱立していたのです。

Anthropicが提案したMCP(Model Context Protocol)は、このような問題を解決するために登場したオープン標準プロトコルです。一言で言えば**「AI用USB-Cポート」と例えることができます。USB-Cが様々な機器を一つの統一されたポートで接続してくれるように、MCPはAIアプリケーションと各種外部システムを一つの統一された方式で繋ぐ規格です。これによりAIとツールを接続する方式を標準化**して重複作業を減らし、異なるシステム間の連携をより簡単にすることができます。

例えば、3つのAIアプリと3つのツールを連携させる必要がある場合、MCPなしでそれぞれを接続するには3×3、つまり9つの別々の連携を作成する必要があります。しかしMCPを導入すれば3+3、つまり6つの標準接続だけを構成すれば済みます。このようにMCPはAIとツール間の接続を効率化し、より良い回答のためにAIが必要なデータを簡単に活用できるよう支援します。

最近の動向:Claudeと業界のMCP活用の動き

AIモデルを外部ツールと連携させようとする流れは、Anthropicだけの話ではありません。2023年からOpenAIのChatGPTもプラグイン関数呼び出し機能を通じて外部ウェブサイト検索、計算機使用などの連携を図ってきました。マイクロソフトもBingにChatGPTを組み込んでウェブ検索機能を提供するなど、複数の企業がAIを実用的に活用するためにツール接続を研究しています。

そんな中、AnthropicはMCPを2024年11月に公開し、業界標準として定着し得るアプローチを提示しました。特にAnthropicのAIアシスタントClaudeにはMCPクライアント機能が内蔵されており、Claudeを活用するアプリケーションは簡単にMCPサーバーと接続できます。例えば、Claude用デスクトップアプリでは数クリックだけで様々なMCPサーバー(Google Drive、Slack、GitHubなどのコネクター)を追加し、Claudeが該当サービスの情報を取得できるようにすることが可能です。

MCPが公開されると、複数の開発ツールやサービスが競ってこれをサポートし始めました。実際に発表直後にGitHubのCopilot、開発用IDEのCursorなど様々なツールがMCP連携を発表しました。また、Zedエディター、Replit、Codeium、Sourcegraphなどの企業も自社プラットフォームにMCPを組み込み、AIアシスタントがコード作業時のコンテキストをより良く把握できるよう改善しています。

要約すると、AIモデルと外部システムの接続は業界の大きな流れであり、MCPはその中でもオープン標準として急速に注目を集めている方法です。一部の専門家は、MCPが事実上2023-2025年間の「AIエージェント標準」競争の有力候補になるほどのモメンタムを得たと評価することもあります。それほど多くの場所でMCPを採用したり類似の試みをしながら、AIをより有用にする実験が活発に行われています。

MCPの強み:多様なLLMをサポートし、クローズドネットワークで

MCPが注目される理由は様々な利点を持っているからです。まずAIとツール接続の標準化という最大のメリットがあります。開発者の立場では、新しいAIサービスが登場してもMCP規格に合わせて一度接続しておけば複数の場所で再利用できるため、開発生産性が向上します。また、コード実装が一貫して行われるためサービス安定性と保守性も向上します。ユーザーの立場でも、様々なアプリケーションでAI機能を使用する際に体験が一貫して続く可能性が高まります。

二つ目は、特定のAIモデルやベンダーに依存しない柔軟性です。MCP自体はある特定のAIモデル専用ではなく、複数種類のLLMを包括する汎用プロトコルです。例えば、AnthropicのClaudeはもちろん、OpenAIのGPTシリーズ、あるいはオープンソースLLMまでもMCP規格に合わせれば接続して活用できます。実際にMCPを活用すればLlama 2やDeepSeekのようなオープンソースベースのLLMも使用でき、特定企業のAPIに依存する必要がありません。これは企業内部で完全に閉域網(インターネットが遮断された内部網)環境を使用していても、内部にインストールしたオープンソースAIモデルとMCPコネクターを通じてAIアシスタント機能を提供できるということを意味します。インターネットが使えない環境でも標準さえ合えばAIと各種システムを連携できるため、セキュリティ上外部接続が困難な場合でもAI導入が可能になるのです。

三つ目は、多様なインフラ環境を包括できるという利点です。MCPはクラウドでもオンプレミスでも問わず使用でき、その上で動作するあらゆる種類のハイパーバイザー(仮想化プラットフォーム)をサポートします。例えば、VMware、Proxmox、OpenStackのように異なる仮想化ソリューションがあっても、MCPを通じて一括してAIが制御できます。このようにインフラ依存性なく汎用的に動作するため、企業の立場では既存システムを大幅に変更することなくMCPを導入してAI機能を付加できます。

その他にもMCPは双方向通信を念頭に置いた構造で、AIがツールに質問を送るだけでなく、逆にイベントが発生すればAIが通知を受け取ることも可能です。またセキュリティ面でもMCPサーバーを通じてアクセス権限を細分化し制御できるため、AIに必要な情報のみを安全に提供する設計が可能です。

まとめると、MCPは柔軟性、汎用性、セキュリティ性の面ですべて考慮された新しい標準と言えます。

OpsNow ユースケース:MCPによる会話型仮想マシン管理

OpsNowでは、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。

  1. OpsNow FinOpsとMCPの結合

    • Third Parties MCP Server
      • 既に公開されている様々な外部MCPサーバーと接続され、機能を拡張できます。
    • LLM Vendor Desktop Application (Claude)
      • ClaudeはAnthropicの高性能LLMで、様々なMCPサーバーと接続され、ユーザーのコマンドを自然言語で処理します。Claudeはユーザーのリクエストを受けて適切なMCPサーバーを呼び出し、外部システムとの相互作用を主導します。
    • OpsNow MCP Server
      • ClaudeはOpsNowのクラウドコストおよびアセット情報にアクセスするため、別途構築した2つのMCPサーバーと接続されます。
        • OpsNow Cost MCP Server:OpsNowのクラウドコスト情報を照会します。
        • OpsNow Asset MCP Server:使用中のアセット(サーバー、ネットワーク、DBなど)に関する情報を提供する役割を担います。
    • OpsNow MCP Provider
      • MCPサーバーは内部的にOpsNow MCP Providerと接続されています。このコンポーネントはClaude MCPのリクエストを実際のOpsNow APIにブリッジする役割を果たします。
    • OpsNow Resources
      • 実際のデータを提供する主体はOpsNow内部システム(OpsNow Resources)です。
    既存のFinOpsのサービスやリソースをOpsNow Resourcesとする際、緑色の部分を簡単に開発しながらMCPの活用性を見てみましょう。現在は実際のデータ環境ではなく、テスト目的のダミーデータによる動作を実行いたします。

OpsNow MCP Provider

このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:

FastAPIベースの非同期ウェブサーバー

  • アセット照会用APIクライアント(asset_api_client.py)
  • コスト照会用APIクライアント(cost_api_client.py)
  • MCPサーバーのリクエストを処理するメインアプリ(main.py)

main.py: MCP リクエストを処理するためのエントリポイント

Python

from fastapi import FastAPI
from asset_api_client import get_assets
from cost_api_client import get_costs

app = FastAPI()

@app.get("/health")
async def health_check():
    return {"status": "ok"}

@app.get("/assets")
async def get_assets_data():
    return await get_assets()

@app.get("/costs")
async def get_costs_data():
    return await get_costs()
  • /assets: Claude がアセットリストをリクエストしたときに呼び出される API エンドポイント
  • /cost: Claude がコストデータをリクエストしたときに呼び出される API エンドポイント
  • /health: MCP サーバーのステータスを確認するために使用されるヘルスチェックエンドポイント

cost_api_client.py: コストデータを提供

Python

async def get_costs():
    return {
        "costs": [
            {
                "cloud_provider": "<CSP_NAME>",  # Example: AWS, Azure, GCP, etc.
                "monthly_costs": [
                    {
                        "month": "<YYYY-MM>",  # Example: 2025-03
                        "total": "<TOTAL_COST>",
                        "by_service": {
                            "<SERVICE_NAME_1>": "<COST_1>",
                            "<SERVICE_NAME_2>": "<COST_2>",
                            # ...
                        }
                    },
                    # ...Multiple monthly cost data
                ]
            },
            # ...Multiple CSP
        ]
    }

  • 実際の OpsNow API 統合ではなく、ダミーデータに基づいてコストデータを提供します。
  • クロードが「今月の費用はいくらですか?」などのリクエストを受け取ったとき、このデータは返却されます。

asset_api_client.py: アセットデータを提供

Python

async def get_assets():
    return {
        "AWS": [
            {
                "id": "<RESOURCE_ID>",
                "type": "<RESOURCE_TYPE>",  # Example: EC2, RDS 
                "region": "<REGION_CODE>",
                "status": "<STATUS>"        # Example: running, stopped 
            },
            # ...Multiple Assets
        ]
    }

  • 実際のOpsNow API統合ではなく、ダミーデータに基づくアセットリストを提供します。
  • クロードが「現在使用されているリソースは何ですか?」などのリクエストを受け取ったとき、このデータは返却されます。

実行方法

# Default Installation
pip install -r requirements.txt

# 서버 실행
python main.py

フルソースコード: オプスノウ-MCP-プロバイダー

OpsNow MCP Server

OpsNow Cost MCP Server

これからClaude MCP連携構造における「OpsNow Cost MCP Server」役割を担う部分を詳しく見てみましょう。該当コンポーネントは、Claudeデスクトップアプリケーションからのリクエストを受け取り、OpsNowコストデータをMCPプロトコルで応答するサーバーです。

この部分を始める前に、以下のドキュメントを参照することを強く推奨します。

キーテクノロジー

  • Node.js + TypeScript
  • @modelcontextprotocol /sdk: クロード MCP サーバーを開発するための公式SDK
  • ノードフェッチ:プロバイダー API との通信に使用
  • zod: スキーマ検証ライブラリ

src/index.ts: MCP サーバの初期化

JavaScript

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

// Create server instance
const server = new McpServer({
  name: "cloud-cost",
  version: "1.0.0",
});

入力スキーマの定義とツールの登録

JavaScript

server.tool(
  "get-cost",
  "Get cloud cost summary for multiple vendors and months",
  {
    vendors: z.array(z.string()).optional().describe("List of cloud vendor names"),
    months: z.array(z.string()).optional().describe("List of months in YYYY-MM format"),
  },
  async ({ vendors, months }) => {
    ...
  }
);


プロバイダー API からコストデータを取得

JavaScript

async function readCostData(): Promise<any | null> {
  const response = await fetch('http://localhost:8000/api/v1/costs/info');
  ...
  return data;
}

ビルド

# Default Installation
npm install

# Build
npm run build

フルソースコード: opsnow-mcp-コストサーバー

OpsNow アセット MCP サーバー

構造はOpsNow Cost MCPサーバーと同じなので、説明は省略します。

フルソースコード: opsnow-mcp-アセットサーバー

クロード・デスクトップでの使い方

環境設定

1。Claude デスクトップ設定 > 開発者 > 設定の編集

2。claude_desktop_config.json ファイルを開きます。

クラウドコストサーバーとクラウドアセットサーバーの設定を登録する

JavaScript

{
  "mcpServers": {
   "cloud-cost-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-cost-server/build/index.js"
      ]
    },
    "cloud-asset-server": {
      "command": "node",
      "args": [
        "/Users/tae-joolee/codeProject/opsnow-mcp-asset-server/build/index.js"
      ]
    }
  }
}

3。登録が成功したことを確認する

プロンプト入力フィールドで「Hammer2」を確認します

MCPサーバーのリストを表示するには、をクリックします。

使用例

Claude Desktop Agentのパワフルなパフォーマンスをベースにしており、非常に有用なポテンシャルを示しています。

1.「4月のクラウド費用はいくらですか?」

2.「3月よりは高いかな?もしそうなら、その理由は何?」

3.「クラウド利用とは?」

4.それを視覚化してほしい。

私のMCP Server配布Smithery.aiは、大規模言語モデル(LLM)の機能を拡張するためのModel Context Protocol(MCP)サーバーを検索、インストール、管理できる中央ハブです。開発者はSmitheryを通じて様々な外部ツールとデータをLLMに統合し、より強力なAIシステムを構築することができます。

Smithery.aiの主要機能

  • MCPサーバーレジストリ:Smitheryは4,500個以上のMCPサーバーを保有しており、これによってLLMが多様な機能を実行できるよう支援します。例えば、GitHub、Google Drive、PostgreSQL、Slack、Brave Searchなどとの統合が可能です。

1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。

  1. 画面右上の「+サーバーを追加」をクリックします。

  1. 自分の GitHub に登録されている MCP サーバープロジェクトを 1 つ選択してください。

  1. ここでは、opsnow-mcp-asset-server-no-server を選択します。

  1. 「作成」ボタンをクリックします。

  1. 情報を入力し、[保存] ボタンをクリックします。

  1. デプロイは自動的に実行されます (ただし、手動で行うこともできます)。

デプロイされた MCP サーバーの登録

1。claude_desktop_config.json ファイルを開きます。

の MCP サーバ情報を登録します クラウドコストサーバークラウドアセットサーバー

{
  "mcpServers": {
    "opsnow-mcp-cost-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-cost-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    },
    "opsnow-mcp-asset-server-no-server": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@taejulee/opsnow-mcp-asset-server-no-server",
        "--key",
        "19e6494b-1fc7-47dc-81fb-2c26fb2f0277"
      ]
    }
  }
}

将来の拡張提案:Claude MCP ベースの OpsNow 統合アーキテクチャ

  • OpsNow Desktop Application
    • Claude、ChatGPTなどMCPをサポートする様々なLLMデスクトップアプリを統合的に制御するハイブリッドデスクトップアプリケーションです。
    • 多様なMCP対応LLMサポート(Claude、GPTなど)
    • サードパーティMCPサーバー(Sequential Thinking、Githubなど)および自社OpsNow MCP Server統合サポート
    • ユーザーが直接LLM API Keyを入力して希望するモデルを接続可能
    • OpsNow ReAct(Reasoning + Acting)フレームワークを活用したChat UI内ナチュラルワークフロー提供
    OpsNow MCP Provider
    • OpsNowのアセット、コスト、接続情報などを外部LLMに提供するAPIサービス役割を果たします。
      • OpsNow Resourceベースのデータをサーブするエンドポイントサーバー
      • License Key Manager内蔵:
        • OpsNow License Keyによる認証と権限分離
        • Key別会社IDマッピング(Company-Specific Mapping)
        • 顧客別カスタマイズ情報提供(例:特定サービス範囲のみ許可)
        • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • OpsNow API BridgeおよびConnect APIを通じた機能拡張可能
    • License Keyベース制御システム
      • すべてのMCP通信はLicense Keyベースで認証され、以下のようなセキュリティ/制御機能を提供します。
        • Key別呼び出し範囲制限(例:特定アセット照会のみ可能)
        • 顧客IDベース専用データ提供
        • 複数会社および顧客に対する拡張性保証
    • 多様なMCP互換性とサードパーティ連携
      • Claude以外にもLLMベンダーのMCPサポート強化により、GPT、GeminiなどサードパーティLLMもMCPサーバーを通じて統合可能
    今回の構造設計およびPoCを通じて、ClaudeベースAIが単純な質疑応答を超えてOpsNowのFinOpsデータを直接照会し解釈するエージェントとして拡張できることを確認しました。今後この構造を通じて以下のような可能性を発見できました:
    • 企業内すべてのリソースに対するAIベース運用分析自動化
    • 顧客カスタマイズポータル + LLMエージェント融合
    • ユーザー別LLMモデル選択 → Licenseベース制御 → 自然言語インターフェース完成
    Claude MCPは今や実験的な導入段階を超え、AI運用の核心ツールとして位置づけられています。OpsNowはこれを基盤に新しいユーザーインターフェースと高度化された顧客体験を提供する方向に飛躍しようとしています。

2. OpsNow PrimeとMCPの結合

2025年上半期にリリース予定のインストール型CMPソリューションであるOpsNow PrimeにもMCP技術を融合し、AIを通じたインフラ作業の自動化を可能にし、ユーザーが簡単なコマンドだけで複雑な作業を実行できるよう支援します。

OpsNow Primeは企業のITインフラとクラウドリソースを管理するPrivate & OnPrem Cloud Management Platformですが、ここにMCPを融合してAIアシスタントがインフラ作業を簡単に支援する例をご紹介します。簡単に言えば、チャットするようにコマンドすると仮想マシン(VM)を作成したり終了したりする作業をAIが代わりに処理してくれるのです。

例えば、管理者がOpsNowのAIチャットボットに「新しい仮想サーバーを一つ作って」とリクエストすると、AIが自動的に該当仮想化プラットフォーム(API)を呼び出してVMを作成し、結果を知らせてくれます。

以前はこのようなサービスを開発するために多くの時間と労力、リソースが必要でしたが、オープン標準であるMCPを通じれば簡単で便利に連携して、より効率的にサービスを提供できるようになりました。

OpsNowチームは自社MCPサーバーを構築し、内部システム(例:仮想化ハイパーバイザーのAPI)をMCP規格で統合しました。そしてAnthropic Claudeのような LLMをOpsNowに連携してMCPクライアントとして活用しました。その結果、Claudeのような AIモデルがOpsNow MCPサーバーを通じてProxmoxやVMwareのようなハイパーバイザーに接続し、ユーザーのコマンドを実際のインフラ作業として実行できるようになりました。

OpsNow内部にはMCP Providerというモジュールもありますが、これは複数種類のハイパーバイザーとOpsNow自体のAPIを接続してくれるアダプター役割を果たします。つまり、AIが「VMを削除して」と言えば、MCP Providerが該当VMがあるプラットフォームを特定して適切なコマンド(API呼び出し)を実行し、結果を再びMCPを通じてAIに伝達してくれます。おかげでユーザーはわざわざコンソールに入る必要なく、AIに口頭で指示するだけでインフラを制御することができます。

Claude DesktopでOpsNow Prime MCPサーバーを活用してProxmoxのVMを簡単に作成/アクティブ化し、OpsNow Primeで管理される事例をご紹介いたします。

MCPサーバーの学習から作成、構動までのプロセスについての説明です。MCPサーバーの学習はCursorを活用しました。nodeを活用するサーバーで、基本構造はGitHubのMCPリンクから取得できます。

まず基本構造を活用するため、MCPサーバー例のgit repoからcloneでソースをダウンロードし、Postmanのcollectionファイルとtsファイルを通じて学習を進めた後、OpsNow Prime MCPサーバーを作成しました。

ポストマンコレクションファイル

JavaScript

"item":[
   {
      "name":"Proxmox",
      "item":[
         {
            "name":"VM list view(PRX-IF-VM-003)",
            "request":{
               "auth":{
                  "type":"bearer",
                  ... skip
               },
               ... skip
            },
            "response":[
               {
                  "name":"VM list view(PRX-IF-VM-003)",
                  ... skip
                  ],
... skip

route.ts

JavaScript

import { Express, Request, Response } from 'express';
import { ProxmoxApiManager } from './proxmox/proxmoxApiManager';
import { getLogger } from './utils/logger';

const logger = getLogger('Routes');
const proxmoxManager = ProxmoxApiManager.getInstance();

export const setupRoutes = (app: Express) => {
  // Default health check endpoint
  app.get('/api/health', (req: Request, res: Response) => {
    res.status(200).json({ status: 'ok', message: 'Prime MCP server is operating normally.' });
  });

  // Node related endpoints
  app.get('/api/nodes', async (req: Request, res: Response) => {
    try {
      const result = await proxmoxManager.getNodes();
      res.status(200).json(result);
    } catch (error) {
      logger.error('Node list lookup failed:', error);
      res.status(500).json({ error: 'An error occurred trying to query the node list.' });
    }
  });

// ....(skip)

学習を進めた後、OpsNow Prime MCPサーバーに学習された結果としてソースファイルが生成され、これをビルドするために以下のようにコマンドを入力します。現在のnodeバージョンは20以上を使用しました。

サーバー実行に必要なモジュールをインストールし、ビルドを進めた後、サーバーが正常に稼働するかを確認します。OpsNow Prime MCPサーバーの場合、LLMモデル別に差異が存在しましたが、精度を高めるために再学習とテストを行いました。

## Check node version
node -version

## build a project
npm install & npm run build

## Check project normal startup
node dist/index.js

CursorでOpsNow Prime MCPサーバーテストを実行するよう指示すると、API呼び出しテストが進行され、問題が発生すれば自動的に修正します。エラーがないことを確認し、今作成したMCPサーバーを登録するために、Cursor上部の設定ボタンを押して登録を進めます。

左側の「MCP」をクリックして MCP 管理画面に移動します。

上の画面で「新規グローバル MCP サーバーの追加」をクリックし、ビルド後に生成される index.js ファイルの絶対パスを「args」セクションに指定します。

その後、CursorまたはClaudeを通じてサーバー生成およびインスタンス情報呼び出しコマンドを実行すると、関連APIを呼び出して要求された作業を実行します。この過程で、APIの定義または認証情報が正確でなければ複数回エラーが発生する可能性があり、Cursorを通じて自動的に再学習および再ビルドプロセスを経ることになります。

CursorでもこのMCPサーバーを活用できますが、MCPサーバーが実際にクロスプラットフォームでも正常に動作するかをテストする目的で、生成されたMCPサーバーをClaude Desktopで機能テストを実施しました。ClaudeでMCPを登録する方法は以下の通りです。

これで、学習した MCP サーバーを使用してリソースを管理する準備が整いました。クロード・デスクトップに「プライム・プロクスモックスで仮想マシンを1つ作成」と入力するだけで、OpsNow Prime MCPサーバーと連携して仮想マシンを作成することになります。

画面のようにすぐ簡単にProxmoxにVMが作成されることを確認でき、OpsNow Primeでも生成されたVMと状態を確認することができます。注目すべき点は、進行途中でストレージ接続エラーなどが発生しても、他の可能な方案を自ら判断してVM作成を問題なく完了したことです。

生成された画面はProxmoxコンソールでもリアルタイムで照会可能で、OpsNow PrimeのVM管理メニューでもリアルタイムで生成されたVMと状態を確認することができます。

それでは、作成したリソースを中止/削除しましょう。Claude Desktop で「先ほど作成した VM を削除する」と入力すると、作成した VM を停止して削除する API が自動的に呼び出されます。

Proxmoxコンソールでリアルタイムで削除されたことを確認できます。

OpsNowのMCP活用は、すでに一部機能を通じて実証されています。現在、Proxmox仮想化環境を対象にVM作成、照会、削除などの機能をMCPを通じて実装し、開発およびテストを完了しました。

続いてVM終了などの追加機能も拡張していっています。例えば、従来は管理者がProxmoxウェブインターフェースに入って手動でVMを作成していたところを、今ではOpsNow AIアシスタントにコマンドするだけで同じ作業が自動化されるのです。

興味深い点は、このような機能が特定の仮想化製品に限定されず、VMware、OpenStackなどに簡単に汎用化できることです。OpsNowチームが一度MCP標準に合わせて接続を実装したため、新しいプラットフォームを接続することも比較的容易です。また、先述したように、閉域網で運用されるデータセンター環境でもオープンソースLLMとMCPサーバーを配備すれば、このようなAI機能を同様に提供することができます。

また、OpsNow PrimeはOn-Premiseインフラ運用の観点から、リソースの生成/削除などの管理を超えて、未使用/異常リソースに対する検知および自動化対処、リソース最適化自動化、システム障害に対する自動化対処、ITSM(リソース申請/承認)に関する部分にもMCPサーバーをサポートするロードマップを持って機能開発を進めています。

OpsNowの事例で見ることができるように、MCPを導入すればAIがデータセンターの手足の役割を果たすことができるようになり、インフラ運用に新しい自動化の風を巻き起こすことが期待されます。

_______________________________________________________________________________________________________________________________________

このように、AnthropicのMCPは孤立したAIに世界の情報をもたらす万能コネクターとして登場し、徐々にその活用範囲を広げています。初期段階ではありますが、業界の多くの関心を集めており、OpsNowのような事例を通じて現実的な利点も続々と実証されています。今後MCPがどれだけ迅速に標準として定着し、私たちの日常のサービスに溶け込んでいくか、見守る価値のある部分です。データとAIをつなぐ「MCP時代」が着実に近づいています。

無料ホワイトペーパーをダウンロード
フォームを記入して、今すぐお受け取りください。
名前 *
会社名 *
電子メール *
送信ボタンをクリックすることにより、あなたはOpsNowが上記の情報を連絡先目的で保存および処理することに同意します。当社のプライバシーポリシー
(プライバシーポリシー) をご確認ください。
Thank you.
The file has been downloaded.
Please enter all required fields.