図: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が必要なデータを簡単に活用できるよう支援します。
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が注目される理由は様々な利点を持っているからです。まず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では、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。
OpsNow MCP Provider
このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:
FastAPIベースの非同期ウェブサーバー
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()
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
]
}
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
]
}
実行方法
# 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プロトコルで応答するサーバーです。
この部分を始める前に、以下のドキュメントを参照することを強く推奨します。
キーテクノロジー
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の主要機能
1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。
デプロイされた 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 統合アーキテクチャ
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時代」が着実に近づいています。
図: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が必要なデータを簡単に活用できるよう支援します。
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が注目される理由は様々な利点を持っているからです。まず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では、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。
OpsNow MCP Provider
このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:
FastAPIベースの非同期ウェブサーバー
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()
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
]
}
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
]
}
実行方法
# 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プロトコルで応答するサーバーです。
この部分を始める前に、以下のドキュメントを参照することを強く推奨します。
キーテクノロジー
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の主要機能
1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。
デプロイされた 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 統合アーキテクチャ
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時代」が着実に近づいています。
図: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が必要なデータを簡単に活用できるよう支援します。
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が注目される理由は様々な利点を持っているからです。まず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では、2つのケースを使ってMCPを活用した連携について説明いたします。実際のMCPの基本は以下のように簡単に作成できます。
OpsNow MCP Provider
このプロジェクトは、ClaudeがOpsNowのアセット(Asset)とコスト(Cost)情報を照会できるよう、MCPサーバーと通信するProvider役割を担います。全体システムは以下のように構成されます:
FastAPIベースの非同期ウェブサーバー
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()
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
]
}
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
]
}
実行方法
# 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プロトコルで応答するサーバーです。
この部分を始める前に、以下のドキュメントを参照することを強く推奨します。
キーテクノロジー
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の主要機能
1. Smitheryにログインします。画面右上のログインボタンをクリックすると、GitHubアカウントでログインする必要があります。
デプロイされた 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 統合アーキテクチャ
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時代」が着実に近づいています。