Cumulocity MCP Server について
Cumulocity MCP Serverは、Cumulocity IoTのデバイス、測定値、アラーム機能をMCPクライアントに公開します。JSONオブジェクトに対するJSONata式の評価にも対応します。
主な機能
- 01種類や名前でデバイスを検索
- 02デバイス詳細・子デバイス・フラグメントを取得
- 03期間を指定して測定値を取得
- 04重大度でアクティブなアラームを検索
- 05JSONに対してJSONata式を評価
活用シーン
- 01種類や名前を指定してデバイスを確認
- 02指定期間のデバイス測定値を調査
- 03アクティブなアラームを絞り込み監視
- 04JSONataでJSONデータを処理
MCP 対応
Cumulocityのデバイス管理、測定値、アラーム、JSONata評価のツールをMCPクライアントに公開します。ローカル実行のほか、Cumulocityのマイクロサービスとしてもデプロイできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cumulocity MCP サーバー
MCP(Model Control Protocol)インターフェースを通じて、Cumulocity IoT プラットフォームの機能を提供する Python ベースのサーバーです。このサーバーにより、Cumulocity のデバイス管理、計測値、アラームシステムをシームレスに操作できます。
利用可能なツール
デバイス管理
-
デバイスの取得
- デバイスの一覧表示と絞り込み
- パラメーター:
type:デバイスの種類で絞り込みname:デバイス名で絞り込みpage_size:1 ページあたりの結果数(最大 2000)current_page:ページ番号
-
ID によるデバイスの取得
- 特定のデバイスの詳細情報を取得
- パラメーター:
device_id:デバイス識別子
-
子デバイスの取得
- 特定のデバイスの子デバイスを表示
- パラメーター:
device_id:親デバイスの識別子
-
デバイスフラグメントの取得
- デバイスフラグメントとその値にアクセス
- パラメーター:
device_id:デバイス識別子
計測値
デバイス計測値の取得
- 時間で絞り込んでデバイスの計測値を取得
- パラメーター:
device_id:デバイス識別子date_from:開始日(ISO 8601 形式)date_to:終了日(ISO 8601 形式)page_size:取得する計測値の数
アラーム
アクティブなアラームの取得
- システム内のアクティブなアラームを監視
- パラメーター:
severity:重大度で絞り込みpage_size:取得する結果の数
動的マッパー
evaluate_jsonata_expression 指定された JSON オブジェクトに対して JSONata 式を評価します。
入力:文字列形式の JSON オブジェクトと JSONata 式の文字列。 出力:JSONata 式の評価結果。
インストールとデプロイ
ローカルインストール
uv を使用する(推奨)
uv を使用する場合、このパッケージを個別にインストールする必要はありません。uvx を使って mcp-server-c8y を直接実行します。
PIP を使用する
代わりに、pip を使って mcp-server-c8y をインストールできます。
pip install mcp-server-c8y
インストール後、次のコマンドでスクリプトとして実行できます。
python -m mcp_server_c8y
Cumulocity テナントへのデプロイ
このサーバーは、テナントと直接連携する Cumulocity マイクロサービスとしてデプロイできます。そのためには、専用のデプロイパッケージ(mcp-server-c8y.zip)を Cumulocity テナントにアップロードします。
マイクロサービスのデプロイパッケージをビルドする
- Docker と zip がシステムにインストールされていることを確認します。
- 提供されているビルドスクリプトを実行して、デプロイパッケージを作成します。
./scripts/buildcontainer.sh
これにより、次の処理が行われます。
- マイクロサービスの Docker イメージをビルドします
- イメージを
docker/ディレクトリにimage.tarとして保存します image.tarとcumulocity.jsonをdocker/mcp-server-c8y.zipにパッケージ化します
Cumulocity へのデプロイ
- マイクロサービスのデプロイ権限を持つユーザーとして、Cumulocity テナントにログインします。
- Administration > Ecosystem > Microservices に移動します。
- Add microservice をクリックし、
docker/ディレクトリにあるmcp-server-c8y.zipファイルをアップロードします。 - マイクロサービスのデプロイと起動が完了するまで待ちます。準備が完了すると、ステータスが「Available」と表示されます。
- マイクロサービスには、テナントのサービス URL(通常は次の URL)からアクセスできます。
https://<your-tenant>.cumulocity.com/service/mcp-server-c8y/mcp/
Cumulocity マイクロサービスのデプロイについて詳しくは、公式ドキュメントをご覧ください。
Claude Desktop での使用方法
この MCP サーバーは Claude Desktop と連携して、Claude が Cumulocity IoT プラットフォームとやり取りできるようにします。以下の手順で設定してください。
-
Claude Desktop をダウンロードしてインストールします。
-
この MCP サーバーを使用するように Claude Desktop を設定します。
- Claude Desktop を開きます。
- Claude メニューをクリックし、「Settings...」を選択します。
- 左側のメニューで「Developer」に移動します。
- 「Edit Config」をクリックします。
-
次の設定を
claude_desktop_config.jsonに追加します。
uvx を使用する場合
"mcpServers": {
"mcp-c8y": {
"command": "uvx",
"args": [
"mcp-server-c8y",
"--transport",
"stdio"
],
"env": {
"C8Y_BASEURL": "https://your-cumulocity-instance.com",
"C8Y_TENANT": "your-tenant-id",
"C8Y_USER": "<your-username>",
"C8Y_PASSWORD": "<your-password>"
}
}
}
次のプレースホルダーを実際の値に置き換えてください。
https://your-cumulocity-instance.com:Cumulocity インスタンスの URLyour-tenant-id:Cumulocity のテナント IDyour-username:Cumulocity のユーザー名your-password:Cumulocity のパスワード
-
Claude Desktop を再起動します。
-
入力ボックスの右下にハンマーアイコンが表示されます。クリックすると、利用可能な Cumulocity ツールを確認できます。
Claude Desktop で MCP サーバーを使用する方法の詳細については、公式 MCP ドキュメントをご覧ください。
Cursor MCP サーバー設定の例
Cursor を使用していて、MCP サーバーを Cumulocity テナントにデプロイしている場合は、.cursor/mcp.json ファイルを使用して MCP サーバーへの接続を設定できます。例(機密情報は匿名化されています)。
{
"mcpServers": {
"Cumulocity": {
"url": "https://your-cumulocity-instance.com/service/mcp-server-c8y/mcp/",
"headers": {
"Authorization": "Basic <YOUR_BASE64_AUTH_TOKEN>"
}
}
}
}
https://your-cumulocity-instance.com:Cumulocity インスタンスの URL<YOUR_BASE64_AUTH_TOKEN>を実際の Base64 エンコード済み認証情報に置き換えてください。実際の認証情報をバージョン管理にコミットしないでください。
コントリビューション
皆さまからのコントリビューションを歓迎します。このプロジェクトに貢献する方法は次のとおりです。
- リポジトリをフォークします。
- 機能追加またはバグ修正用の新しいブランチを作成します。
- 次のベストプラクティスに従って変更を加えます。
- 明確で説明的なコミットメッセージを記述します。
- 既存のコードスタイルと規約に従います。
- 新機能のテストを追加します。
- 必要に応じてドキュメントを更新します。
- すべてのテストが成功することを確認します。
- プルリクエストを送信します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。